# WoopsiUI::Gadget Class Reference

`#include <gadget.h>`

Inheritance diagram for WoopsiUI::Gadget:

List of all members.

## Classes
struct | Flags
struct | NameValuePair
## Public Types
enum | OutlineType { OUTLINE_CLICK_DEPENDENT = 0, OUTLINE_OUT = 1, OUTLINE_IN = 2, OUTLINE_OUT_IN = 3 }
enum | CloseType { CLOSE_TYPE_CLOSE = 0, CLOSE_TYPE_HIDE = 1, CLOSE_TYPE_SHELVE = 2 }
enum | GadgetFlagType { GADGET_BORDERLESS = 0x0001, GADGET_DRAGGABLE = 0x0002, GADGET_PERMEABLE = 0x0004, GADGET_DOUBLE_CLICKABLE = 0x0008, GADGET_NO_SHIFT_CLICK_CHILDREN = 0x0010, GADGET_NO_RAISE_EVENTS = 0x0020, GADGET_DECORATION = 0x0040 }
## Public Member Functions
| Gadget (s16 x, s16 y, u16 width, u16 height, u32 flags, FontBase *font=NULL)
const s16 | getX () const
const s16 | getY () const
const u32 | getRefcon () const
const CloseType | getCloseType ()
const bool | hasFocus () const
const bool | isDeleted () const
const bool | isDrawingEnabled () const
const bool | isHidden () const
const bool | isEnabled () const
const bool | isDecoration () const
const bool | isPermeable () const
const bool | isDoubleClickable () const
const bool | isBorderless () const
const bool | isClicked () const
const bool | isShelved () const
const bool | isModal () const
const bool | getShiftClickChildren () const
void | setShiftClickChildren (const u32 shiftClickChildren)
u16 | getWidth () const
u16 | getHeight () const
Gadget * | getParent () const
Gadget * | getFocusedGadget ()
const u8 | getPhysicalScreenNumber () const
const bool | raisesEvents () const
virtual void | getPreferredDimensions (Rect &rect) const
virtual void | getClientRect (Rect &rect) const
void | getRectClippedToHierarchy (Rect &rect) const
virtual GraphicsPort * | newGraphicsPort (bool isForeground)
virtual GraphicsPort * | newGraphicsPort (Rect clipRect)
WoopsiArray< Rect > * | getForegroundRegions ()
WoopsiArray< Rect > * | getBackgroundRegions ()
FontBase * | getFont () const
const u16 | getBackColour () const
const u16 | getShineColour () const
const u16 | getHighlightColour () const
const u16 | getShadowColour () const
const u16 | getFillColour () const
const u16 | getDarkColour () const
const OutlineType | getOutlineType () const
u32 | setRefcon (u32 refcon)
void | setBorderless (bool isBorderless)
void | setDraggable (const bool isDraggable)
void | setPermeable (const bool isPermeable)
void | setDoubleClickable (const bool isDoubleClickable)
void | setOutlineType (const OutlineType outline)
void | addGadgetEventHandler (GadgetEventHandler *eventHandler)
void | removeGadgetEventHandler (GadgetEventHandler *eventHandler)
void | setRaisesEvents (const bool raisesEvents)
void | disableDrawing ()
void | enableDrawing ()
void | setBackColour (const u16 colour)
void | setShineColour (const u16 colour)
void | setHighlightColour (const u16 colour)
void | setShadowColour (const u16 colour)
void | setFillColour (const u16 colour)
void | setDarkColour (const u16 colour)
void | setCloseType (const CloseType closeType)
virtual void | setFont (FontBase *font)
virtual void | redraw ()
virtual void | erase ()
virtual bool | enable ()
virtual bool | disable ()
virtual void | close ()
virtual bool | shelve ()
virtual bool | unshelve ()
virtual bool | show ()
virtual bool | hide ()
virtual bool | click (s16 x, s16 y)
virtual bool | doubleClick (s16 x, s16 y)
virtual bool | shiftClick (s16 x, s16 y)
virtual bool | release (s16 x, s16 y)
virtual bool | drag (s16 x, s16 y, s16 vX, s16 vY)
virtual bool | keyPress (KeyCode keyCode)
virtual bool | keyRelease (KeyCode keyCode)
virtual void | lidClose ()
virtual void | lidOpen ()
virtual bool | focus ()
virtual bool | blur ()
virtual bool | moveTo (s16 x, s16 y)
virtual bool | resize (u16 width, u16 height)
virtual bool | changeDimensions (s16 x, s16 y, u16 width, u16 height)
virtual bool | raiseToTop ()
virtual bool | lowerToBottom ()
virtual bool | raiseGadgetToTop (Gadget *gadget)
virtual bool | lowerGadgetToBottom (Gadget *gadget)
void | moveChildToDeleteQueue (Gadget *gadget)
bool | moveChildToShelvedList (Gadget *gadget)
bool | moveShelvedToChildList (Gadget *gadget)
virtual void | setFocusedGadget (Gadget *gadget)
bool | checkCollision (s16 x, s16 y) const
bool | checkCollision (s16 x, s16 y, u16 width, u16 height) const
bool | checkCollision (Gadget *gadget) const
void | invalidateLowerGadgetsVisibleRectCache (Gadget *gadget)
void | unregisterChildrenFromVBL ()
void | addGadget (Gadget *gadget)
void | insertGadget (Gadget *gadget)
void | setParent (Gadget *parent)
virtual void | setDragging (u16 x, u16 y)
void | cacheVisibleRects ()
void | invalidateVisibleRectCache ()
virtual void | draw (Rect clipRect)
virtual void | eraseGadget (Gadget *gadget)
virtual void | redrawDirty (WoopsiArray< Rect > *invalidRects, Gadget *sender)
void | clipRectToHierarchy (Rect &rect) const
virtual bool | swapGadgetDepth (Gadget *gadget)
bool | swapDepth ()
void | destroy ()
bool | remove ()
bool | removeChild (Gadget *gadget)
void | addContextMenuItem (const char *name, u32 value)
virtual void | showContextMenu (s16 x, s16 y)
virtual bool | handleContextMenuSelection (const ContextMenuItem *item)
void | goModal ()
void | stopModal ()
const s32 | getGadgetIndex (const Gadget *gadget) const
const Gadget * | getChild (u32 index) const
const s32 | getChildCount () const
const s32 | getDecorationCount () const
RectCache * | getRectCache () const
## Protected Member Functions
virtual | ~Gadget ()
const s16 | calculatePhysicalScreenY (s16 y) const
const u8 | calculatePhysicalScreenNumber (s16 y) const
void | clear (Rect clipRect)
void | clear ()
void | drawChildren ()
virtual void | closeChild (Gadget *gadget)
virtual void | shelveChild (Gadget *gadget)
virtual void | redrawDirtyChildren (WoopsiArray< Rect > *invalidRects, Gadget *sender)
virtual GraphicsPort * | newInternalGraphicsPort (bool isForeground)
virtual GraphicsPort * | newInternalGraphicsPort (Rect clipRect)
void | raiseClickEvent (s16 x, s16 y)
void | raiseDoubleClickEvent (s16 x, s16 y)
void | raiseShiftClickEvent (s16 x, s16 y)
void | raiseReleaseEvent (s16 x, s16 y)
void | raiseReleaseOutsideEvent (s16 x, s16 y)
void | raiseDragEvent (s16 x, s16 y, s16 vX, s16 vY)
void | raiseMoveForwardEvent ()
void | raiseMoveBackwardEvent ()
void | raiseKeyPressEvent (KeyCode keyCode)
void | raiseKeyReleaseEvent (KeyCode keyCode)
void | raiseLidCloseEvent ()
void | raiseLidOpenEvent ()
void | raiseFocusEvent ()
void | raiseBlurEvent ()
void | raiseCloseEvent ()
void | raiseHideEvent ()
void | raiseShowEvent ()
void | raiseShelveEvent ()
void | raiseUnshelveEvent ()
void | raiseEnableEvent ()
void | raiseDisableEvent ()
void | raiseValueChangeEvent ()
void | raiseResizeEvent (u16 width, u16 height)
void | raiseMoveEvent (s16 x, s16 y, s16 vX, s16 vY)
void | raiseContextMenuSelectionEvent (const ContextMenuItem *contextMenuItem)
void | raiseActionEvent (s16 x, s16 y, s16 vX, s16 vY, KeyCode keyCode)
const s32 | getHigherVisibleGadget (const s32 startIndex) const
const s32 | getLowerVisibleGadget (const s32 startIndex) const
| Gadget (const Gadget &gadget)
## Protected Attributes
s16 | _x
s16 | _y
u16 | _width
u16 | _height
u32 | _refcon
s16 | _grabPointX
s16 | _grabPointY
s16 | _newX
s16 | _newY
u16 | _backColour
u16 | _shineColour
u16 | _highlightColour
u16 | _shadowColour
u16 | _fillColour
u16 | _darkColour
Flags | _flags
WoopsiArray< GadgetEventHandler * > | _gadgetEventHandlers
u32 | _lastClickTime
s16 | _lastClickX
s16 | _lastClickY
s16 | _doubleClickBounds
s16 | _doubleClickTime
Gadget * | _parent
Gadget * | _focusedGadget
WoopsiArray< Gadget * > | _gadgets
WoopsiArray< Gadget * > | _shelvedGadgets
u8 | _decorationCount
RectCache * | _rectCache
OutlineType | _outline
CloseType | _closeType
FontBase * | _font
WoopsiArray< NameValuePair > | _contextMenuItems

