NXWidgets: NXWidgets::CScrollbarPanel Class Reference

NXWidgets 1.19

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

`#include <cscrollbarpanel.hxx>`

Inheritance diagram for NXWidgets::CScrollbarPanel:

## Public Member Functions
| CScrollbarPanel (CWidgetControl *pWidgetControl, nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, uint32_t flags, CWidgetStyle *style=(CWidgetStyle *) NULL)
virtual void | scroll (int32_t dx, int32_t dy)
virtual void | jump (int32_t x, int32_t y)
virtual void | setAllowsVerticalScroll (bool allow)
virtual void | setAllowsHorizontalScroll (bool allow)
virtual void | setCanvasWidth (const int32_t width)
virtual void | setCanvasHeight (const int32_t height)
virtual bool | allowsVerticalScroll (void) const
virtual bool | allowsHorizontalScroll (void) const
virtual const int32_t | getCanvasX (void) const
virtual const int32_t | getCanvasY (void) const
virtual const int32_t | getCanvasWidth (void) const
virtual const int32_t | getCanvasHeight (void) const
void | handleScrollEvent (const CWidgetEventArgs &e)
void | handleValueChangeEvent (const CWidgetEventArgs &e)
CScrollingPanel * | getPanel (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)
CNxWidget * | getParent (void) const
CNxWidget * | getFocusedWidget (void)
virtual void | getPreferredDimensions (CRect &rect) const
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)
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 CNxWidget * | getChild (int index) const
int | getChildCount (void) const
void | setBorderSize (const WidgetBorderSize &borderSize)
Public Member Functions inherited from NXWidgets::IScrollable
virtual | ~IScrollable (void)
Public Member Functions inherited from NXWidgets::CWidgetEventHandler
| CWidgetEventHandler ()
virtual | ~CWidgetEventHandler ()
virtual void | handleClickEvent (const CWidgetEventArgs &e)
virtual void | handleDragEvent (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 | handleResizeEvent (const CWidgetEventArgs &e)
virtual void | handleMoveEvent (const CWidgetEventArgs &e)
virtual void | handleDoubleClickEvent (const CWidgetEventArgs &e)
virtual void | handleActionEvent (const CWidgetEventArgs &e)

## Protected Member Functions
void | buildUI (void)
virtual void | drawContents (CGraphicsPort *port)
virtual | ~CScrollbarPanel (void)
| CScrollbarPanel (const CScrollbarPanel &scrollbarPanel)
Protected Member Functions inherited from NXWidgets::CNxWidget
void | useWidgetStyle (const CWidgetStyle *style)
virtual void | drawBorder (CGraphicsPort *port)
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 | onClick (nxgl_coord_t x, nxgl_coord_t y)
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)
virtual void | onResize (nxgl_coord_t width, nxgl_coord_t height)

## Protected Attributes
CWidgetControl * | m_widgetControl
CScrollingPanel * | m_panel
CScrollbarHorizontal * | m_scrollbarHorizontal
CScrollbarVertical * | m_scrollbarVertical
uint8_t | m_scrollbarWidth
uint8_t | m_scrollbarHeight
bool | m_hasVerticalScrollbar
bool | m_hasHorizontalScrollbar
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

Class containing a scrolling panel bordered by scrollbars.

Definition at line 108 of file cscrollbarpanel.hxx.

## Constructor & Destructor Documentation

## ◆ ~CScrollbarPanel()

virtual NXWidgets::CScrollbarPanel::~CScrollbarPanel | ( | void |  | ) |
| inlineprotectedvirtual

Destructor.

Definition at line 146 of file cscrollbarpanel.hxx.

## ◆ CScrollbarPanel() [1/2]

NXWidgets::CScrollbarPanel::CScrollbarPanel | ( | const CScrollbarPanel & | scrollbarPanel | ) |
| inlineprotected

Copy constructor is protected to prevent usage.

Definition at line 152 of file cscrollbarpanel.hxx.

## ◆ CScrollbarPanel() [2/2]

