NXWidgets: NXWidgets::CStickyButtonArray Class Reference

NXWidgets 1.19

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NXWidgets::CStickyButtonArray Class Reference

`#include <cstickybuttonarray.hxx>`

Inheritance diagram for NXWidgets::CStickyButtonArray:

## Public Member Functions
| CStickyButtonArray (CWidgetControl *pWidgetControl, nxgl_coord_t x, nxgl_coord_t y, uint8_t buttonColumns, uint8_t buttonRows, nxgl_coord_t buttonWidth, nxgl_coord_t buttonHeight, CWidgetStyle *style=(CWidgetStyle *) NULL)
virtual | ~CStickyButtonArray (void)
virtual bool | isAnyButtonStuckDown (int &column, int &row) const
virtual bool | isThisButtonStuckDown (int column, int row) const
virtual bool | stickDown (int column, int row)
virtual void | unstick (void)
Public Member Functions inherited from NXWidgets::CButtonArray
| CButtonArray (CWidgetControl *pWidgetControl, nxgl_coord_t x, nxgl_coord_t y, uint8_t buttonColumns, uint8_t buttonRows, nxgl_coord_t buttonWidth, nxgl_coord_t buttonHeight, CWidgetStyle *style=(CWidgetStyle *) NULL)
| ~CButtonArray (void)
virtual const CNxString & | getText (int column, int row) const
virtual void | setText (int column, int row, const CNxString &text)
virtual bool | isButtonClicked (int &column, int &row) const
virtual bool | isThisButtonClicked (int column, int row) const
virtual void | cursor (bool cursorOn)
virtual bool | getCursorPosition (int &column, int &row) const
virtual bool | setCursorPosition (int column, int row)
virtual bool | isCursorPosition (int column, int row) const
virtual void | getPreferredDimensions (CRect &rect) const
virtual void | setFont (CNxFont *font)
Public Member Functions inherited from NXWidgets::CNxWidget
| CNxWidget (CWidgetControl *pWidgetControl, nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, uint32_t flags, FAR const CWidgetStyle *style=(FAR const CWidgetStyle *) NULL)
virtual | ~CNxWidget (void)
nxgl_coord_t | getX (void) const
nxgl_coord_t | getY (void) const
nxgl_coord_t | getRelativeX (void) const
nxgl_coord_t | getRelativeY (void) const
bool | hasFocus (void) const
bool | isDeleted (void) const
bool | isDrawingEnabled (void) const
bool | isHidden (void) const
bool | isEnabled (void) const
bool | isPermeable (void) const
bool | isDoubleClickable (void) const
bool | isBorderless (void) const
bool | isClicked (void) const
bool | isBeingDragged (void) const
nxgl_coord_t | getWidth (void) const
nxgl_coord_t | getHeight (void) const
void | getSize (struct nxgl_size_s &size) const
void | getPos (struct nxgl_point_s &pos) const
CRect | getBoundingBox (void)
void | getBorderSize (WidgetBorderSize &borderSize)
CNxWidget * | getParent (void) const
CNxWidget * | getFocusedWidget (void)
void | getClientRect (CRect &rect) const
void | getRect (CRect &rect) const
CNxFont * | getFont (void) const
nxgl_mxpixel_t | getBackgroundColor (void) const
nxgl_mxpixel_t | getSelectedBackgroundColor (void) const
nxgl_mxpixel_t | getShineEdgeColor (void) const
nxgl_mxpixel_t | getShadowEdgeColor (void) const
nxgl_mxpixel_t | getHighlightColor (void) const
nxgl_mxpixel_t | getDisabledTextColor (void) const
nxgl_mxpixel_t | getEnabledTextColor (void) const
nxgl_mxpixel_t | getSelectedTextColor (void) const
const CWidgetStyle * | getWidgetStyle () const
void | setBorderless (bool isBorderless)
void | setDraggable (bool isDraggable)
void | setPermeable (bool permeable)
void | setDoubleClickable (bool doubleClickable)
void | addWidgetEventHandler (CWidgetEventHandler *eventHandler)
void | removeWidgetEventHandler (CWidgetEventHandler *eventHandler)
int | nWidgetEventHandlers (void) const
void | setRaisesEvents (bool raises)
bool | raisesEvents (void) const
void | disableDrawing (void)
void | enableDrawing (void)
void | setBackgroundColor (nxgl_mxpixel_t color)
void | setSelectedBackgroundColor (nxgl_mxpixel_t color)
void | setShineEdgeColor (nxgl_mxpixel_t color)
void | setShadowEdgeColor (nxgl_mxpixel_t color)
void | setHighlightColor (nxgl_mxpixel_t color)
void | setDisabledTextColor (nxgl_mxpixel_t color)
void | setEnabledTextColor (nxgl_mxpixel_t color)
void | setSelectedTextColor (nxgl_mxpixel_t color)
void | redraw (void)
bool | enable (void)
bool | disable (void)
void | close (void)
bool | show (void)
bool | hide (void)
virtual bool | click (nxgl_coord_t x, nxgl_coord_t y)
virtual bool | isDoubleClick (nxgl_coord_t x, nxgl_coord_t y)
bool | doubleClick (nxgl_coord_t x, nxgl_coord_t y)
bool | release (nxgl_coord_t x, nxgl_coord_t y)
bool | drag (nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t vX, nxgl_coord_t vY)
bool | keyPress (nxwidget_char_t key)
bool | cursorControl (ECursorControl control)
bool | focus (void)
bool | blur (void)
bool | moveTo (nxgl_coord_t x, nxgl_coord_t y)
bool | resize (nxgl_coord_t width, nxgl_coord_t height)
bool | changeDimensions (nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height)
void | moveChildToDeleteQueue (CNxWidget *widget)
void | setFocusedWidget (CNxWidget *widget)
virtual bool | checkCollision (nxgl_coord_t x, nxgl_coord_t y) const
virtual bool | checkCollision (nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height) const
bool | checkCollision (CNxWidget *widget) const
void | addWidget (CNxWidget *widget)
void | insertWidget (CNxWidget *widget)
void | setParent (CNxWidget *parent)
void | destroy (void)
bool | remove (void)
bool | removeChild (CNxWidget *widget)
const CNxWidget * | getChild (int index) const
int | getChildCount (void) const
void | setBorderSize (const WidgetBorderSize &borderSize)