## Detailed Description

Class proving all the basic functionality of a Woopsi gadget. All Woopsi gadgets must inherit from this class.

## Member Enumeration Documentation

enum WoopsiUI::Gadget::CloseType

Enum describing the way other gadgets should behave when they try to close this gadget.

Enumerator:

  CLOSE_TYPE_CLOSE | Gadgets should call the close() method
  CLOSE_TYPE_HIDE | Gadgets should call the hide() method
  CLOSE_TYPE_SHELVE | Gadgets should call the shelve() method

enum WoopsiUI::Gadget::GadgetFlagType

Enum listing flags that can be set in the constructor's "flags" parameter.

Enumerator:

  GADGET_BORDERLESS | Gadget has no border
  GADGET_DRAGGABLE | Gadget can be dragged by the user
  GADGET_PERMEABLE | Gadget's children can exceed this gadget's edges
  GADGET_DOUBLE_CLICKABLE | Gadget can be double-clicked
  GADGET_NO_SHIFT_CLICK_CHILDREN | Gadget does not send shift clicks to children
  GADGET_NO_RAISE_EVENTS | Gadget does not raise events
  GADGET_DECORATION | Gadget is a decoration

enum WoopsiUI::Gadget::OutlineType

Enum describing the types of border around a gadget.

Enumerator:

  OUTLINE_CLICK_DEPENDENT | Border depends on current click status
  OUTLINE_OUT | Border is bevelled "out"
  OUTLINE_IN | Border is bevelled *in*
  OUTLINE_OUT_IN | Border is bevelled out and then in

## Constructor & Destructor Documentation

WoopsiUI::Gadget::Gadget | ( | s16 | x,
|  | s16 | y,
|  | u16 | width,
|  | u16 | height,
|  | u32 | flags,
|  | FontBase * | font = `NULL` |
| ) |  |  |

Constructor.

Parameters:

  | x | The x co-ordinate of the gadget.
  | y | The y co-ordinate of the gadget.
  | width | The width of the gadget.
  | height | The height of the gadget.
  | flags | Bitmask specifying some set-up values for the gadget.
  | font | Pointer to a font object to use for text output. If no object is specified the gadget will fetch the default system font from the Woopsi class.

See also:
  GadgetFlagType.

virtual WoopsiUI::Gadget::~Gadget | ( |  | ) | `[protected, virtual]`

Destructor.

WoopsiUI::Gadget::Gadget | ( | const Gadget & | gadget | ) | `[inline, protected]`

Copy constructor is protected to prevent usage.

## Member Function Documentation

void WoopsiUI::Gadget::addContextMenuItem | ( | const char * | name,
|  | u32 | value |
| ) |  |  |

Add a context menu item definition to the gadget.

Parameters:

  | name | The name of the menu item.
  | value | The value of the menu item.

void WoopsiUI::Gadget::addGadget | ( | Gadget * | gadget | ) |

Adds a gadget to this gadget's child stack. The gadget is added to the top of the stack. Note that the gadget can only be added if it is not already a child of another gadget.

Parameters:

  | gadget | A pointer to the gadget to add to the child list.

See also:
  insertGadget()

void WoopsiUI::Gadget::addGadgetEventHandler | ( | GadgetEventHandler * | eventHandler | ) | `[inline]`

Adds a gadget event handler. The event handler will receive all events raised by this gadget.

Parameters:

  | eventHandler | A pointer to the event handler.

virtual bool WoopsiUI::Gadget::blur | ( |  | ) | `[virtual]`

Remove focus from the gadget.

Returns:
  True if the gadget lost focus correctly.

Reimplemented in WoopsiUI::AmigaWindow, WoopsiUI::ContextMenu, WoopsiUI::ContextMenuItem, WoopsiUI::ScreenTitle, WoopsiUI::WindowBorderBottom, WoopsiUI::WindowBorderSide, and WoopsiUI::WindowBorderTop.

void WoopsiUI::Gadget::cacheVisibleRects | ( |  | ) |

Rebuild the list of this gadget's visible regions

const u8 WoopsiUI::Gadget::calculatePhysicalScreenNumber | ( | s16 | y | ) | const`[protected]`

Get the current physical display number for the supplied y co-ordinate. Should be used in conjunction with calculatePhysicalScreenY to convert to a y co-ordinate that can be displayed.

Parameters:

  | y | The y co-ordinate to check.

Returns:
  0 if the co-ordinate falls within the bottom screen; 1 if it falls within the top screen.

See also:
  calculatePhysicalScreenY

const s16 WoopsiUI::Gadget::calculatePhysicalScreenY | ( | s16 | y | ) | const`[protected]`

Get the current physical display co-ordinate for the supplied y co-ordinate. Woopsi treats the two displays as two viewports on the same logical space. The lower half of the range of y co-ordinates is displayed on the bottom screen, whilst the upper half of the range of y co-ordinates is displayed on the top screen. This function converts back into a value that can be displayed on one of the screens. Should be used in conjunction with calculatePhysicalScreenNumber to work out which screen to draw on.

Parameters:

  | y | The y co-ordinate to check.

Returns:
  falls within the top screen.

See also:
  calculatePhysicalScreenNumber()

