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

#include <cstickybutton.hxx>

Inheritance diagram for NXWidgets::CStickyButton:
Inheritance graph

Public Member Functions

 CStickyButton (CWidgetControl *pWidgetControl, nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, const CNxString &text, CWidgetStyle *style=(CWidgetStyle *) NULL)
 
virtual ~CStickyButton (void)
 
void setStuckDown (bool stuckDown)
 
void toggleStuckDown (void)
 
const bool isStuckDown (void) const
 
- Public Member Functions inherited from NXWidgets::CButton
 CButton (CWidgetControl *pWidgetControl, nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, const CNxString &text, CWidgetStyle *style=(CWidgetStyle *) NULL)
 
virtual ~CButton ()
 
- Public Member Functions inherited from NXWidgets::CLabel
 CLabel (CWidgetControl *pWidgetControl, nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, const CNxString &text, CWidgetStyle *style=(CWidgetStyle *) NULL)
 
virtual ~CLabel ()
 
virtual void setTextAlignmentHoriz (TextAlignmentHoriz alignment)
 
virtual void setTextAlignmentVert (TextAlignmentVert alignment)
 
const TextAlignmentHoriz getTextAlignmentHoriz (void) const
 
const TextAlignmentVert getTextAlignmentVert (void) const
 
virtual const CNxStringgetText (void) const
 
virtual void setText (const CNxString &text)
 
virtual void appendText (const CNxString &text)
 
virtual void insertText (const CNxString &text, const int index)
 
virtual void highlight (bool highlightOn)
 
virtual bool isHighlighted (void) const
 
virtual void getPreferredDimensions (CRect &rect) const
 
virtual void setFont (CNxFont *font)
 
virtual bool isTextChange (void) const
 
- 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)
 
CNxWidgetgetParent (void) const
 
CNxWidgetgetFocusedWidget (void)
 
void getClientRect (CRect &rect) const
 
void getRect (CRect &rect) const
 
CNxFontgetFont (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 CWidgetStylegetWidgetStyle () 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 CNxWidgetgetChild (int index) const
 
int getChildCount (void) const
 
void setBorderSize (const WidgetBorderSize &borderSize)
 

Protected Member Functions

virtual void drawOutline (CGraphicsPort *port)
 
virtual void drawContents (CGraphicsPort *port)
 
virtual void drawBorder (CGraphicsPort *port)
 
virtual void onClick (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)
 
 CStickyButton (const CStickyButton &button)
 
- Protected Member Functions inherited from NXWidgets::CButton
void drawOutline (CGraphicsPort *port, bool useClicked)
 
void drawContents (CGraphicsPort *port, bool useClicked)
 
void drawBorder (CGraphicsPort *port, bool useClicked)
 
virtual void onPreRelease (nxgl_coord_t x, nxgl_coord_t y)
 
 CButton (const CButton &button)
 
- Protected Member Functions inherited from NXWidgets::CLabel
virtual void onResize (nxgl_coord_t width, nxgl_coord_t height)
 
virtual void calculateTextPositionVertical (void)
 
virtual void calculateTextPositionHorizontal (void)
 
virtual void onTextChange (void)
 
 CLabel (const CLabel &label)
 
- 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)
 

Protected Attributes

bool m_isStuckDown
 
- Protected Attributes inherited from NXWidgets::CLabel
CNxString m_text
 
struct nxgl_point_s m_align
 
TextAlignmentHoriz m_hAlignment
 
TextAlignmentVert m_vAlignment
 
bool m_textChange
 
bool m_highlighted
 
- Protected Attributes inherited from NXWidgets::CNxWidget
CWidgetControlm_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
 
CWidgetEventHandlerListm_widgetEventHandlers
 
struct timespec m_lastClickTime
 
nxgl_coord_t m_lastClickX
 
nxgl_coord_t m_lastClickY
 
int m_doubleClickBounds
 
CNxWidgetm_parent
 
CNxWidgetm_focusedChild
 
TNxArray< CNxWidget * > m_children
 
WidgetBorderSize m_borderSize
 

Additional Inherited Members

- Public Types inherited from NXWidgets::CLabel
enum  TextAlignmentHoriz { TEXT_ALIGNMENT_HORIZ_CENTER = 0, TEXT_ALIGNMENT_HORIZ_LEFT = 1, TEXT_ALIGNMENT_HORIZ_RIGHT = 2 }
 
enum  TextAlignmentVert { TEXT_ALIGNMENT_VERT_CENTER = 0, TEXT_ALIGNMENT_VERT_TOP = 1, TEXT_ALIGNMENT_VERT_BOTTOM = 2 }
 
