74 #include <nuttx/config.h> 92 #define DOUBLE_CLICK_BOUNDS 10 116 nxgl_coord_t x, nxgl_coord_t y,
117 nxgl_coord_t width, nxgl_coord_t height,
565 if (clickedWidget ==
this)
646 for (
int i =
m_children.size() - 1; i > -1; i--)
731 for (
int i =
m_children.size() - 1; i > -1; i--)
835 bool CNxWidget::drag(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t vX, nxgl_coord_t vY)
839 if (vX != 0 || vY != 0)
1003 if (x < parentRect.
getX())
1005 x = parentRect.
getX();
1020 if (x < parentRect.
getX())
1028 if (y < parentRect.
getY())
1030 y = parentRect.
getY();
1045 if (y < parentRect.
getY())
1152 nxgl_coord_t width, nxgl_coord_t height)
1156 bool moved =
moveTo(x, y);
1158 return (
resize(width, height) | moved);
1254 nxgl_coord_t width, nxgl_coord_t height)
const 1375 if (clickedWidget == widget)
1504 for (
int i =
m_children.size() - 1; i > -1; i--)
virtual void onClick(nxgl_coord_t x, nxgl_coord_t y)
nxgl_mxpixel_t selectedBackground
WidgetBorderSize m_borderSize
nxgl_coord_t getRelativeY(void) const
void raiseFocusEvent(void)
nxgl_mxpixel_t enabledText
nxgl_coord_t getY2(void) const
CGraphicsPort * getGraphicsPort(void)
void raiseDragEvent(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t vX, nxgl_coord_t vY)
virtual bool isDoubleClick(nxgl_coord_t x, nxgl_coord_t y)
virtual void onReleaseOutside(nxgl_coord_t x, nxgl_coord_t y)
void addControlledWidget(CNxWidget *widget)
bool moveTo(nxgl_coord_t x, nxgl_coord_t y)
nxgl_coord_t m_grabPointY
void raiseKeyPressEvent(nxwidget_char_t key)
nxgl_mxpixel_t disabledText
void raiseResizeEvent(nxgl_coord_t width, nxgl_coord_t height)
void addToDeleteQueue(CNxWidget *widget)
void raiseCursorControlEvent(ECursorControl cursorControl)
virtual void getPreferredDimensions(CRect &rect) const
bool isPermeable(void) const
void disableDrawing(void)
void getRect(CRect &rect) const
bool cursorControl(ECursorControl control)
virtual void drawBorder(CGraphicsPort *port)
virtual void drawContents(CGraphicsPort *port)
nxgl_coord_t getX(void) const
bool intersects(const CRect &rect) const
void raiseBlurEvent(void)
void raiseDisableEvent(void)
nxgl_mxpixel_t getBackgroundColor(void) const
nxgl_coord_t getX2(void) const
void setFocusedWidget(CNxWidget *widget)
nxgl_mxpixel_t shadowEdge
nxgl_coord_t m_grabPointX
CNxWidget(const CNxWidget &widget)
const CNxWidget * getChild(int index) const
void raiseDoubleClickEvent(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)
void raiseCloseEvent(void)
bool isEnabled(void) const
bool resize(nxgl_coord_t width, nxgl_coord_t height)
virtual void onDisable(void)
void stopDragging(nxgl_coord_t x, nxgl_coord_t y)
CWidgetControl * m_widgetControl
void raiseMoveEvent(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t vX, nxgl_coord_t vY)
nxgl_coord_t getHeight(void) const
void useWidgetStyle(const CWidgetStyle *style)
void setHeight(nxgl_coord_t height)
bool isDeleted(void) const
void raiseHideEvent(void)
virtual bool click(nxgl_coord_t x, nxgl_coord_t y)
void getClientRect(CRect &rect) const
bool changeDimensions(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height)
virtual void onFocus(void)
virtual void onDrag(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t vX, nxgl_coord_t vY)
void setX(nxgl_coord_t x)
bool contains(nxgl_coord_t x, nxgl_coord_t y) const
bool doubleClick(nxgl_coord_t x, nxgl_coord_t y)
CNxWidget * getParent(void) const
virtual void onRelease(nxgl_coord_t x, nxgl_coord_t y)
nxgl_coord_t m_lastClickY
virtual void onDragStart(void)
virtual void setFont(CNxFont *font)
void drawFilledRect(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, nxgl_mxpixel_t color)
void setParent(CNxWidget *parent)
void raiseShowEvent(void)
virtual bool checkCollision(nxgl_coord_t x, nxgl_coord_t y) const
void raiseReleaseOutsideEvent(nxgl_coord_t x, nxgl_coord_t y)
void closeChild(CNxWidget *widget)
virtual void onEnable(void)
CNxWidget * getClickedWidget(void)
nxgl_coord_t m_lastClickX
void raiseClickEvent(nxgl_coord_t x, nxgl_coord_t y)
bool removeChild(CNxWidget *widget)
virtual void onPreRelease(nxgl_coord_t x, nxgl_coord_t y)
CWidgetEventHandlerList * m_widgetEventHandlers
CNxWidget * m_focusedChild
void insertWidget(CNxWidget *widget)
nxgl_mxpixel_t background
virtual void onResize(nxgl_coord_t width, nxgl_coord_t height)
void addWidget(CNxWidget *widget)
bool keyPress(nxwidget_char_t key)
nxgl_coord_t getRelativeX(void) const
void getWidgetStyle(CWidgetStyle *style)
void setClickedWidget(CNxWidget *widget)
nxgl_coord_t getY(void) const
void setWidth(nxgl_coord_t width)
nxgl_coord_t getWidth(void) const
nxgl_coord_t getX(void) const
nxgl_coord_t getY(void) const
virtual void onBlur(void)
bool release(nxgl_coord_t x, nxgl_coord_t y)
nxgl_mxpixel_t selectedText
void setFocusedWidget(CNxWidget *widget)
virtual void onDragStop(void)
void setY(nxgl_coord_t y)
TNxArray< CNxWidget * > m_children
void raiseEnableEvent(void)
void moveChildToDeleteQueue(CNxWidget *widget)
bool isDrawingEnabled(void) const
void startDragging(nxgl_coord_t x, nxgl_coord_t y)
void setBorderSize(const WidgetBorderSize &borderSize)
struct timespec m_lastClickTime
void setBorderless(bool isBorderless)
void clearFocusedWidget(CNxWidget *widget)
bool isHidden(void) const
virtual void onDoubleClick(nxgl_coord_t x, nxgl_coord_t y)
void raiseReleaseEvent(nxgl_coord_t x, nxgl_coord_t y)
void raiseDropEvent(nxgl_coord_t x, nxgl_coord_t y)
void removeControlledWidget(CNxWidget *widget)
bool hasFocus(void) const