virtual bool WoopsiUI::Gadget::changeDimensions | ( | s16 | x,
|  | s16 | y,
|  | u16 | width,
|  | u16 | height |
| ) |  |  | `[virtual]`

Resize and move the gadget in one operation. Only performs one redraw so it is faster than calling the two separate functions.

Parameters:

  | x | The new x co-ordinate.
  | y | The new y co-ordinate.
  | width | The new width.
  | height | The new height.

Returns:
  True if the gadget was adjusted successfully.

bool WoopsiUI::Gadget::checkCollision | ( | Gadget * | gadget | ) | const

Checks if the supplied gadget collides with this gadget.

Parameters:

  | gadget | A pointer to another gadget to check for collisions with.

Returns:
  True if a collision occurred.

bool WoopsiUI::Gadget::checkCollision | ( | s16 | x,
|  | s16 | y,
|  | u16 | width,
|  | u16 | height |
| ) |  |  | const

Checks if the supplied rectangle definition collides with this gadget.

Parameters:

  | x | The x co-ordinate of the rectangle to check.
  | y | The y co-ordinate of the rectangle to check.
  | width | The width of the rectangle to check.
  | height | The height of the rectangle to check.

Returns:
  True if a collision occurred.

bool WoopsiUI::Gadget::checkCollision | ( | s16 | x,
|  | s16 | y |
| ) |  |  | const

Checks if the supplied co-ordinates collide with this gadget.

Parameters:

  | x | The x co-ordinate to check.
  | y | The y co-ordinate to check.

Returns:
  True if a collision occurred.

void WoopsiUI::Gadget::clear | ( |  | ) | `[protected]`

Clear all visible regions of the gadget by drawing a filled rect in the background colour.

void WoopsiUI::Gadget::clear | ( | Rect | clipRect | ) | `[protected]`

Clear a region by drawing a filled rect in the background colour.

Parameters:

  | clipRect | The region to clear.

virtual bool WoopsiUI::Gadget::click | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[virtual]`

Click this gadget at the supplied co-ordinates.

Parameters:

  | x | X co-ordinate of the click.
  | y | Y co-ordinate of the click.

Returns:
  True if the click was successful.

Reimplemented in WoopsiUI::AmigaWindow, WoopsiUI::AnimButton, WoopsiUI::BitmapButton, WoopsiUI::Button, WoopsiUI::CheckBox, WoopsiUI::ContextMenuItem, WoopsiUI::ListBox, WoopsiUI::MultiLineTextBox, WoopsiUI::RadioButton, WoopsiUI::Screen, WoopsiUI::SliderHorizontal, WoopsiUI::SliderHorizontalGrip, WoopsiUI::SliderVertical, WoopsiUI::SliderVerticalGrip, WoopsiUI::TextBox, and WoopsiUI::Woopsi.

void WoopsiUI::Gadget::clipRectToHierarchy | ( | Rect & | rect | ) | const

Clips a rectangular region to the dimensions of this gadget and its ancestors.

Parameters:

  | rect | The region that needs to be clipped.

virtual void WoopsiUI::Gadget::close | ( |  | ) | `[virtual]`

Erases the gadget, marks it as deleted, and moves it to Woopsi's deletion queue. Gadgets are automatically deleted by the framework and should not be deleted externally.

virtual void WoopsiUI::Gadget::closeChild | ( | Gadget * | gadget | ) | `[protected, virtual]`

Erase and remove the supplied child gadget from this gadget and send it to the deletion queue.

Parameters:

  | gadget | The gadget to close.

See also:
  close().

void WoopsiUI::Gadget::destroy | ( |  | ) | `[inline]`

Delete this gadget. This should never be called in user code; gadget deletion is handled by Woopsi.

virtual bool WoopsiUI::Gadget::disable | ( |  | ) | `[virtual]`

Disabled the gadget.

Returns:
  True if the gadget was disabled.

void WoopsiUI::Gadget::disableDrawing | ( |  | ) | `[inline]`

Disabled drawing of this gadget. Gadgets hidden using this method will still be processed.

virtual bool WoopsiUI::Gadget::doubleClick | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[virtual]`

Double-click this gadget at the supplied co-ordinates.

Parameters:

  | x | X co-ordinate of the click.
  | y | Y co-ordinate of the click.

Returns:
  True if the click was successful.

Reimplemented in WoopsiUI::ListBox.

virtual bool WoopsiUI::Gadget::drag | ( | s16 | x,
|  | s16 | y,
|  | s16 | vX,
|  | s16 | vY |
| ) |  |  | `[virtual]`

Drag the gadget to the supplied co-ordinates.

Parameters:

  | x | The x co-ordinate of the stylus.
  | y | The y co-ordinate of the stylus.
  | vX | The horizontal distance that the stylus was dragged.
  | vY | The vertical distance that the stylus was dragged.

Returns:
  True if the drag was successful.

Reimplemented in WoopsiUI::Screen, WoopsiUI::ScrollingPanel, WoopsiUI::SliderHorizontalGrip, WoopsiUI::SliderVerticalGrip, WoopsiUI::SuperBitmap, WoopsiUI::Window, and WoopsiUI::Woopsi.

virtual void WoopsiUI::Gadget::draw | ( | Rect | clipRect | ) | `[inline, virtual]`

Draw the area of this gadget that falls within the clipping region. Called by the draw() function to draw all visible regions.

Parameters:

  | clipRect | The clipping region to draw.

See also:
  draw()

Reimplemented in WoopsiUI::AnimButton, WoopsiUI::BitmapButton, WoopsiUI::Button, WoopsiUI::Calendar, WoopsiUI::CheckBox, WoopsiUI::ContextMenu, WoopsiUI::ContextMenuItem, WoopsiUI::CycleButton, WoopsiUI::DecorationGlyphButton, WoopsiUI::DimmedScreen, WoopsiUI::Gradient, WoopsiUI::Label, WoopsiUI::ListBox, WoopsiUI::MultiLineTextBox, WoopsiUI::ProgressBar, WoopsiUI::RadioButton, WoopsiUI::RadioButtonGroup, WoopsiUI::Screen, WoopsiUI::ScreenTitle, WoopsiUI::ScrollbarHorizontal, WoopsiUI::ScrollbarVertical, WoopsiUI::ScrollingListBox, WoopsiUI::ScrollingPanel, WoopsiUI::ScrollingTextBox, WoopsiUI::SliderHorizontal, WoopsiUI::SliderHorizontalGrip, WoopsiUI::SliderVertical, WoopsiUI::SliderVerticalGrip, WoopsiUI::SuperBitmap, WoopsiUI::TextBox, WoopsiUI::Window, WoopsiUI::WindowBorderBottom, WoopsiUI::WindowBorderButton, WoopsiUI::WindowBorderSide, WoopsiUI::WindowBorderTop, and WoopsiUI::Woopsi.

void WoopsiUI::Gadget::drawChildren | ( |  | ) | `[protected]`

Draw all visible regions of this gadget's children.

virtual bool WoopsiUI::Gadget::enable | ( |  | ) | `[virtual]`

Enables the gadget.

Returns:
  True if the gadget was enabled.

void WoopsiUI::Gadget::enableDrawing | ( |  | ) | `[inline]`

Enables drawing of this gadget.

virtual void WoopsiUI::Gadget::erase | ( |  | ) | `[virtual]`

