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

#include <csliderhorizontal.hxx>

Inheritance diagram for NXWidgets::CSliderHorizontal:
Inheritance graph

Public Member Functions

 CSliderHorizontal (CWidgetControl *pWidgetControl, nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height)
 
virtual ~CSliderHorizontal (void)
 
const int getMinimumValue (void) const
 
const int getMaximumValue (void) const
 
const int getValue (void) const
 
const nxgl_coord_t getPageSize (void) const
 
void setMinimumValue (const int value)
 
void setMaximumValue (const int value)
 
void setValue (const int value)
 
void setValueWithBitshift (const int32_t value)
 
void setPageSize (const nxgl_coord_t pageSize)
 
virtual void handleDragEvent (const CWidgetEventArgs &e)
 
nxgl_coord_t getMinimumStep (void) const
 
- Public Member Functions inherited from NXWidgets::ISlider
virtual ~ISlider (void)
 
- 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)
 
virtual void getPreferredDimensions (CRect &rect) const
 
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)
 
virtual void setFont (CNxFont *font)
 
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)
 
- Public Member Functions inherited from NXWidgets::CWidgetEventHandler
 CWidgetEventHandler ()
 
virtual ~CWidgetEventHandler ()
 
virtual void handleClickEvent (const CWidgetEventArgs &e)
 
virtual void handleDropEvent (const CWidgetEventArgs &e)
 
virtual void handleReleaseEvent (const CWidgetEventArgs &e)
 
virtual void handleReleaseOutsideEvent (const CWidgetEventArgs &e)
 
virtual void handleKeyPressEvent (const CWidgetEventArgs &e)
 
virtual void handleCursorControlEvent (const CWidgetEventArgs &e)
 
virtual void handleFocusEvent (const CWidgetEventArgs &e)
 
virtual void handleBlurEvent (const CWidgetEventArgs &e)
 
virtual void handleCloseEvent (const CWidgetEventArgs &e)
 
virtual void handleHideEvent (const CWidgetEventArgs &e)
 
virtual void handleShowEvent (const CWidgetEventArgs &e)
 
virtual void handleEnableEvent (const CWidgetEventArgs &e)
 
virtual void handleDisableEvent (const CWidgetEventArgs &e)
 
virtual void handleValueChangeEvent (const CWidgetEventArgs &e)
 
virtual void handleResizeEvent (const CWidgetEventArgs &e)
 
virtual void handleMoveEvent (const CWidgetEventArgs &e)
 
virtual void handleScrollEvent (const CWidgetEventArgs &e)
 
virtual void handleDoubleClickEvent (const CWidgetEventArgs &e)
 
virtual void handleActionEvent (const CWidgetEventArgs &e)
 

Protected Member Functions

int32_t getPhysicalMaximumValueWithBitshift (void) const
 
const int32_t getGripValue (void) const
 
virtual void drawContents (CGraphicsPort *port)
 
virtual void drawBorder (CGraphicsPort *port)
 
virtual void onResize (nxgl_coord_t width, nxgl_coord_t height)
 
virtual void onClick (nxgl_coord_t x, nxgl_coord_t y)
 
 CSliderHorizontal (const CSliderHorizontal &sliderHorizontal)
 
void resizeGrip (void)
 
- 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 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 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

CSliderHorizontalGripm_grip
 
int m_minimumValue
 
int m_maximumValue
 
int32_t m_value
 
nxgl_coord_t m_minimumGripWidth
 
nxgl_coord_t m_pageSize
 
int32_t m_gutterWidth
 
uint32_t m_contentSize
 
- 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::CNxWidget
enum  WidgetFlagType {
  WIDGET_BORDERLESS = 0x0001, WIDGET_DRAGGABLE = 0x0002, WIDGET_PERMEABLE = 0x0004, WIDGET_DOUBLE_CLICKABLE = 0x0008,
  WIDGET_NO_RAISE_EVENTS = 0x0010
}
 

Detailed Description

Widget providing a sliding "grip" that can be moved left and right in the "gutter". Essentially a scrollbar, but more generic.

Definition at line 109 of file csliderhorizontal.hxx.

Constructor & Destructor Documentation

◆ CSliderHorizontal() [1/2]

NXWidgets::CSliderHorizontal::CSliderHorizontal ( const CSliderHorizontal sliderHorizontal)
inlineprotected

