NXWidgets: cscrollinglistbox.cxx Source File

NXWidgets 1.19

cscrollinglistbox.cxx
Go to the documentation of this file.
1 /****************************************************************************
2 * NxWidgets/libnxwidgets/src/cscrollinglistbox.cxx
3 *
4 * Copyright (C) 2012 Gregory Nutt. All rights reserved.
5 * Author: Gregory Nutt <gnutt@nuttx.org>
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in
15 * the documentation and/or other materials provided with the
16 * distribution.
17 * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors
18 * me be used to endorse or promote products derived from this software
19 * without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
28 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 *
34 ****************************************************************************
35 *
36 * Portions of this package derive from Woopsi (http://woopsi.org/) and
37 * portions are original efforts. It is difficult to determine at this
38 * point what parts are original efforts and which parts derive from Woopsi.
39 * However, in any event, the work of Antony Dzeryn will be acknowledged
40 * in most NxWidget files. Thanks Antony!
41 *
42 * Copyright (c) 2007-2011, Antony Dzeryn
43 * All rights reserved.
44 *
45 * Redistribution and use in source and binary forms, with or without
46 * modification, are permitted provided that the following conditions are met:
47 *
48 * * Redistributions of source code must retain the above copyright
49 * notice, this list of conditions and the following disclaimer.
50 * * Redistributions in binary form must reproduce the above copyright
51 * notice, this list of conditions and the following disclaimer in the
52 * documentation and/or other materials provided with the distribution.
53 * * Neither the names "Woopsi", "Simian Zombie" nor the
54 * names of its contributors may be used to endorse or promote products
55 * derived from this software without specific prior written permission.
56 *
57 * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY
58 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
59 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
60 * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY
61 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
62 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
63 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
64 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
65 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
66 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
67 *
68 ****************************************************************************/
69
70 /****************************************************************************
71 * Included Files
72 ****************************************************************************/
73
74 #include <nuttx/config.h>
75
76 #include <stdint.h>
77 #include <stdbool.h>
78
79 #include "cscrollinglistbox.hxx"
80 #include "cscrollbarvertical.hxx"
81 #include "cgraphicsport.hxx"
82
83 /****************************************************************************
84 * Pre-Processor Definitions
85 ****************************************************************************/
86
87 /****************************************************************************
88 * Method Implementations
89 ****************************************************************************/
90
91 using namespace NXWidgets;
92
93 /**
94 * Constructor.
95 *
96 * @param pWidgetControl The widget control for the display.
97 * @param x The x coordinate of the widget.
98 * @param y The y coordinate of the widget.
99 * @param width The width of the widget.
100 * @param height The height of the widget.
101 * @param style The style that the widget should use. If this is not
102 * specified, the widget will use the values stored in the global
103 * g_defaultWidgetStyle object. The widget will copy the properties of
104 * the style into its own internal style object.
105 */
106
107 CScrollingListBox::CScrollingListBox(CWidgetControl *pWidgetControl,
108 nxgl_coord_t x, nxgl_coord_t y,
109 nxgl_coord_t width, nxgl_coord_t height,
110 CWidgetStyle *style)
111 : CNxWidget(pWidgetControl, x, y, width, height, 0, style)
112 {
113 m_scrollbarWidth = 10;
114
115 setBorderless(true);
116
117 m_listbox = new CListBox(pWidgetControl, 0, 0, width - m_scrollbarWidth,
118 height, &m_style);
119 m_listbox->addWidgetEventHandler(this);
120
121 // Create scrollbar
122
123 CRect rect;
124 m_listbox->getClientRect(rect);
125 m_scrollbar = new CScrollbarVertical(pWidgetControl, width - m_scrollbarWidth,
126 0, m_scrollbarWidth, height, &m_style);
127 m_scrollbar->setMinimumValue(0);
128 m_scrollbar->setMaximumValue(0);
129 m_scrollbar->setPageSize(rect.getHeight() / m_listbox->getOptionHeight());
130 m_scrollbar->addWidgetEventHandler(this);
131
132 // Add children to child array
133
134 addWidget(m_listbox);
135 addWidget(m_scrollbar);
136 }
137
138 /**
139 * Add a new option to the widget using default colors.
140 *
141 * @param text Text to show in the option.
142 * @param value The value of the option.
143 */
144
145 void CScrollingListBox::addOption(const CNxString &text, const uint32_t value)
146 {
147 m_listbox->addOption(text, value);
148 m_scrollbar->setMaximumValue(m_listbox->getOptionCount() - 1);
149 }
150
151 /**
152 * Add an option to the widget.
153 *
154 * @param option The option to add.
155 */
156
157 void CScrollingListBox::addOption(CListBoxDataItem *item)
158 {
159 m_listbox->addOption(item);
160 m_scrollbar->setMaximumValue(m_listbox->getOptionCount() - 1);
161 }
162
163 /**
164 * Add a new option to the widget.
165 *
166 * @param text Text to show in the option.
167 * @param value The value of the option.
168 * @param normalTextColor Color to draw the text with when not selected.
169 * @param normalBackColor Color to draw the background with when not selected.
170 * @param selectedTextColor Color to draw the text with when selected.
171 * @param selectedBackColor Color to draw the background with when selected.
172 */
173
174 void CScrollingListBox::addOption(const CNxString &text, const uint32_t value,
175 const nxwidget_pixel_t normalTextColor,
176 const nxwidget_pixel_t normalBackColor,
177 const nxwidget_pixel_t selectedTextColor,
178 const nxwidget_pixel_t selectedBackColor)
179 {
180 m_listbox->addOption(text, value, normalTextColor, normalBackColor,
181 selectedTextColor, selectedBackColor);
182 m_scrollbar->setMaximumValue(m_listbox->getOptionCount() - 1);
183 }
184
185 /**
186 * Remove an option from the widget by its index.
187 *
188 * @param index The index of the option to remove.
189 */
190
191 void CScrollingListBox::removeOption(const int index)
192 {
193 m_listbox->removeOption(index);
194 m_scrollbar->setMaximumValue(m_listbox->getOptionCount() - 1);
195
196 // Reposition grip if necessary
197
198 if (m_scrollbar->getValue() > m_listbox->getOptionCount())
199 {
200 m_scrollbar->setValue(0);
201 }
202 }
203
204 /**
205 * Remove all options from the widget.
206 */
207
208 void CScrollingListBox::removeAllOptions(void)
209 {
210 m_listbox->removeAllOptions();
211 m_scrollbar->setMaximumValue(0);
212 m_scrollbar->setValue(0);
213 }
214
215 /**
216 * Handles events raised by its sub-widgets.
217 *
218 * @param e Event arguments.
219 */
220
221 void CScrollingListBox::handleValueChangeEvent(const CWidgetEventArgs &e)
222 {
223 if (e.getSource() != NULL)
224 {
225 if (e.getSource() == m_scrollbar)
226 {
227 if (m_listbox != NULL)
228 {
229 m_listbox->setRaisesEvents(false);
230 m_listbox->jump(0, 0 - (m_scrollbar->getValue() * m_listbox->getOptionHeight()));
231 m_listbox->setRaisesEvents(true);
232 }
233 }
234 else if (e.getSource() == m_listbox)
235 {
236 m_widgetEventHandlers->raiseValueChangeEvent();
237 }
238 }
239 }
240
241 /**
242 * Handle a widget action event.
243 *
244 * @param e The event data.
245 */
246
247 void CScrollingListBox::handleActionEvent(const CWidgetEventArgs &e)
248 {
249 if (e.getSource() != NULL)
250 {
251 if (e.getSource() == m_listbox)
252 {
253 // Raise action events from list box to event handler
254
255 m_widgetEventHandlers->raiseActionEvent();
256 }
257 }
258 }
259
260 /**
261 * Handles events raised by its sub-widgets.
262 *
263 * @param e Event arguments.
264 */
265
266 void CScrollingListBox::handleScrollEvent(const CWidgetEventArgs &e)
267 {
268 if (e.getSource() != NULL)
269 {
270 if (e.getSource() == m_listbox)
271 {
272 if (m_scrollbar != NULL)
273 {
274 m_scrollbar->setRaisesEvents(false);
275
276 int value = ((0 - m_listbox->getCanvasY()) << 16) / m_listbox->getOptionHeight();
277
278 m_scrollbar->setValueWithBitshift(value);
279 m_scrollbar->setRaisesEvents(true);
280 }
281 }
282 }
283 }
284
285 /**
286 * Handle a mouse button click event.
287 *
288 * @param e The event data.
289 */
290
291 void CScrollingListBox::handleClickEvent(const CWidgetEventArgs &e)
292 {
293 m_widgetEventHandlers->raiseClickEvent(e.getX(), e.getY());
294 }
295
296 /**
297 * Handles events raised by its sub-widgets.
298 *
299 * @param e Event arguments.
300 */
301
302 void CScrollingListBox::handleDoubleClickEvent(const CWidgetEventArgs &e)
303 {
304 m_widgetEventHandlers->raiseDoubleClickEvent(e.getX(), e.getY());
305 }
306
307 /**
308 * Handle a mouse button release event that occurred within the bounds of
309 * the source widget.
310 *
311 * @param e The event data.
312 */
313
314 void CScrollingListBox::handleReleaseEvent(const CWidgetEventArgs &e)
315 {
316 m_widgetEventHandlers->raiseReleaseEvent(e.getX(), e.getY());
317 }
318
319 /**
320 * Handle a mouse button release event that occurred outside the bounds of
321 * the source widget.
322 *
323 * @param e The event data.
324 */
325
326 void CScrollingListBox::handleReleaseOutsideEvent(const CWidgetEventArgs &e)
327 {
328 // Child raised a release outside event, but we need to raise a different
329 // event if the release occurred within the bounds of this parent widget
330
331 if (checkCollision(e.getX(), e.getY()))
332 {
333 m_widgetEventHandlers->raiseReleaseEvent(e.getX(), e.getY());
334 }
335 else
336 {
337 m_widgetEventHandlers->raiseReleaseOutsideEvent(e.getX(), e.getY());
338 }
339 }
340
341 /**
342 * Set the font used in the textbox.
343 *
344 * @param font Pointer to the new font.
345 */
346
347 void CScrollingListBox::setFont(CNxFont *font)
348 {
349 m_style.font = font;
350 m_listbox->setFont(font);
351 m_scrollbar->setFont(font);
352 }
353
354 /**
355 * Insert the dimensions that this widget wants to have into the rect
356 * passed in as a parameter. All coordinates are relative to the widget's
357 * parent. Value is based on the length of the largest string in the
358 * set of options.
359 *
360 * @param rect Reference to a rect to populate with data.
361 */
362
363 void CScrollingListBox::getPreferredDimensions(CRect &rect) const
364 {
365 // Get the listbox's preferred dimensions
366
367 m_listbox->getPreferredDimensions(rect);
368
369 // Add on the scrollbar width
370
371 nxgl_coord_t width = rect.getWidth();
372 rect.setWidth(width + m_scrollbarWidth);
373 }
374
375 /**
376 * Draw the area of this widget that falls within the clipping region.
377 * Called by the redraw() function to draw all visible regions.
378 *
379 * @param port The CGraphicsPort to draw to.
380 * @see redraw()
381 */
382
383 void CScrollingListBox::drawContents(CGraphicsPort *port)
384 {
385 port->drawFilledRect(0, 0, getWidth(), getHeight(), getBackgroundColor());
386 }
387
388 /**
389 * Resize the listbox to the new dimensions.
390 *
391 * @param width The new width.
392 * @param height The new height.
393 */
394
395 void CScrollingListBox::onResize(nxgl_coord_t width, nxgl_coord_t height)
396 {
397 // Resize the children
398
399 m_listbox->resize(width - m_scrollbarWidth, height);
400 m_scrollbar->resize(m_scrollbarWidth, height);
401
402 // Adjust scrollbar page size
403
404 CRect rect;
405 getClientRect(rect);
406 m_scrollbar->setPageSize(rect.getHeight() / m_listbox->getOptionHeight());
407
408 // Move the scrollbar
409
410 m_scrollbar->moveTo(width - m_scrollbarWidth, 0);
411 }
412
413
414
415
NXWidgets::CListBox::getPreferredDimensions
virtual void getPreferredDimensions(CRect &rect) const
Definition: clistbox.cxx:371
NXWidgets::CScrollbarVertical::setMinimumValue
void setMinimumValue(const int value)
Definition: cscrollbarvertical.cxx:210
NXWidgets::CNxWidget
Definition: cnxwidget.hxx:121
NXWidgets::CScrollbarVertical::setValueWithBitshift
void setValueWithBitshift(const int32_t value)
Definition: cscrollbarvertical.cxx:247
cscrollbarvertical.hxx
NXWidgets::TEventArgs::getSource
const T & getSource(void) const
Definition: teventargs.hxx:127
NXWidgets::CScrollingListBox::m_scrollbarWidth
uint8_t m_scrollbarWidth
Definition: cscrollinglistbox.hxx:119
NXWidgets::CWidgetStyle
Definition: cwidgetstyle.hxx:125
NXWidgets::CScrollingListBox::removeOption
virtual void removeOption(const int index)
Definition: cscrollinglistbox.cxx:191
NXWidgets::CRect::getHeight
nxgl_coord_t getHeight(void) const
Definition: crect.hxx:204
NXWidgets::CListBox::removeOption
virtual void removeOption(const int index)
Definition: clistbox.cxx:167
NXWidgets::CListBox::getOptionCount
virtual const int getOptionCount(void) const
Definition: clistbox.hxx:365
NXWidgets::CNxWidget::moveTo
bool moveTo(nxgl_coord_t x, nxgl_coord_t y)
Definition: cnxwidget.cxx:990
NXWidgets::CWidgetControl
Definition: cwidgetcontrol.hxx:95
NXWidgets::CNxWidget::setRaisesEvents
void setRaisesEvents(bool raises)
Definition: cnxwidget.hxx:887
NXWidgets::CRect::getWidth
nxgl_coord_t getWidth(void) const
Definition: crect.hxx:181
NXWidgets::CScrollingListBox::CScrollingListBox
CScrollingListBox(const CScrollingListBox &scrollingListBox)
Definition: cscrollinglistbox.hxx:150
NXWidgets::CWidgetEventHandlerList::raiseActionEvent
void raiseActionEvent(void)
Definition: cwidgeteventhandlerlist.cxx:507
NXWidgets::CListBoxDataItem
Definition: clistboxdataitem.hxx:104
cgraphicsport.hxx
NXWidgets::CNxWidget::getBackgroundColor
nxgl_mxpixel_t getBackgroundColor(void) const
Definition: cnxwidget.hxx:716
NXWidgets::CScrollbarVertical::setValue
void setValue(const int value)
Definition: cscrollbarvertical.cxx:233
NXWidgets::CScrollbarVertical::getValue
const int getValue(void) const
Definition: cscrollbarvertical.cxx:185
NXWidgets::CScrollingListBox::removeAllOptions
virtual void removeAllOptions(void)
Definition: cscrollinglistbox.cxx:208
NXWidgets::CScrollingListBox::drawContents
virtual void drawContents(CGraphicsPort *port)
Definition: cscrollinglistbox.cxx:383
NXWidgets::CWidgetEventHandlerList::raiseDoubleClickEvent
void raiseDoubleClickEvent(nxgl_coord_t x, nxgl_coord_t y)
Definition: cwidgeteventhandlerlist.cxx:186
NXWidgets::nxwidget_pixel_t
uint8_t nxwidget_pixel_t
Definition: nxconfig.hxx:442
NXWidgets::CScrollingListBox::setFont
virtual void setFont(CNxFont *font)
Definition: cscrollinglistbox.cxx:347
NXWidgets::CNxWidget::resize
bool resize(nxgl_coord_t width, nxgl_coord_t height)
Definition: cnxwidget.cxx:1079
NXWidgets::CScrollingListBox::onResize
virtual void onResize(nxgl_coord_t width, nxgl_coord_t height)
Definition: cscrollinglistbox.cxx:395
NXWidgets::CWidgetEventArgs::getX
const nxgl_coord_t getX(void) const
Definition: cwidgeteventargs.hxx:168
NXWidgets
Definition: cbgwindow.hxx:65
NXWidgets::CNxWidget::getHeight
nxgl_coord_t getHeight(void) const
Definition: cnxwidget.hxx:593
NXWidgets::CScrollingListBox::handleActionEvent
virtual void handleActionEvent(const CWidgetEventArgs &e)
Definition: cscrollinglistbox.cxx:247
NXWidgets::CScrollingListBox::handleDoubleClickEvent
virtual void handleDoubleClickEvent(const CWidgetEventArgs &e)
Definition: cscrollinglistbox.cxx:302
NXWidgets::CNxWidget::getClientRect
void getClientRect(CRect &rect) const
Definition: cnxwidget.cxx:421
NXWidgets::CListBox::getOptionHeight
virtual const nxgl_coord_t getOptionHeight(void) const
Definition: clistbox.cxx:330
NXWidgets::CNxWidget::addWidgetEventHandler
void addWidgetEventHandler(CWidgetEventHandler *eventHandler)
Definition: cnxwidget.hxx:854
NXWidgets::CScrollingListBox::handleReleaseOutsideEvent
virtual void handleReleaseOutsideEvent(const CWidgetEventArgs &e)
Definition: cscrollinglistbox.cxx:326
NXWidgets::CScrollingListBox::m_scrollbar
CScrollbarVertical * m_scrollbar
Definition: cscrollinglistbox.hxx:118
NXWidgets::CScrollingListBox::handleValueChangeEvent
virtual void handleValueChangeEvent(const CWidgetEventArgs &e)
Definition: cscrollinglistbox.cxx:221
NXWidgets::CNxFont
Definition: cnxfont.hxx:70
NXWidgets::CNxWidget::setFont
virtual void setFont(CNxFont *font)
Definition: cnxwidget.cxx:474
NXWidgets::CGraphicsPort::drawFilledRect
void drawFilledRect(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, nxgl_mxpixel_t color)
Definition: cgraphicsport.cxx:280
NXWidgets::CScrollingListBox::handleReleaseEvent
virtual void handleReleaseEvent(const CWidgetEventArgs &e)
Definition: cscrollinglistbox.cxx:314
NXWidgets::CNxWidget::checkCollision
virtual bool checkCollision(nxgl_coord_t x, nxgl_coord_t y) const
Definition: cnxwidget.cxx:1229
NXWidgets::CWidgetEventHandlerList::raiseReleaseOutsideEvent
void raiseReleaseOutsideEvent(nxgl_coord_t x, nxgl_coord_t y)
Definition: cwidgeteventhandlerlist.cxx:226
NXWidgets::CWidgetEventArgs::getY
const nxgl_coord_t getY(void) const
Definition: cwidgeteventargs.hxx:180
NXWidgets::CScrollingListBox::m_listbox
CListBox * m_listbox
Definition: cscrollinglistbox.hxx:117
NXWidgets::CScrollingListBox::addOption
virtual void addOption(const CNxString &text, const uint32_t value)
Definition: cscrollinglistbox.cxx:145
NXWidgets::CWidgetEventHandlerList::raiseClickEvent
void raiseClickEvent(nxgl_coord_t x, nxgl_coord_t y)
Definition: cwidgeteventhandlerlist.cxx:166
cscrollinglistbox.hxx
NXWidgets::CNxWidget::m_widgetEventHandlers
CWidgetEventHandlerList * m_widgetEventHandlers
Definition: cnxwidget.hxx:191
NXWidgets::CWidgetEventArgs
Definition: cwidgeteventargs.hxx:127
NXWidgets::CRect
Definition: crect.hxx:101
NXWidgets::CScrollingPanel::getCanvasY
virtual const int32_t getCanvasY(void) const
Definition: cscrollingpanel.hxx:269
NXWidgets::CNxWidget::addWidget
void addWidget(CNxWidget *widget)
Definition: cnxwidget.cxx:1293
NXWidgets::CWidgetStyle::font
CNxFont * font
Definition: cwidgetstyle.hxx:129
NXWidgets::CRect::setWidth
void setWidth(nxgl_coord_t width)
Definition: crect.hxx:250
NXWidgets::CNxWidget::getWidth
nxgl_coord_t getWidth(void) const
Definition: cnxwidget.hxx:582
NXWidgets::CListBox
Definition: clistbox.hxx:113
NXWidgets::CScrollbarVertical::setMaximumValue
void setMaximumValue(const int value)
Definition: cscrollbarvertical.cxx:221
NXWidgets::CNxString
Definition: cnxstring.hxx:121
NXWidgets::CNxWidget::m_style
CWidgetStyle m_style
Definition: cnxwidget.hxx:183
NXWidgets::CListBox::addOption
virtual void addOption(const CNxString &text, const uint32_t value)
Definition: clistbox.cxx:143
NXWidgets::CListBox::removeAllOptions
virtual void removeAllOptions(void)
Definition: clistbox.cxx:176
NXWidgets::CScrollingListBox::getPreferredDimensions
virtual void getPreferredDimensions(CRect &rect) const
Definition: cscrollinglistbox.cxx:363
NXWidgets::CScrollbarVertical
Definition: cscrollbarvertical.hxx:113
NXWidgets::CWidgetEventHandlerList::raiseValueChangeEvent
void raiseValueChangeEvent(void)
Definition: cwidgeteventhandlerlist.cxx:443
NXWidgets::CNxWidget::setBorderless
void setBorderless(bool isBorderless)
Definition: cnxwidget.cxx:461
NXWidgets::CScrollingPanel::jump
virtual void jump(int32_t x, int32_t y)
Definition: cscrollingpanel.cxx:277
NXWidgets::CScrollbarVertical::setPageSize
void setPageSize(const nxgl_coord_t pageSize)
Definition: cscrollbarvertical.cxx:259
NXWidgets::CScrollingListBox::handleScrollEvent
virtual void handleScrollEvent(const CWidgetEventArgs &e)
Definition: cscrollinglistbox.cxx:266
NXWidgets::CGraphicsPort
Definition: cgraphicsport.hxx:106
NXWidgets::CWidgetEventHandlerList::raiseReleaseEvent
void raiseReleaseEvent(nxgl_coord_t x, nxgl_coord_t y)
Definition: cwidgeteventhandlerlist.cxx:206
NXWidgets::CScrollingListBox::handleClickEvent
virtual void handleClickEvent(const CWidgetEventArgs &e)
Definition: cscrollinglistbox.cxx:291