Erases the visible regions of the gadget by redrawing the gadgets behind it.

virtual void WoopsiUI::Gadget::eraseGadget | ( | Gadget * | gadget | ) | `[virtual]`

Erase a child gadget by drawing the gadgets behind it.

Parameters:

  | gadget | The child gadget to erase.

virtual bool WoopsiUI::Gadget::focus | ( |  | ) | `[virtual]`

Give the gadget focus.

Returns:
  True if the gadget received focus correctly.

Reimplemented in WoopsiUI::AmigaWindow, WoopsiUI::ContextMenu, WoopsiUI::ContextMenuItem, WoopsiUI::DecorationGlyphButton, WoopsiUI::Screen, WoopsiUI::ScreenTitle, WoopsiUI::WindowBorderBottom, WoopsiUI::WindowBorderSide, and WoopsiUI::WindowBorderTop.

const u16 WoopsiUI::Gadget::getBackColour | ( |  | ) | const`[inline]`

Gets the colour used as the background fill.

Returns:
  Background fill colour.

WoopsiArray<Rect>* WoopsiUI::Gadget::getBackgroundRegions | ( |  | ) |

Gets a pointer to the vector of all of the visible regions of this gadget, not including any covered by children.

Returns:
  A pointer to a vector of all visible regions not covered by children.

const Gadget* WoopsiUI::Gadget::getChild | ( | u32 | index | ) | const

Get the child gadget at the specified index.

Parameters:

  | index | Index of the child to retrieve.

Returns:
  Pointer to the child at the specified index.

const s32 WoopsiUI::Gadget::getChildCount | ( |  | ) | const`[inline]`

Get the quantity of child gadgets.

Returns:
  The number of child gadgets belonging to this gadget.

virtual void WoopsiUI::Gadget::getClientRect | ( | Rect & | rect | ) | const`[virtual]`

Insert the properties of the space within this gadget that is available for children into the rect passed in as a parameter. All co-ordinates are relative to this gadget.

Parameters:

  | rect | Reference to a rect to populate with data.

Reimplemented in WoopsiUI::AmigaWindow, WoopsiUI::Screen, and WoopsiUI::TextBox.

const CloseType WoopsiUI::Gadget::getCloseType | ( |  | ) | `[inline]`

Get the type of close routine that should be called by other gadgets interacting with this gadget.

Returns:
  The close type of this gadget.

const u16 WoopsiUI::Gadget::getDarkColour | ( |  | ) | const`[inline]`

Gets the colour used as the fill in scrollbar gutters.

Returns:
  Dark colour.

const s32 WoopsiUI::Gadget::getDecorationCount | ( |  | ) | const`[inline]`

Get the quantity of decoration gadgets.

Returns:
  The number of decoration gadgets belonging to this gadget.

const u16 WoopsiUI::Gadget::getFillColour | ( |  | ) | const`[inline]`

Gets the colour used as the fill in unfocused window borders.

Returns:
  Fill colour.

Gadget* WoopsiUI::Gadget::getFocusedGadget | ( |  | ) | `[inline]`

Get a pointer to this gadget's focused child.

Returns:
  This gadget's focused child.

FontBase* WoopsiUI::Gadget::getFont | ( |  | ) | const

Gets a pointer to the gadget's font.

Returns:
  A pointer to the gadget's font.

WoopsiArray<Rect>* WoopsiUI::Gadget::getForegroundRegions | ( |  | ) |

Gets a pointer to the vector of all of the visible regions of this gadget, including any covered by children.

Returns:
  A pointer to a vector of all visible regions.

const s32 WoopsiUI::Gadget::getGadgetIndex | ( | const Gadget * | gadget | ) | const

Get the index of the specified child gadget.

Parameters:

  | gadget | The gadget to get the index of.

Returns:
  The index of the gadget. -1 if the gadget is not found.

u16 WoopsiUI::Gadget::getHeight | ( |  | ) | const`[inline]`

Get the height of the gadget.

Returns:
  The gadget height.

const s32 WoopsiUI::Gadget::getHigherVisibleGadget | ( | const s32 | startIndex | ) | const`[protected]`

Get the index of the next visible gadget higher up the z-order.

Parameters:

  | startIndex | The starting index.

Returns:
  The index of the next highest visible gadget.

const u16 WoopsiUI::Gadget::getHighlightColour | ( |  | ) | const`[inline]`

Gets the colour used as the fill in focused window borders.

Returns:
  Highlight colour.

const s32 WoopsiUI::Gadget::getLowerVisibleGadget | ( | const s32 | startIndex | ) | const`[protected]`

Get the index of the next visible gadget lower down the z-order.

Parameters:

  | startIndex | The starting index.

Returns:
  The index of the next lowest visible gadget.

const OutlineType WoopsiUI::Gadget::getOutlineType | ( |  | ) | const`[inline]`

Gets the type of outline used in this gadget.

Returns:
  Outline type.

Gadget* WoopsiUI::Gadget::getParent | ( |  | ) | const`[inline]`

Get a pointer to this gadget's parent.

Returns:
  This gadget's parent.

const u8 WoopsiUI::Gadget::getPhysicalScreenNumber | ( |  | ) | const`[inline]`

Get the number of the screen that this gadget is currently displayed on.

Returns:
  0 for the touch screen, 1 for the top screen.

virtual void WoopsiUI::Gadget::getPreferredDimensions | ( | Rect & | rect | ) | const`[virtual]`

Insert the dimensions that this gadget wants to have into the rect passed in as a parameter. All co-ordinates are relative to the gadget's parent.

Parameters:

  | rect | Reference to a rect to populate with data.

Reimplemented in WoopsiUI::Calendar, WoopsiUI::CycleButton, WoopsiUI::Label, and WoopsiUI::RadioButtonGroup.

RectCache* WoopsiUI::Gadget::getRectCache | ( |  | ) | const`[inline]`

Get a pointer to the cache of visible rects.

Returns:
  A pointer to the cache of visible rects.

void WoopsiUI::Gadget::getRectClippedToHierarchy | ( | Rect & | rect | ) | const

Clips the supplied rect to the boundaries defined by this gadget and this gadget's parents.

Parameters:

  | rect | Reference to a rect to populate with data.

const u32 WoopsiUI::Gadget::getRefcon | ( |  | ) | const`[inline]`

Get the reference constant for this gadget.

Returns:
  The reference constant.

const u16 WoopsiUI::Gadget::getShadowColour | ( |  | ) | const`[inline]`

Gets the colour used as the dark edge in bevelled boxes.

Returns:
  Shadow colour.

const bool WoopsiUI::Gadget::getShiftClickChildren | ( |  | ) | const`[inline]`

Does the gadget shift-click its children?

Returns:
  True if the gadget shift-clicks its children.

const u16 WoopsiUI::Gadget::getShineColour | ( |  | ) | const`[inline]`

Gets the colour used as the light edge in bevelled boxes.

Returns:
  Shine colour.

u16 WoopsiUI::Gadget::getWidth | ( |  | ) | const`[inline]`

Get the width of the gadget.

Returns:
  The gadget width.

const s16 WoopsiUI::Gadget::getX | ( |  | ) | const

Get the x co-ordinate of the gadget in "Woopsi space".

Returns:
  Woopsi space x co-ordinate.

const s16 WoopsiUI::Gadget::getY | ( |  | ) | const

Get the y co-ordinate of the gadget in "Woopsi space".