## Protected Member Functions
virtual void | drawContents (CGraphicsPort *port)
| CStickyButtonArray (const CStickyButtonArray &button)
Protected Member Functions inherited from NXWidgets::CButtonArray
virtual void | drawBorder (CGraphicsPort *port)
virtual void | drawButton (CGraphicsPort *port, int column, int row, bool useClicked)
virtual void | onClick (nxgl_coord_t x, nxgl_coord_t y)
virtual void | onPreRelease (nxgl_coord_t x, nxgl_coord_t y)
virtual void | onRelease (nxgl_coord_t x, nxgl_coord_t y)
virtual void | onReleaseOutside (nxgl_coord_t x, nxgl_coord_t y)
virtual bool | posToButton (nxgl_coord_t x, nxgl_coord_t y, int &column, int &row)
virtual void | onTextChange (void)
| CButtonArray (const CButtonArray &button)
Protected Member Functions inherited from NXWidgets::CNxWidget
void | useWidgetStyle (const CWidgetStyle *style)
void | drawChildren (void)
void | closeChild (CNxWidget *widget)
void | startDragging (nxgl_coord_t x, nxgl_coord_t y)
void | stopDragging (nxgl_coord_t x, nxgl_coord_t y)
| CNxWidget (const CNxWidget &widget)
virtual void | onDoubleClick (nxgl_coord_t x, nxgl_coord_t y)
virtual void | onDrag (nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t vX, nxgl_coord_t vY)
virtual void | onDragStart (void)
virtual void | onDragStop (void)
virtual void | onFocus (void)
virtual void | onBlur (void)
virtual void | onEnable (void)
virtual void | onDisable (void)
virtual void | onResize (nxgl_coord_t width, nxgl_coord_t height)

## Protected Attributes
bool | m_isStuckDown
bool | m_stickDown
uint8_t | m_stickyRow
uint8_t | m_stickyColumn
Protected Attributes inherited from NXWidgets::CButtonArray
uint8_t | m_buttonColumns
uint8_t | m_buttonRows
bool | m_redrawButton
bool | m_cursorOn
bool | m_cursorChange
nxgl_coord_t | m_buttonWidth
nxgl_coord_t | m_buttonHeight
nxgl_coord_t | m_clickX
nxgl_coord_t | m_clickY
uint8_t | m_cursorColumn
uint8_t | m_cursorRow
CNxString * | m_buttonText
Protected Attributes inherited from NXWidgets::CNxWidget
CWidgetControl * | m_widgetControl
CRect | m_rect
nxgl_coord_t | m_grabPointX
nxgl_coord_t | m_grabPointY
nxgl_coord_t | m_newX
nxgl_coord_t | m_newY
CWidgetStyle | m_style
Flags | m_flags
CWidgetEventHandlerList * | m_widgetEventHandlers
struct timespec | m_lastClickTime
nxgl_coord_t | m_lastClickX
nxgl_coord_t | m_lastClickY
int | m_doubleClickBounds
CNxWidget * | m_parent
CNxWidget * | m_focusedChild
TNxArray< CNxWidget * > | m_children
WidgetBorderSize | m_borderSize

## Additional Inherited Members
Public Types inherited from NXWidgets::CNxWidget
enum | WidgetFlagType { WIDGET_BORDERLESS = 0x0001, WIDGET_DRAGGABLE = 0x0002, WIDGET_PERMEABLE = 0x0004, WIDGET_DOUBLE_CLICKABLE = 0x0008, WIDGET_NO_RAISE_EVENTS = 0x0010 }