- 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

CButton that sticks down when clicked.

Definition at line 105 of file cstickybutton.hxx.

Constructor & Destructor Documentation

◆ CStickyButton() [1/2]

NXWidgets::CStickyButton::CStickyButton ( const CStickyButton button)
inlineprotected

Copy constructor is protected to prevent usage. The button display is completely controlled by the externally controlled stuck state.

Definition at line 173 of file cstickybutton.hxx.

◆ CStickyButton() [2/2]

CStickyButton::CStickyButton ( CWidgetControl pWidgetControl,
nxgl_coord_t  x,
nxgl_coord_t  y,
nxgl_coord_t  width,
nxgl_coord_t  height,
const CNxString text,
CWidgetStyle style = (CWidgetStyle *)NULL 
)

Constructor for buttons that display a string.

Parameters
pWidgetControlThe controlling widget for the display.
xThe x coordinate of the button, relative to its parent.
yThe y coordinate of the button, relative to its parent.
widthThe width of the button.
heightThe height of the button.
textThe text for the button to display.
styleThe style that the button should use. If this is not specified, the button will use the global default widget style.

Definition at line 109 of file cstickybutton.cxx.

◆ ~CStickyButton()

virtual NXWidgets::CStickyButton::~CStickyButton ( void  )
inlinevirtual

Destructor.

Definition at line 201 of file cstickybutton.hxx.

Member Function Documentation

◆ drawBorder()

void CStickyButton::drawBorder ( 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
portThe CGraphicsPort to draw to.
See also
redraw()

Reimplemented from NXWidgets::CButton.

Definition at line 165 of file cstickybutton.cxx.

◆ drawContents()

void CStickyButton::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
portThe CGraphicsPort to draw to.
See also
redraw()

Reimplemented from NXWidgets::CButton.

Definition at line 152 of file cstickybutton.cxx.

◆ drawOutline()

void CStickyButton::drawOutline ( CGraphicsPort port)
protectedvirtual

Draws the outline of the button.

Parameters
portGraphics port to draw to.

Reimplemented from NXWidgets::CButton.

Definition at line 139 of file cstickybutton.cxx.

◆ isStuckDown()

const bool NXWidgets::CStickyButton::isStuckDown ( void  ) const
inline

Returns the stuck down state.

Returns
True is the button is in the stuck down state.

Definition at line 228 of file cstickybutton.hxx.

◆ onClick()

virtual void NXWidgets::CStickyButton::onClick ( nxgl_coord_t  x,
nxgl_coord_t  y 
)
inlineprotectedvirtual

Don't redraw on button press events. The button display is completely controlled by the externally controlled stuck state.

Parameters
xThe x coordinate of the click.
yThe y coordinate of the click.

Reimplemented from NXWidgets::CButton.

Reimplemented in NXWidgets::CLatchButton.

Definition at line 146 of file cstickybutton.hxx.

◆ onRelease()

virtual void NXWidgets::CStickyButton::onRelease ( nxgl_coord_t  x,
nxgl_coord_t  y 
)
inlineprotectedvirtual

Don't redraw on button release events. The button display is completely controlled by the externally controlled stuck state.

Parameters
xThe x coordinate of the mouse.
yThe y coordinate of the mouse.

Reimplemented from NXWidgets::CButton.

Definition at line 156 of file cstickybutton.hxx.

◆ onReleaseOutside()

virtual void NXWidgets::CStickyButton::onReleaseOutside ( nxgl_coord_t  x,
nxgl_coord_t  y 
)
inlineprotectedvirtual

Don't redraw on button release events. The button display is completely controlled by the externally controlled stuck state.

Parameters
xThe x coordinate of the mouse.
yThe y coordinate of the mouse.

Reimplemented from NXWidgets::CButton.

Definition at line 166 of file cstickybutton.hxx.

◆ setStuckDown()

void CStickyButton::setStuckDown ( bool  stuckDown)

Sets the key's stuck down state. If this is true, the key has a inwards-bevelled border when drawn. If it is false, the key has an outwards-bevelled border.

Parameters
stuckDownThe new stuck down state.

Definition at line 127 of file cstickybutton.cxx.

◆ toggleStuckDown()

void NXWidgets::CStickyButton::toggleStuckDown ( void  )
inline

Toggles the key's stuck down state.

Definition at line 217 of file cstickybutton.hxx.

Member Data Documentation

◆ m_isStuckDown

bool NXWidgets::CStickyButton::m_isStuckDown
protected

True if the key is stuck down

Definition at line 108 of file cstickybutton.hxx.


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