Returns:
  Woopsi space y co-ordinate.

void WoopsiUI::Gadget::goModal | ( |  | ) |

Run the gadget modally.

Reimplemented in WoopsiUI::Woopsi.

virtual bool WoopsiUI::Gadget::handleContextMenuSelection | ( | const ContextMenuItem * | item | ) | `[virtual]`

Handle a context menu selection. Just raises the event to its own handlers.

Parameters:

  | item | The selected menu item.

const bool WoopsiUI::Gadget::hasFocus | ( |  | ) | const`[inline]`

Is the gadget active? A value of true indicates that this gadget has focus or is an ancestor of the gadget with focus.

Returns:
  True if active.

virtual bool WoopsiUI::Gadget::hide | ( |  | ) | `[virtual]`

Erases the gadget and makes it invisible. Does not re-assign focus to another gadget.

Returns:
  True if the gadget was hidden.

See also:
  show()

void WoopsiUI::Gadget::insertGadget | ( | Gadget * | gadget | ) |

Inserts a gadget into this gadget's child stack at the bottom of the stack. Note that the gadget can only be added if it is not already a child of another gadget.

Parameters:

  | gadget | A pointer to the gadget to add to the child list.

See also:
  addGadget()

void WoopsiUI::Gadget::invalidateLowerGadgetsVisibleRectCache | ( | Gadget * | gadget | ) |

Invalidate the visible region cache for all gadgets below the supplied gadget in this gadget's child stack. This will cause those gadgets to recalculate their visible regions next time they try to draw themselves.

Parameters:

  | gadget | A pointer to a child gadget.

void WoopsiUI::Gadget::invalidateVisibleRectCache | ( |  | ) |

Mark this gadget's visible region cache as invalid, and do the same to its child gadgets.

const bool WoopsiUI::Gadget::isBorderless | ( |  | ) | const`[inline]`

Does the gadget have a border?

Returns:
  True if the gadget does not have a border.

const bool WoopsiUI::Gadget::isClicked | ( |  | ) | const`[inline]`

Is the gadget clicked?

Returns:
  True if the gadget is currently clicked.

const bool WoopsiUI::Gadget::isDecoration | ( |  | ) | const`[inline]`

Is the gadget a decoration? Decoration gadgets are children of, but also an essential component of, another gadget.

Returns:
  True if the gadget is a decoration.

const bool WoopsiUI::Gadget::isDeleted | ( |  | ) | const

Has the gadget been marked for deletion? This function recurses up the gadget hierarchy and only returns true if all of the gadgets in the ancestor chain are not deleted. Gadgets marked for deletion are automatically deleted and should not be interacted with.

Returns:
  True if marked for deletion.

const bool WoopsiUI::Gadget::isDoubleClickable | ( |  | ) | const`[inline]`

IS the gadget double-clickable?

Returns:
  True if the gadget watches for double-clicks.

const bool WoopsiUI::Gadget::isDrawingEnabled | ( |  | ) | const

Is the gadget allowed to draw? This function recurses up the gadget hierarchy and only returns true if all of the gadgets in the ancestor chain are visible.

Returns:
  True if drawing is enabled.

const bool WoopsiUI::Gadget::isEnabled | ( |  | ) | const

Is the gadget enabled? This function recurses up the gadget hierarchy and only returns true if all of the gadgets in the ancestor chain are enabled.

Returns:
  True if enabled.

const bool WoopsiUI::Gadget::isHidden | ( |  | ) | const

Is the gadget hidden? This function recurses up the gadget hierarchy and returns true if any of the gadgets in the ancestor chain are hidden.

Returns:
  True if hidden.

const bool WoopsiUI::Gadget::isModal | ( |  | ) | const

Is the gadget modal? Only true if the Woopsi singleton is also modal.

Returns:
  True if the gadget is modal.

const bool WoopsiUI::Gadget::isPermeable | ( |  | ) | const`[inline]`

Are the gadget's edges permeable or solid? Permeable gadgets do not enforce their dimensions on the co-ordinates and dimensions of child gadgets.

Returns:
  True if permeable.

const bool WoopsiUI::Gadget::isShelved | ( |  | ) | const`[inline]`

Is the gadget shelved?

Returns:
  True if the gadget is shelved.

virtual bool WoopsiUI::Gadget::keyPress | ( | KeyCode | keyCode | ) | `[virtual]`

Send a keypress to the gadget.

Parameters:

  | keyCode | The keycode to send to the gadget.

Returns:
  True if the keypress was processed.

Reimplemented in WoopsiUI::MultiLineTextBox, and WoopsiUI::TextBox.

virtual bool WoopsiUI::Gadget::keyRelease | ( | KeyCode | keyCode | ) | `[virtual]`

Send a key release to the gadget.

Parameters:

  | keyCode | The keycode to send to the gadget.

Returns:
  True if the key release was processed.

virtual void WoopsiUI::Gadget::lidClose | ( |  | ) | `[virtual]`

Inform the gadget that the lid has closed.

See also:
  lidOpened()

virtual void WoopsiUI::Gadget::lidOpen | ( |  | ) | `[virtual]`

Inform the gadget that the lid has opened.

See also:
  lidClosed()

virtual bool WoopsiUI::Gadget::lowerGadgetToBottom | ( | Gadget * | gadget | ) | `[virtual]`

Lowers the supplied gadget to the bottom of this gadget's child stack. The supplied gadget pointer must be a child of this gadget.

Parameters:

  | gadget | A pointer to the child gadget to lower.

Returns:
  True if the lower was successful.

virtual bool WoopsiUI::Gadget::lowerToBottom | ( |  | ) | `[virtual]`

Lowers the gadget to the bottom of its parent's gadget stack.

Returns:
  True if the lower was successful.

void WoopsiUI::Gadget::moveChildToDeleteQueue | ( | Gadget * | gadget | ) |

Moves the supplied child gadget to the deletion queue. For framework use only.

Parameters:

  | gadget | A pointer to the child gadget.

bool WoopsiUI::Gadget::moveChildToShelvedList | ( | Gadget * | gadget | ) |

Moves the supplied child gadget to the shelved gadget list. For framework use only.

Parameters:

  | gadget | A pointer to the child gadget.

Returns:
  True if the gadget was moved successfully.

See also:
  moveShelvedToChildList()
  hide()

bool WoopsiUI::Gadget::moveShelvedToChildList | ( | Gadget * | gadget | ) |

Moves the supplied child gadget from the shelved list back to the child gadget list. For framework use only.

Parameters:

  | gadget | A pointer to the shelved gadget.

Returns:
  True if the gadget was moved successfully.

See also:
  moveChildtoShelvedList()
  show()