Copy constructor is protected to prevent usage.

Definition at line 184 of file csliderhorizontal.hxx.

◆ CSliderHorizontal() [2/2]

CSliderHorizontal::CSliderHorizontal ( CWidgetControl pWidgetControl,
nxgl_coord_t  x,
nxgl_coord_t  y,
nxgl_coord_t  width,
nxgl_coord_t  height 
)

Constructor.

Parameters
pWidgetControlThe widget control instance for the window.
xThe x coordinate of the slider, relative to its parent.
yThe y coordinate of the slider, relative to its parent.
widthThe width of the slider.
heightThe height of the slider.

Constructor.

Parameters
pWidgetControlThe controlling widget for the display
xThe x coordinate of the slider, relative to its parent.
yThe y coordinate of the slider, relative to its parent.
widthThe width of the slider.
heightThe height of the slider.

Definition at line 104 of file csliderhorizontal.cxx.

◆ ~CSliderHorizontal()

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

Destructor.

Definition at line 213 of file csliderhorizontal.hxx.

Member Function Documentation

◆ drawBorder()

void CSliderHorizontal::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::CNxWidget.

Definition at line 311 of file csliderhorizontal.cxx.

◆ drawContents()

void CSliderHorizontal::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::CNxWidget.

Definition at line 293 of file csliderhorizontal.cxx.

◆ getGripValue()

const int32_t CSliderHorizontal::getGripValue ( void  ) const
protected

Get the value represented by the top of the grip. return The value represented by the top of the grip.

Definition at line 271 of file csliderhorizontal.cxx.

◆ getMaximumValue()

const int NXWidgets::CSliderHorizontal::getMaximumValue ( void  ) const
inlinevirtual

Get the largest value that the slider can represent.

Returns
The largest value.

Implements NXWidgets::ISlider.

Definition at line 232 of file csliderhorizontal.hxx.

◆ getMinimumStep()

nxgl_coord_t CSliderHorizontal::getMinimumStep ( void  ) const

Get the smallest value that the slider can move through when dragged.

Returns
The smallest value that the slider can move through when dragged.

Definition at line 230 of file csliderhorizontal.cxx.

◆ getMinimumValue()

const int NXWidgets::CSliderHorizontal::getMinimumValue ( void  ) const
inlinevirtual

Get the smallest value that the slider can represent.

Returns
The smallest value.

Implements NXWidgets::ISlider.

Definition at line 221 of file csliderhorizontal.hxx.

◆ getPageSize()

const nxgl_coord_t NXWidgets::CSliderHorizontal::getPageSize ( void  ) const
inlinevirtual

Get the value represented by the height of the grip. For sliders, this would typically be 1 (so each new grip position is worth 1). For scrollbars, this would be the height of the scrolling widget.

Returns
The page size.

Implements NXWidgets::ISlider.

Definition at line 257 of file csliderhorizontal.hxx.

◆ getPhysicalMaximumValueWithBitshift()

int32_t CSliderHorizontal::getPhysicalMaximumValueWithBitshift ( void  ) const
protected

Get the maximum possible value that the slider can represent. Useful when using the slider as a scrollbar, as the height of the grip prevents the full range of values being accessed (intentionally). The returned value is shifted left 16 places for more accuracy in fixed-point calculations.

Returns
The maximum possible value that the slider can represent.

Get the maximum possible value that the slider can represent. Useful when using the slider as a scrollbar, as the height of the grip prevents the full range of values being accessed (intentionally). The returned value is bitshfted left 16 places for more accuracy in fixed-point calculations.

Returns
The maximum possible value that the slider can represent.

Definition at line 257 of file csliderhorizontal.cxx.

◆ getValue()

const int NXWidgets::CSliderHorizontal::getValue ( void  ) const
inlinevirtual

Get the current value of the slider.

return The current slider value.

Implements NXWidgets::ISlider.

Definition at line 243 of file csliderhorizontal.hxx.

◆ handleDragEvent()

void CSliderHorizontal::handleDragEvent ( const CWidgetEventArgs e)
virtual

Process events fired by the grip.

Parameters
eThe event details.

Reimplemented from NXWidgets::CWidgetEventHandler.

Definition at line 202 of file csliderhorizontal.cxx.

◆ onClick()

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