CScrollbarPanel::CScrollbarPanel | ( | CWidgetControl * | pWidgetControl,
|  | nxgl_coord_t | x,
|  | nxgl_coord_t | y,
|  | nxgl_coord_t | width,
|  | nxgl_coord_t | height,
|  | uint32_t | flags,
|  | CWidgetStyle * | style = `(CWidgetStyle *)NULL`
| ) |  |

Constructor.

Parameters

  pWidgetControl | The widget control for the display.
  x | The x coordinate of the widget.
  y | The y coordinate of the widget.
  width | The width of the widget.
  height | The height of the widget.
  flags | The usual widget flags.
  style | The style that the widget should use. If this is not specified, the widget will use the values stored in the global g_defaultWidgetStyle object. The widget will copy the properties of the style into its own internal style object.

Definition at line 107 of file cscrollbarpanel.cxx.

## Member Function Documentation

## ◆ allowsHorizontalScroll()

bool CScrollbarPanel::allowsHorizontalScroll | ( | void |  | ) | const
| virtual

Returns true if horizontal scrolling is allowed.

Returns
  True if horizontal scrolling is allowed.

Implements NXWidgets::IScrollable.

Definition at line 243 of file cscrollbarpanel.cxx.

## ◆ allowsVerticalScroll()

bool CScrollbarPanel::allowsVerticalScroll | ( | void |  | ) | const
| virtual

Returns true if vertical scrolling is allowed.

Returns
  True if vertical scrolling is allowed.

Implements NXWidgets::IScrollable.

Definition at line 232 of file cscrollbarpanel.cxx.

## ◆ buildUI()

void CScrollbarPanel::buildUI | ( | void |  | ) |
| protected

Creates the child widgets.

Definition at line 355 of file cscrollbarpanel.cxx.

## ◆ drawContents()

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

Definition at line 435 of file cscrollbarpanel.cxx.

## ◆ getCanvasHeight()

const int32_t CScrollbarPanel::getCanvasHeight | ( | void |  | ) | const
| virtual

Gets the height of the virtual canvas.

Returns
  The height of the virtual canvas.

Implements NXWidgets::IScrollable.

Definition at line 287 of file cscrollbarpanel.cxx.

## ◆ getCanvasWidth()

const int32_t CScrollbarPanel::getCanvasWidth | ( | void |  | ) | const
| virtual

Gets the width of the virtual canvas.

Returns
  The width of the virtual canvas.

Implements NXWidgets::IScrollable.

Definition at line 276 of file cscrollbarpanel.cxx.

## ◆ getCanvasX()

const int32_t CScrollbarPanel::getCanvasX | ( | void |  | ) | const
| virtual

Gets the x coordinate of the virtual canvas.

Returns
  The x coordinate of the virtual canvas.

Implements NXWidgets::IScrollable.

Definition at line 254 of file cscrollbarpanel.cxx.

## ◆ getCanvasY()

const int32_t CScrollbarPanel::getCanvasY | ( | void |  | ) | const
| virtual

Gets the y coordinate of the virtual canvas.

Returns
  The y coordinate of the virtual canvas.

Implements NXWidgets::IScrollable.

Definition at line 265 of file cscrollbarpanel.cxx.

## ◆ getPanel()

CScrollingPanel* NXWidgets::CScrollbarPanel::getPanel | ( | void |  | ) |
| inline

Gets a pointer to the CScrollingPanel widget contained within this widget.

Returns
  A pointer to the CScrollingPanel widget.

Definition at line 299 of file cscrollbarpanel.hxx.

## ◆ handleScrollEvent()

void CScrollbarPanel::handleScrollEvent | ( | const CWidgetEventArgs & | e | ) |
| virtual

Handle a widget scroll event.

Parameters

  e | The event data.

Reimplemented from NXWidgets::CWidgetEventHandler.

Definition at line 298 of file cscrollbarpanel.cxx.

## ◆ handleValueChangeEvent()

void CScrollbarPanel::handleValueChangeEvent | ( | const CWidgetEventArgs & | e | ) |
| virtual

Handle a widget value change event.

Parameters

  e | The event data.

Reimplemented from NXWidgets::CWidgetEventHandler.

Definition at line 326 of file cscrollbarpanel.cxx.

## ◆ jump()