virtual bool WoopsiUI::Gadget::moveTo | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[virtual]`

Move the gadget to the new co-ordinates. Co-ordinates are relative to the parent gadget.

Parameters:

  | x | The new x co-ordinate.
  | y | The new y co-ordinate.

Returns:
  True if the move was successful.

virtual GraphicsPort* WoopsiUI::Gadget::newGraphicsPort | ( | Rect | clipRect | ) | `[virtual]`

Gets a pointer to a new instance of the GraphicsPort class to allow drawing within this gadget's client space. The GraphicsPort can only draw within the supplied region.

The GraphicsPort object must be deleted when it is no longer required. Drawing is clipped only to the supplied rect. If the rect is not within the region of this gadget graphical anomalies will occur. This should only be called by the Woopsi hierarchy.

Parameters:

  | clipRect | The region to clip to.

Returns:
  A pointer to a new GraphicsPort object.

virtual GraphicsPort* WoopsiUI::Gadget::newGraphicsPort | ( | bool | isForeground | ) | `[virtual]`

Gets a pointer to a new instance of the GraphicsPort class to allow drawing within this gadget's client space. The GraphicsPort object must be deleted when it is no longer required.

Parameters:

  | isForeground | True to use the foreground clipping list (draw over all space, including that overlapped by children) or background clipping list (not including that overlapped by children).

Returns:
  A pointer to a new GraphicsPort object.

virtual GraphicsPort* WoopsiUI::Gadget::newInternalGraphicsPort | ( | Rect | clipRect | ) | `[protected, virtual]`

Get a graphics port that can draw within the region of the supplied clipping rect. The port must be deleted when it is no longer required. Note that the clipping rect should be clipped to the gadget's visible region before creating the graphics port.

Returns:
  A new graphics port object.

virtual GraphicsPort* WoopsiUI::Gadget::newInternalGraphicsPort | ( | bool | isForeground | ) | `[protected, virtual]`

Get a graphics port that can draw within this gadget's region. The graphics port's drawing routines are automatically clipped to the visible areas of this gadget. Allows drawing over all regions of the gadget, including the border. The port must be deleted when it is no longer required.

Parameters:

  | isForeground | True to use the foreground clipping list (draw over all space, including that overlapped by children) or background clipping list (not including that overlapped by children).

Returns:
  A new graphics port object.

void WoopsiUI::Gadget::raiseActionEvent | ( | s16 | x,
|  | s16 | y,
|  | s16 | vX,
|  | s16 | vY,
|  | KeyCode | keyCode |
| ) |  |  | `[protected]`

Raise an action event to the event handler. This should be called when a gadget's purpose has been fulfilled. For example, in the case of a button, this event is raised when the button is released within its boundaries. The button has produced a valid click, and thus fulfilled its purpose, so it needs to raise an "action" event. Not all parameters are valid for every event, but since each gadget will raise an action event specific to its own behaviour this function allows all EventArgs values to be set.

Parameters:

  | x | The x co-ordinate of the event.
  | y | The y co-ordinate of the event.
  | vX | Horizontal difference involved in the event.
  | vY | Vertical difference involved in the event.
  | keyCode | Keycode of the event.

void WoopsiUI::Gadget::raiseBlurEvent | ( |  | ) | `[protected]`

Raise a blur event to the event handler.

void WoopsiUI::Gadget::raiseClickEvent | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[protected]`

Raise a click event to the event handler.

Parameters:

  | x | The x co-ordinate of the click.
  | y | The y co-ordinate of the click.

void WoopsiUI::Gadget::raiseCloseEvent | ( |  | ) | `[protected]`

Raise a close event to the event handler.

void WoopsiUI::Gadget::raiseContextMenuSelectionEvent | ( | const ContextMenuItem * | contextMenuItem | ) | `[protected]`

Raise a context menu selection event to the event handler.

Parameters:

  | contextMenuItem | Pointer to the menu item selected.

void WoopsiUI::Gadget::raiseDisableEvent | ( |  | ) | `[protected]`

Raise a disable event to the event handler.

void WoopsiUI::Gadget::raiseDoubleClickEvent | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[protected]`

Raise a double-click event to the event handler.

Parameters:

  | x | The x co-ordinate of the click.
  | y | The y co-ordinate of the click.

void WoopsiUI::Gadget::raiseDragEvent | ( | s16 | x,
|  | s16 | y,
|  | s16 | vX,
|  | s16 | vY |
| ) |  |  | `[protected]`

Raise a stylus drag event to the event handler.

Parameters:

  | x | The x co-ordinate of the stylus when the drag started.
  | y | The y co-ordinate of the stylus when the drag started.
  | vX | The horizontal distance dragged.
  | vY | The vertical distance dragged.

void WoopsiUI::Gadget::raiseEnableEvent | ( |  | ) | `[protected]`

Raise an enable event to the event handler.

void WoopsiUI::Gadget::raiseFocusEvent | ( |  | ) | `[protected]`

Raise a focus event to the event handler.

virtual bool WoopsiUI::Gadget::raiseGadgetToTop | ( | Gadget * | gadget | ) | `[virtual]`

Raises the supplied gadget to the top of this gadget's child stack. The supplied gadget pointer must be a child of this gadget.

Parameters:

  | gadget | A pointer to the child gadget to raise.

Returns:
  True if the raise was successful.

void WoopsiUI::Gadget::raiseHideEvent | ( |  | ) | `[protected]`

Raise a hide event to the event handler.

void WoopsiUI::Gadget::raiseKeyPressEvent | ( | KeyCode | keyCode | ) | `[protected]`

Raise a key press event to the event handler.

Parameters:

  | keyCode | The code of the key that caused the event.

void WoopsiUI::Gadget::raiseKeyReleaseEvent | ( | KeyCode | keyCode | ) | `[protected]`

Raise a key release event to the event handler.

Parameters:

  | keyCode | The code of the key that caused the event.

void WoopsiUI::Gadget::raiseLidCloseEvent | ( |  | ) | `[protected]`

Raise a lid closed event to the event handler.

void WoopsiUI::Gadget::raiseLidOpenEvent | ( |  | ) | `[protected]`

Raise a lid opened event to the event handler.

void WoopsiUI::Gadget::raiseMoveBackwardEvent | ( |  | ) | `[protected]`

Raise a move backward event to the event handler.

void WoopsiUI::Gadget::raiseMoveEvent | ( | s16 | x,
|  | s16 | y,
|  | s16 | vX,
|  | s16 | vY |
| ) |  |  | `[protected]`

Raise a move event to the event handler.

Parameters:

  | x | The new x co-ordinate of the gadget.
  | y | The new y co-ordinate of the gadget.
  | vX | The horizontal distance moved.
  | vY | The vertical distance moved.

void WoopsiUI::Gadget::raiseMoveForwardEvent | ( |  | ) | `[protected]`

Raise a move forward event to the event handler.

void WoopsiUI::Gadget::raiseReleaseEvent | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[protected]`

Raise a stylus release event to the event handler.

Parameters:

  | x | The x co-ordinate of the release.
  | y | The y co-ordinate of the release.

void WoopsiUI::Gadget::raiseReleaseOutsideEvent | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[protected]`

Raise a stylus release-outside event to the event handler.

Parameters:

  | x | The x co-ordinate of the release.
  | y | The y co-ordinate of the release.

void WoopsiUI::Gadget::raiseResizeEvent | ( | u16 | width,
|  | u16 | height |
| ) |  |  | `[protected]`

Raise a resize event to the event handler.

Parameters:

  | width | The new width of the gadget.
  | height | The new height of the gadget.

const bool WoopsiUI::Gadget::raisesEvents | ( |  | ) | const`[inline]`

Check if this gadget raises events or not.

Returns:
  True if events are enabled.

void WoopsiUI::Gadget::raiseShelveEvent | ( |  | ) | `[protected]`

Raise a shelve event to the event handler.

void WoopsiUI::Gadget::raiseShiftClickEvent | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[protected]`

Raise a shift click event to the event handler.

