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

#include <cbutton.hxx>

Inheritance diagram for NXWidgets::CButton:
Inheritance graph

Public Member Functions

 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)
 
void drawOutline (CGraphicsPort *port, bool useClicked)
 
virtual void drawContents (CGraphicsPort *port)
 
void drawContents (CGraphicsPort *port, bool useClicked)
 
virtual void drawBorder (CGraphicsPort *port)
 
void drawBorder (CGraphicsPort *port, 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)
 
 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)
 

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
}
 
- 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
 

Detailed Description

Clickable button widget. Displays text within the button.

Definition at line 109 of file cbutton.hxx.

Constructor & Destructor Documentation

◆ CButton() [1/2]

NXWidgets::CButton::CButton ( const CButton button)
inlineprotected

Copy constructor is protected to prevent usage.

Definition at line 212 of file cbutton.hxx.

◆ CButton() [2/2]

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 
)

Constructor for buttons that display a string.

Parameters
pWidgetControlThe widget control 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.

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 values stored in the global g_defaultWidgetStyle object. The button will copy the properties of the style into its own internal style object.

Definition at line 110 of file cbutton.cxx.

◆ ~CButton()

virtual NXWidgets::CButton::~CButton ( )
inlinevirtual

CButton Destructor.

Definition at line 238 of file cbutton.hxx.

Member Function Documentation

◆ drawBorder() [1/2]

void CButton::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::CLabel.

Reimplemented in NXWidgets::CCheckBox, NXWidgets::CCycleButton, and NXWidgets::CStickyButton.

Definition at line 232 of file cbutton.cxx.

◆ drawBorder() [2/2]

void CButton::drawBorder ( CGraphicsPort port,
bool  useClicked 
)
protected

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.
useClickedPresent border using the 'clicked' style
See also
redraw()

Definition at line 246 of file cbutton.cxx.

◆ drawContents() [1/2]

void CButton::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::CLabel.

Reimplemented in NXWidgets::CRadioButton, NXWidgets::CCheckBox, NXWidgets::CCycleButton, and NXWidgets::CStickyButton.

Definition at line 175 of file cbutton.cxx.

◆ drawContents() [2/2]

void CButton::drawContents ( CGraphicsPort port,
bool  useClicked 
)
protected

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.
useClickedPresent contents using the 'clicked' style
See also
redraw()

Definition at line 189 of file cbutton.cxx.

◆ drawOutline() [1/2]

void CButton::drawOutline ( CGraphicsPort port)
protectedvirtual

Draws the outline of the button.

Parameters
portGraphics port to draw to.

Reimplemented in NXWidgets::CCycleButton, and NXWidgets::CStickyButton.

Definition at line 123 of file cbutton.cxx.

◆ drawOutline() [2/2]

void CButton::drawOutline ( CGraphicsPort port,
bool  useClicked 
)
protected

Draws the outline of the button.

Parameters
portGraphics port to draw to.
useClickedPresent outline using the 'clicked' style

Definition at line 135 of file cbutton.cxx.

◆ onClick()

void CButton::onClick ( nxgl_coord_t  x,
nxgl_coord_t  y 
)
protectedvirtual

Redraws the button.

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

Reimplemented from NXWidgets::CNxWidget.

Reimplemented in NXWidgets::CCheckBox, NXWidgets::CRadioButton, NXWidgets::CStickyButton, and NXWidgets::CLatchButton.

Definition at line 272 of file cbutton.cxx.

◆ onPreRelease()

void CButton::onPreRelease ( nxgl_coord_t  x,
nxgl_coord_t  y 
)
protectedvirtual

Raises an action.

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

Reimplemented from NXWidgets::CNxWidget.

Reimplemented in NXWidgets::CCycleButton.

Definition at line 284 of file cbutton.cxx.

◆ onRelease()

void CButton::onRelease ( nxgl_coord_t  x,
nxgl_coord_t  y 
)
protectedvirtual

Redraws the button.

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

Reimplemented from NXWidgets::CNxWidget.

Reimplemented in NXWidgets::CStickyButton.

Definition at line 296 of file cbutton.cxx.

◆ onReleaseOutside()

void CButton::onReleaseOutside ( nxgl_coord_t  x,
nxgl_coord_t  y 
)
protectedvirtual

Redraws the button.

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

Reimplemented from NXWidgets::CNxWidget.

Reimplemented in NXWidgets::CStickyButton, and NXWidgets::CCycleButton.

Definition at line 308 of file cbutton.cxx.


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