void CScrollbarPanel::jump | ( | int32_t | x,
|  | int32_t | y
| ) |  |
| virtual

Reposition the panel's scrolling region to the specified coordinates.

Parameters

  x | The new x coordinate of the scrolling region.
  y | The new y coordinate of the scrolling region.

Implements NXWidgets::IScrollable.

Definition at line 151 of file cscrollbarpanel.cxx.

## ◆ scroll()

void CScrollbarPanel::scroll | ( | int32_t | dx,
|  | int32_t | dy
| ) |  |
| virtual

Scroll the panel by the specified amounts.

Parameters

  dx | The horizontal distance to scroll.
  dy | The vertical distance to scroll.

Implements NXWidgets::IScrollable.

Definition at line 139 of file cscrollbarpanel.cxx.

## ◆ setAllowsHorizontalScroll()

void CScrollbarPanel::setAllowsHorizontalScroll | ( | bool | allow | ) |
| virtual

Set whether or not horizontal scrolling is allowed.

Parameters

  allow | True to allow horizontal scrolling; false to deny it.

Implements NXWidgets::IScrollable.

Definition at line 185 of file cscrollbarpanel.cxx.

## ◆ setAllowsVerticalScroll()

void CScrollbarPanel::setAllowsVerticalScroll | ( | bool | allow | ) |
| virtual

Set whether or not horizontal scrolling is allowed.

Parameters

  allow | True to allow horizontal scrolling; false to deny it.

Implements NXWidgets::IScrollable.

Definition at line 162 of file cscrollbarpanel.cxx.

## ◆ setCanvasHeight()

void CScrollbarPanel::setCanvasHeight | ( | const int32_t | height | ) |
| virtual

Sets the height of the virtual canvas.

Parameters

  height | The height of the virtual canvas.

Implements NXWidgets::IScrollable.

Definition at line 220 of file cscrollbarpanel.cxx.

## ◆ setCanvasWidth()

void CScrollbarPanel::setCanvasWidth | ( | const int32_t | width | ) |
| virtual

Sets the width of the virtual canvas.

Parameters

  width | The width of the virtual canvas.

Implements NXWidgets::IScrollable.

Definition at line 208 of file cscrollbarpanel.cxx.

## Member Data Documentation

## ◆ m_hasHorizontalScrollbar

bool NXWidgets::CScrollbarPanel::m_hasHorizontalScrollbar
| protected

Indicates the presence of a horizontal scrollbar.

Definition at line 123 of file cscrollbarpanel.hxx.

## ◆ m_hasVerticalScrollbar

bool NXWidgets::CScrollbarPanel::m_hasVerticalScrollbar
| protected

Indicates the presence of a vertical scrollbar.

Definition at line 121 of file cscrollbarpanel.hxx.

## ◆ m_panel

CScrollingPanel* NXWidgets::CScrollbarPanel::m_panel
| protected

Internal panel that contains children.

Definition at line 113 of file cscrollbarpanel.hxx.

## ◆ m_scrollbarHeight

uint8_t NXWidgets::CScrollbarPanel::m_scrollbarHeight
| protected

Height of the horizontal scrollbar.

Definition at line 119 of file cscrollbarpanel.hxx.

## ◆ m_scrollbarHorizontal

CScrollbarHorizontal* NXWidgets::CScrollbarPanel::m_scrollbarHorizontal
| protected

Horizontal scrollbar.

Definition at line 115 of file cscrollbarpanel.hxx.

## ◆ m_scrollbarVertical

CScrollbarVertical* NXWidgets::CScrollbarPanel::m_scrollbarVertical
| protected

Vertical scrollbar.

Definition at line 116 of file cscrollbarpanel.hxx.

## ◆ m_scrollbarWidth

uint8_t NXWidgets::CScrollbarPanel::m_scrollbarWidth
| protected

Width of the vertical scrollbar.

Definition at line 117 of file cscrollbarpanel.hxx.

## ◆ m_widgetControl

CWidgetControl* NXWidgets::CScrollbarPanel::m_widgetControl
| protected

Widget control instance

Definition at line 112 of file cscrollbarpanel.hxx.

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

- cscrollbarpanel.hxx
- cscrollbarpanel.cxx