Parameters:

  | x | The x co-ordinate of the click.
  | y | The y co-ordinate of the click.

void WoopsiUI::Gadget::raiseShowEvent | ( |  | ) | `[protected]`

Raise a show event to the event handler.

virtual bool WoopsiUI::Gadget::raiseToTop | ( |  | ) | `[virtual]`

Raises the gadget to the top of its parent's gadget stack.

Returns:
  True if the raise was successful.

void WoopsiUI::Gadget::raiseUnshelveEvent | ( |  | ) | `[protected]`

Raise a unshelve event to the event handler.

void WoopsiUI::Gadget::raiseValueChangeEvent | ( |  | ) | `[protected]`

Raise a value change event to the event handler.

virtual void WoopsiUI::Gadget::redraw | ( |  | ) | `[virtual]`

Draws the visible regions of the gadget and the gadget's child gadgets.

virtual void WoopsiUI::Gadget::redrawDirty | ( | WoopsiArray< Rect > * | invalidRects,
|  | Gadget * | sender |
| ) |  |  | `[virtual]`

Redraw any visible regions of this gadget that have become corrupted.

Parameters:

  | invalidRects | A list of corrupt regions.
  | sender | A pointer to the gadget that corrupted the regions.

virtual void WoopsiUI::Gadget::redrawDirtyChildren | ( | WoopsiArray< Rect > * | invalidRects,
|  | Gadget * | sender |
| ) |  |  | `[protected, virtual]`

Redraws all regions of child gadgets that fall within the invalidRects regions.

Parameters:

  | invalidRects | List of invalid regions that need to be redrawn.
  | sender | Pointer to the gadget that initiated the redraw.

virtual bool WoopsiUI::Gadget::release | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[virtual]`

Release this gadget at the supplied co-ordinates

Parameters:

  | x | X co-ordinate of the release.
  | y | Y co-ordinate of the release.

Returns:
  True if the release was successful.

Reimplemented in WoopsiUI::AnimButton, WoopsiUI::BitmapButton, WoopsiUI::Button, WoopsiUI::ContextMenuItem, WoopsiUI::CycleButton, WoopsiUI::Screen, WoopsiUI::SliderHorizontalGrip, WoopsiUI::SliderVerticalGrip, WoopsiUI::Window, and WoopsiUI::Woopsi.

bool WoopsiUI::Gadget::remove | ( |  | ) |

Remove this gadget from Woopsi's gadget hierarchy. Returns responsibility for deleting the gadget back to the developer. Does not unregister the gadget from the VBL system. Does not erase the gadget from the display.

Returns:
  True if the gadget was successfully removed.

bool WoopsiUI::Gadget::removeChild | ( | Gadget * | gadget | ) |

Remove a child gadget from Woopsi's gadget hierarchy. Returns responsibility for deleting the gadget back to the developer. Does not unregister the gadget from the VBL system. Does not erase the gadget from the display.

Parameters:

  | gadget | Pointer to the gadget to remove from the hierarchy.

Returns:
  True if the gadget was succesfully removed.

void WoopsiUI::Gadget::removeGadgetEventHandler | ( | GadgetEventHandler * | eventHandler | ) |

Remove a gadget event handler.

Parameters:

  | eventHandler | A pointer to the event handler to remove.

virtual bool WoopsiUI::Gadget::resize | ( | u16 | width,
|  | u16 | height |
| ) |  |  | `[virtual]`

Resize the gadget to the new dimensions.

Parameters:

  | width | The new width.
  | height | The new height.

Returns:
  True if the resize was successful.

Reimplemented in WoopsiUI::AmigaWindow, WoopsiUI::Calendar, WoopsiUI::ContextMenu, WoopsiUI::Gradient, WoopsiUI::Label, WoopsiUI::MultiLineTextBox, WoopsiUI::RadioButtonGroup, WoopsiUI::Requester, WoopsiUI::ScrollbarHorizontal, WoopsiUI::ScrollbarVertical, WoopsiUI::ScrollingListBox, WoopsiUI::ScrollingTextBox, WoopsiUI::SliderHorizontal, and WoopsiUI::SliderVertical.

void WoopsiUI::Gadget::setBackColour | ( | const u16 | colour | ) | `[inline]`

Sets the background colour.

Parameters:

  | colour | The new background colour.

void WoopsiUI::Gadget::setBorderless | ( | bool | isBorderless | ) |

Sets this gadget's border state. This does not redraw the gadget.

Parameters:

  | isBorderless | The border state.

Reimplemented in WoopsiUI::AmigaScreen, and WoopsiUI::AmigaWindow.

void WoopsiUI::Gadget::setCloseType | ( | const CloseType | closeType | ) | `[inline]`

Sets the close type other gadgets should use when closing this gadget.

Parameters:

  | closeType | The close type to use.

void WoopsiUI::Gadget::setDarkColour | ( | const u16 | colour | ) | `[inline]`

Sets the dark colour.

Parameters:

  | colour | The new dark colour.

void WoopsiUI::Gadget::setDoubleClickable | ( | const bool | isDoubleClickable | ) | `[inline]`

Sets whether or not the gadgets processes double-clicks.

Parameters:

  | isDoubleClickable | The double-clickable state.

void WoopsiUI::Gadget::setDraggable | ( | const bool | isDraggable | ) | `[inline]`

Sets whether or not this gadget can be dragged.

Parameters:

  | isDraggable | The draggable state.

virtual void WoopsiUI::Gadget::setDragging | ( | u16 | x,
|  | u16 | y |
| ) |  |  | `[virtual]`

Notify this gadget that it is being dragged, and set its drag point.

Parameters:

  | x | The x co-ordinate of the drag position relative to this gadget.
  | y | The y co-ordinate of the drag position relative to this gadget.

Reimplemented in WoopsiUI::Window.

void WoopsiUI::Gadget::setFillColour | ( | const u16 | colour | ) | `[inline]`

Sets the fill colour.

Parameters:

  | colour | The new fill colour.

virtual void WoopsiUI::Gadget::setFocusedGadget | ( | Gadget * | gadget | ) | `[virtual]`

Sets the supplied gadget as the focused child. The gadget must be a child of this gadget.

Parameters:

  | gadget | A pointer to the child gadget.

See also:
  getFocusedGadget()

virtual void WoopsiUI::Gadget::setFont | ( | FontBase * | font | ) | `[virtual]`

Sets the font.

Parameters:

  | font | A pointer to the font to use.

Reimplemented in WoopsiUI::MultiLineTextBox, WoopsiUI::ScrollingListBox, and WoopsiUI::ScrollingTextBox.

void WoopsiUI::Gadget::setHighlightColour | ( | const u16 | colour | ) | `[inline]`

Sets the highlight colour.

Parameters:

  | colour | The new highlight colour.

void WoopsiUI::Gadget::setOutlineType | ( | const OutlineType | outline | ) | `[inline]`

Sets the outline type to use when drawing the gadget's border.

Parameters:

  | outline | The outline type.

Reimplemented in WoopsiUI::ScrollingListBox.

void WoopsiUI::Gadget::setParent | ( | Gadget * | parent | ) | `[inline]`

Set the gadget's parent to the gadget passed in as a parameter. Called automatically when a gadget is added as a child.

Parameters:

  | parent | A pointer to the parent gadget.

void WoopsiUI::Gadget::setPermeable | ( | const bool | isPermeable | ) | `[inline]`

Sets whether or not child gadgets can exceed this gadget's dimensions.

Parameters:

  | isPermeable | The permeable state.

void WoopsiUI::Gadget::setRaisesEvents | ( | const bool | raisesEvents | ) | `[inline]`

Enables or disables event firing for this gadget.

Parameters:

  | raisesEvents | True to enable events, false to disable.

u32 WoopsiUI::Gadget::setRefcon | ( | u32 | refcon | ) |

Sets this gadget's reference constant. This should be unique, at least amongst this gadget's siblings.

Parameters:

  | refcon | The reference constant.

void WoopsiUI::Gadget::setShadowColour | ( | const u16 | colour | ) | `[inline]`

Sets the shadow colour.

Parameters:

  | colour | The new shadow colour.

void WoopsiUI::Gadget::setShiftClickChildren | ( | const u32 | shiftClickChildren | ) | `[inline]`

Does the gadget shift-click its children?

Returns:
  True if the gadget shift-clicks its children.

void WoopsiUI::Gadget::setShineColour | ( | const u16 | colour | ) | `[inline]`

Sets the shine colour.

Parameters:

  | colour | The new shine colour.

virtual bool WoopsiUI::Gadget::shelve | ( |  | ) | `[virtual]`

Erases the gadget, removes it from the main hierarchy and sets it to invisible. Gadgets hidden in this way will be partioned off from other gadgets and will no longer be processed.

Returns:
  True if the gadget was shelved.

See also:
  unshelve()

virtual void WoopsiUI::Gadget::shelveChild | ( | Gadget * | gadget | ) | `[protected, virtual]`

Erase the supplied child gadget and move it out of the main child list into the shelved list. The gadget remains in memory and can be restored by calling "unshelve()" on the gadget.

Parameters:

  | gadget | The gadget to hide.

virtual bool WoopsiUI::Gadget::shiftClick | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[virtual]`

