|
NXWidgets
1.19
|
#include <cscrollingpanel.hxx>

Public Member Functions | |
| CScrollingPanel (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) |
| bool | allowsVerticalScroll (void) const |
| 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 | setAllowsVerticalScroll (bool allow) |
| void | setAllowsHorizontalScroll (bool allow) |
| void | setContentScrolled (bool scrolled) |
| bool | IsContentScrolled (void) |
| virtual void | setCanvasWidth (const int32_t width) |
| virtual void | setCanvasHeight (const int32_t height) |
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) |
Protected Member Functions | |
| virtual void | drawContents (CGraphicsPort *port) |
| virtual void | drawBorder (CGraphicsPort *port) |
| virtual void | onDrag (nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t vX, nxgl_coord_t vY) |
| virtual void | onClick (nxgl_coord_t x, nxgl_coord_t y) |
| void | scrollChildren (int32_t dx, int32_t dy, bool do_redraw) |
| virtual | ~CScrollingPanel (void) |
| CScrollingPanel (const CScrollingPanel &scrollingPanel) | |
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 | 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 |
| int32_t | m_canvasX |
| int32_t | m_canvasY |
| int32_t | m_canvasWidth |
| int32_t | m_canvasHeight |
| bool | m_allowVerticalScroll |
| bool | m_allowHorizontalScroll |
| bool | m_isContentScrolled |
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 } |
Class containing a scrollable region. Responds to mouse movement. Can contain sub-widgets which will also be scrolled.
Definition at line 105 of file cscrollingpanel.hxx.
|
inlineprotectedvirtual |
Destructor.
Definition at line 180 of file cscrollingpanel.hxx.
|
inlineprotected |
Copy constructor is protected to prevent usage.
Definition at line 186 of file cscrollingpanel.hxx.
| CScrollingPanel::CScrollingPanel | ( | 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.
| 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 110 of file cscrollingpanel.cxx.
|
inlinevirtual |
Returns true if horizontal scrolling is allowed.
Implements NXWidgets::IScrollable.
Definition at line 247 of file cscrollingpanel.hxx.
|
inlinevirtual |
Returns true if vertical scrolling is allowed.
Implements NXWidgets::IScrollable.
Definition at line 236 of file cscrollingpanel.hxx.
|
protectedvirtual |
Draw the area of this widget that falls within the clipping region. Called by the redraw() function to draw all visible regions.
| port | The CGraphicsPort to draw to. |
Reimplemented from NXWidgets::CNxWidget.
Reimplemented in NXWidgets::CMultiLineTextBox, and NXWidgets::CListBox.
Definition at line 306 of file cscrollingpanel.cxx.
|
protectedvirtual |
Draw the area of this widget that falls within the clipping region. Called by the redraw() function to draw all visible regions.
| port | The CGraphicsPort to draw to. |
Reimplemented from NXWidgets::CNxWidget.
Reimplemented in NXWidgets::CMultiLineTextBox, and NXWidgets::CListBox.
Definition at line 292 of file cscrollingpanel.cxx.
|
inlinevirtual |
Gets the height of the virtual canvas.
Implements NXWidgets::IScrollable.
Definition at line 291 of file cscrollingpanel.hxx.
|
inlinevirtual |
Gets the width of the virtual canvas.
Implements NXWidgets::IScrollable.
Definition at line 280 of file cscrollingpanel.hxx.
|
inlinevirtual |
Gets the x coordinate of the virtual canvas.
Implements NXWidgets::IScrollable.
Definition at line 258 of file cscrollingpanel.hxx.
|
inlinevirtual |
Gets the y coordinate of the virtual canvas.
Implements NXWidgets::IScrollable.
Definition at line 269 of file cscrollingpanel.hxx.
|
inline |
Check if the content of the panel, drawn via the draw() method, is scrolled.
Definition at line 341 of file cscrollingpanel.hxx.
|
virtual |
Reposition the panel's scrolling region to the specified coordinates.
| x | The new x coordinate of the scrolling region. |
| y | The new y coordinate of the scrolling region. |
Implements NXWidgets::IScrollable.
Definition at line 277 of file cscrollingpanel.cxx.
|
protectedvirtual |
Starts the dragging system.
| x | The x coordinate of the click. |
| y | The y coordinate of the click. |
Reimplemented from NXWidgets::CNxWidget.
Reimplemented in NXWidgets::CMultiLineTextBox, and NXWidgets::CListBox.
Definition at line 339 of file cscrollingpanel.cxx.
|
protectedvirtual |
Scrolls the panel to match the drag.
| x | The x coordinate of the mouse. |
| y | The y coordinate of the mouse. |
| vX | The horizontal drag distance. |
| vY | The vertical drag distance. |
Reimplemented from NXWidgets::CNxWidget.
Definition at line 326 of file cscrollingpanel.cxx.
|
virtual |
Scroll the panel by the specified amounts.
| dx | The horizontal distance to scroll. |
| dy | The vertical distance to scroll. |
Implements NXWidgets::IScrollable.
Definition at line 144 of file cscrollingpanel.cxx.
|
protected |
Scroll all child widgets by the specified amounts. Actually uses the widget's moveTo() function to reposition them.
| dx | The horizontal distance to scroll. |
| dy | The vertical distance to scroll. |
| do_redraw | Redraw widgets after moving. |
Definition at line 353 of file cscrollingpanel.cxx.
|
inlinevirtual |
Set whether or not horizontal scrolling is allowed.
| allow | True to allow horizontal scrolling; false to deny it. |
Implements NXWidgets::IScrollable.
Definition at line 313 of file cscrollingpanel.hxx.
|
inlinevirtual |
Set whether or not horizontal scrolling is allowed.
| allow | True to allow horizontal scrolling; false to deny it. |
Implements NXWidgets::IScrollable.
Definition at line 302 of file cscrollingpanel.hxx.
|
inlinevirtual |
Sets the height of the virtual canvas.
| height | The height of the virtual canvas. |
Implements NXWidgets::IScrollable.
Definition at line 363 of file cscrollingpanel.hxx.
|
inlinevirtual |
Sets the width of the virtual canvas.
| width | The width of the virtual canvas. |
Implements NXWidgets::IScrollable.
Definition at line 352 of file cscrollingpanel.hxx.
|
inline |
Set whether or not the content of the panel is scrolled. Content is anything drawn to the panel in the draw() method. This property is disabled by default, which will result in faster scrolling of child objects. If the panel contains no child objects, just draw() method content, consider using a SuperBitmap class instead.
| scrolled | True to enable content scrolling; false to disable it. |
Definition at line 329 of file cscrollingpanel.hxx.
|
protected |
True if horizontal scrolling is allowed.
Definition at line 117 of file cscrollingpanel.hxx.
|
protected |
True if vertical scrolling is allowed.
Definition at line 115 of file cscrollingpanel.hxx.
|
protected |
Height of the virtual canvas.
Definition at line 114 of file cscrollingpanel.hxx.
|
protected |
Width of the virtual canvas.
Definition at line 113 of file cscrollingpanel.hxx.
|
protected |
X coordinate of the virtual canvas.
Definition at line 109 of file cscrollingpanel.hxx.
|
protected |
Y coordinate of the virtual canvas.
Definition at line 111 of file cscrollingpanel.hxx.
|
protected |
True if the content drawn to the panel is scrolled(ie. everything drawn in the draw() method); false if just child objects are scrolled.
Definition at line 119 of file cscrollingpanel.hxx.
|
protected |
Widget control instance
Definition at line 108 of file cscrollingpanel.hxx.
1.8.13