## Detailed Description

Manages a two-dimensional array of buttons as one widget. A two- dimensional array of buttons might also be called a "keyboard".

Definition at line 77 of file cstickybuttonarray.hxx.

## Constructor & Destructor Documentation

## ◆ CStickyButtonArray() [1/2]

NXWidgets::CStickyButtonArray::CStickyButtonArray | ( | const CStickyButtonArray & | button | ) |
| inlineprotected

Copy constructor is protected to prevent usage.

Definition at line 99 of file cstickybuttonarray.hxx.

## ◆ CStickyButtonArray() [2/2]

CStickyButtonArray::CStickyButtonArray | ( | CWidgetControl * | pWidgetControl,
|  | nxgl_coord_t | x,
|  | nxgl_coord_t | y,
|  | uint8_t | buttonColumns,
|  | uint8_t | buttonRows,
|  | nxgl_coord_t | buttonWidth,
|  | nxgl_coord_t | buttonHeight,
|  | CWidgetStyle * | style = `(CWidgetStyle *)NULL`
| ) |  |

Constructor for an array of sticky buttons.

Parameters

  pWidgetControl | The widget control for the display.
  x | The x coordinate of the button array, relative to its parent.
  y | The y coordinate of the button array, relative to its parent.
  buttonColumns | The number of buttons in one row of the button array
  buttonRows | The number of buttons in one column of the button array
  buttonWidth | The width of one button
  buttonHeight | The height of one button
  style | The style that the button should use. If this is not specified, the button will use the global default widget style.

Definition at line 76 of file cstickybuttonarray.cxx.

## ◆ ~CStickyButtonArray()

virtual NXWidgets::CStickyButtonArray::~CStickyButtonArray | ( | void |  | ) |
| inlinevirtual

CStickyButtonArray Destructor.

Definition at line 128 of file cstickybuttonarray.hxx.

## Member Function Documentation

## ◆ drawContents()

void CStickyButtonArray::drawContents | ( | CGraphicsPort * | port | ) |
| protectedvirtual

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

Parameters

  port | The CGraphicsPort to draw to.

See also
  redraw()

Reimplemented from NXWidgets::CButtonArray.

Definition at line 203 of file cstickybuttonarray.cxx.

## ◆ isAnyButtonStuckDown()

bool CStickyButtonArray::isAnyButtonStuckDown | ( | int & | column,
|  | int & | row
| ) |  | const
| virtual

Return the position of the last stuck down button (0,0 will be returned the no button has every been stuck down). The button at this position is currently stuck down then, in addition, return true.

Parameters

  column | The location to return the column index of the button of interest
  row | The location to return the row index of the button of interest

Returns
  True if a button in the array is clicked

Check if any button in the array is stuck down and, if so, return the indices of the stuck down button.

Parameters

  column | The location to return the column index of the button of interest
  row | The location to return the row index of the button of interest

Returns
  True if a button in the array is clicked

Definition at line 100 of file cstickybuttonarray.cxx.

## ◆ isThisButtonStuckDown()

bool CStickyButtonArray::isThisButtonStuckDown | ( | int | column,
|  | int | row
| ) |  | const
| virtual

Check if this specific button in the array is stuck down

Parameters

  column | The column of the button to check.
  row | The row of the button to check.

Returns
  True if this button is stuck down

Definition at line 120 of file cstickybuttonarray.cxx.

## ◆ stickDown()

bool CStickyButtonArray::stickDown | ( | int | column,
|  | int | row
| ) |  |
| virtual

Force the button at this position into the stuck down state

Parameters

  column | The column containing the button to stick down
  row | The rowtcontaining the button to stick down

Returns
  False(0) is returned if the indices are out of range.

Definition at line 146 of file cstickybuttonarray.cxx.

## ◆ unstick()

void CStickyButtonArray::unstick | ( | void |  | ) |
| virtual

Unstick all buttons

Unstick all buttons.

Definition at line 177 of file cstickybuttonarray.cxx.

## Member Data Documentation

## ◆ m_isStuckDown

bool NXWidgets::CStickyButtonArray::m_isStuckDown
| protected

True if one key in the array stuck down

Definition at line 80 of file cstickybuttonarray.hxx.

## ◆ m_stickDown

bool NXWidgets::CStickyButtonArray::m_stickDown
| protected

True there is a change in a sticky button state

Definition at line 81 of file cstickybuttonarray.hxx.

## ◆ m_stickyColumn

uint8_t NXWidgets::CStickyButtonArray::m_stickyColumn
| protected

The column index of the stuck button

Definition at line 83 of file cstickybuttonarray.hxx.

## ◆ m_stickyRow

uint8_t NXWidgets::CStickyButtonArray::m_stickyRow
| protected

The row index of the stuck button

Definition at line 82 of file cstickybuttonarray.hxx.

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

- cstickybuttonarray.hxx
- cstickybuttonarray.cxx