Moves the grip towards the mouse.

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

Reimplemented from NXWidgets::CNxWidget.

Definition at line 357 of file csliderhorizontal.cxx.

◆ onResize()

void CSliderHorizontal::onResize ( nxgl_coord_t  width,
nxgl_coord_t  height 
)
protectedvirtual

Resize the slider to the new dimensions.

Parameters
widthThe new width.
heightThe new height.

Reimplemented from NXWidgets::CNxWidget.

Definition at line 329 of file csliderhorizontal.cxx.

◆ resizeGrip()

void CSliderHorizontal::resizeGrip ( void  )
protected

Resize and redraw the grip.

Definition at line 379 of file csliderhorizontal.cxx.

◆ setMaximumValue()

void NXWidgets::CSliderHorizontal::setMaximumValue ( const int  value)
inlinevirtual

Set the largest value that the slider can represent.

Parameters
valueThe largest value.

Implements NXWidgets::ISlider.

Definition at line 281 of file csliderhorizontal.hxx.

◆ setMinimumValue()

void NXWidgets::CSliderHorizontal::setMinimumValue ( const int  value)
inlinevirtual

Set the smallest value that the slider can represent.

Parameters
valueThe smallest value.

Implements NXWidgets::ISlider.

Definition at line 268 of file csliderhorizontal.hxx.

◆ setPageSize()

void NXWidgets::CSliderHorizontal::setPageSize ( const nxgl_coord_t  pageSize)
inlinevirtual

Set the page size represented by the grip.

Parameters
pageSizeThe page size.
See also
getPageSize().

Implements NXWidgets::ISlider.

Definition at line 315 of file csliderhorizontal.hxx.

◆ setValue()

void CSliderHorizontal::setValue ( const int  value)
virtual

Set the value that of the slider. This will reposition and redraw the grip.

Parameters
valueThe new value.

Implements NXWidgets::ISlider.

Definition at line 140 of file csliderhorizontal.cxx.

◆ setValueWithBitshift()

void CSliderHorizontal::setValueWithBitshift ( const int32_t  value)
virtual

Set the value that of the slider. This will reposition and redraw the grip. The supplied value should be shifted left 16 places. This ensures greater accuracy than the standard setValue() method if the slider is being used as a scrollbar.

Parameters
valueThe new value.

Set the value that of the slider. This will reposition and redraw the grip. The supplied value should be bitshifted left 16 places. This ensures greater accuracy than the standard setValue() method if the slider is being used as a scrollbar.

Parameters
valueThe new value.

Implements NXWidgets::ISlider.

Definition at line 154 of file csliderhorizontal.cxx.

Member Data Documentation

◆ m_contentSize

uint32_t NXWidgets::CSliderHorizontal::m_contentSize
protected

Number of values in the min/max range.

Definition at line 121 of file csliderhorizontal.hxx.

◆ m_grip

CSliderHorizontalGrip* NXWidgets::CSliderHorizontal::m_grip
protected

Pointer to the grip.

Definition at line 112 of file csliderhorizontal.hxx.

◆ m_gutterWidth

int32_t NXWidgets::CSliderHorizontal::m_gutterWidth
protected

Width of the gutter, taking into account any adjustments made to the width of the grip.

Definition at line 119 of file csliderhorizontal.hxx.

◆ m_maximumValue

int NXWidgets::CSliderHorizontal::m_maximumValue
protected

Maximum value that the grip can represent.

Definition at line 114 of file csliderhorizontal.hxx.

◆ m_minimumGripWidth

nxgl_coord_t NXWidgets::CSliderHorizontal::m_minimumGripWidth
protected

Smallest width that the grip can become

Definition at line 116 of file csliderhorizontal.hxx.

◆ m_minimumValue

int NXWidgets::CSliderHorizontal::m_minimumValue
protected

Minimum value that the grip can represent.

Definition at line 113 of file csliderhorizontal.hxx.

◆ m_pageSize

nxgl_coord_t NXWidgets::CSliderHorizontal::m_pageSize
protected

Value of a page of data, used when clicking the gutter.

Definition at line 117 of file csliderhorizontal.hxx.

◆ m_value

int32_t NXWidgets::CSliderHorizontal::m_value
protected

Current value of the slider.

Definition at line 115 of file csliderhorizontal.hxx.


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