Shift-click this gadget at the supplied co-ordinates.

Parameters:

  | x | X co-ordinate of the click.
  | y | Y co-ordinate of the click.

Returns:
  True if the click was successful.

Reimplemented in WoopsiUI::Woopsi.

virtual bool WoopsiUI::Gadget::show | ( |  | ) | `[virtual]`

Draws the gadget and makes it visible. Does not steal focus from other gadgets.

Returns:
  True if the gadget was shown.

See also:
  hide()

virtual void WoopsiUI::Gadget::showContextMenu | ( | s16 | x,
|  | s16 | y |
| ) |  |  | `[virtual]`

Show the context menu for this gadget at the specified co-ordinates.

Parameters:

  | x | The x co-ordinate of the context menu, relative to the screen.
  | y | The y co-ordinate of the context menu, relative to the screen.

void WoopsiUI::Gadget::stopModal | ( |  | ) | `[inline]`

Stop the gadget running modally.

bool WoopsiUI::Gadget::swapDepth | ( |  | ) |

Swap the depth of this gadget.

Returns:
  True if the swap was successful.

virtual bool WoopsiUI::Gadget::swapGadgetDepth | ( | Gadget * | gadget | ) | `[virtual]`

Swaps the depth of the supplied child gadget.

Parameters:

  | gadget | A pointer to the child gadget that needs to swap depths.

Returns:
  True if the swap was successful.

void WoopsiUI::Gadget::unregisterChildrenFromVBL | ( |  | ) |

Removes all of this gadget's children from the list of gadgets that receive VBL notifications.

virtual bool WoopsiUI::Gadget::unshelve | ( |  | ) | `[virtual]`

Moves the gadget back into the hierarchy and redraws it. Gadgets shown in this way will be unpartioned and will be processed again.

Returns:
  True if the gadget was unshelved.

See also:
  shelve()

## Member Data Documentation

u16 WoopsiUI::Gadget::_backColour`[protected]`

Colour used as background

CloseType WoopsiUI::Gadget::_closeType`[protected]`

Type of close method that should be called for the gadget

WoopsiArray<NameValuePair> WoopsiUI::Gadget::_contextMenuItems`[protected]`

List of all context menu name/value pairs

u16 WoopsiUI::Gadget::_darkColour`[protected]`

Colour used as scrollbar gutters etc

u8 WoopsiUI::Gadget::_decorationCount`[protected]`

Total number of decoration child gadgets

s16 WoopsiUI::Gadget::_doubleClickBounds`[protected]`

Area in which a click is assumed to be a double-click

s16 WoopsiUI::Gadget::_doubleClickTime`[protected]`

VBLs within which a second click must occur to class as a double-click

u16 WoopsiUI::Gadget::_fillColour`[protected]`

Colour used as foreground fill

Flags WoopsiUI::Gadget::_flags`[protected]`

Flags struct

Gadget* WoopsiUI::Gadget::_focusedGadget`[protected]`

Pointer to the child gadget that has focus

FontBase* WoopsiUI::Gadget::_font`[protected]`

Font that the gadget will use for drawing text/glyphs

WoopsiArray<GadgetEventHandler*> WoopsiUI::Gadget::_gadgetEventHandlers`[protected]`

Pointer to list of event handlers

WoopsiArray<Gadget*> WoopsiUI::Gadget::_gadgets`[protected]`

List of child gadgets

s16 WoopsiUI::Gadget::_grabPointX`[protected]`

Physical space x co-ordinate where dragging began

s16 WoopsiUI::Gadget::_grabPointY`[protected]`

Physical space y co-ordinate where dragging began

u16 WoopsiUI::Gadget::_height`[protected]`

Height of the gadget

u16 WoopsiUI::Gadget::_highlightColour`[protected]`

Colour used as highlighted elements

u32 WoopsiUI::Gadget::_lastClickTime`[protected]`

VBL count when last clicked

s16 WoopsiUI::Gadget::_lastClickX`[protected]`

X co-ordinate of last click

s16 WoopsiUI::Gadget::_lastClickY`[protected]`

Y co-ordinate of last click

s16 WoopsiUI::Gadget::_newX`[protected]`

Physical x co-ordinate where gadget is being dragged to

s16 WoopsiUI::Gadget::_newY`[protected]`

Physical y co-ordinate where gadget is being dragged to

OutlineType WoopsiUI::Gadget::_outline`[protected]`

Type of outline the gadget uses

Gadget* WoopsiUI::Gadget::_parent`[protected]`

Pointer to the gadget's parent

RectCache* WoopsiUI::Gadget::_rectCache`[protected]`

List of the gadget's visible regions

u32 WoopsiUI::Gadget::_refcon`[protected]`

Identifying number of the gadget

u16 WoopsiUI::Gadget::_shadowColour`[protected]`

Colour used as dark bevel edge

WoopsiArray<Gadget*> WoopsiUI::Gadget::_shelvedGadgets`[protected]`

List of shelved child gadgets

u16 WoopsiUI::Gadget::_shineColour`[protected]`

Colour used as light bevel edge

u16 WoopsiUI::Gadget::_width`[protected]`

Width of the gadget

s16 WoopsiUI::Gadget::_x`[protected]`

X co-ordinate of the gadget, relative to parent

s16 WoopsiUI::Gadget::_y`[protected]`

Y co-ordinate of the gadget, relative to parent

The documentation for this class was generated from the following file:

- C:/Documents and Settings/Administrator/Desktop/woopsi-src-0.40/Woopsi/libwoopsi/include/gadget.h