|
| virtual | ~Widget () |
| | Releases pointer capture and peer associations.
|
|
Pt::uint64_t | id () const |
| | Returns the application-unique ID of this live widget.
|
|
const std::string & | name () const |
| | Returns the optional name.
|
|
void | setName (const std::string &n) |
| | Sets the optional name immediately.
|
| void | setNextResponder (Responder *r) |
| | Sets the next responder for unhandled input.
|
|
bool | isConnected () const |
| | Returns true when the widget is connected to a screen.
|
|
Screen * | screen () |
| | Returns the connected screen, or 0 when disconnected.
|
|
const Screen * | screen () const |
| | Returns the connected screen, or 0 when disconnected.
|
|
Widget * | parent () |
| | Returns the non-owning parent, or 0 when unparented.
|
|
const Widget * | parent () const |
| | Returns the non-owning parent, or 0 when unparented.
|
|
bool | isDescendantOf (const Widget &top) const |
| | Returns true when this widget is a strict descendant of top.
|
|
bool | isAncestorOf (const Widget &child) const |
| | Returns true when this widget is a strict ancestor of child.
|
| Widget * | hitTest (const Gfx::PointF &pos) |
| | Returns the descendant hit at local position pos.
|
|
Gfx::PointF | toParent (const Gfx::PointF &pos) const |
| | Converts local position pos to parent coordinates.
|
|
Gfx::PointF | fromParent (const Gfx::PointF &pos) const |
| | Converts parent position pos to local coordinates.
|
| Gfx::PointF | toGlobal (const Gfx::PointF &pos) const |
| | Converts local position pos to global coordinates.
|
| Gfx::PointF | fromGlobal (const Gfx::PointF &pos) const |
| | Converts global position pos to local coordinates.
|
| void | addPeer (Widget &peer) |
| | Adds a bidirectional, non-owning peer association with peer.
|
| void | removePeer (Widget &peer) |
| | Removes the bidirectional peer association with peer.
|
| void | invalidate () |
| | Queues a coalesced invalidation.
|
| virtual void | repaint (const Gfx::RectF &rect) |
| | Requests repainting local dirty rectangle rect.
|
|
virtual void | repaint () |
| | Requests repainting the complete local bounds.
|
|
double | scaleFactor () const |
| | Returns the current logical-to-device scale factor.
|
|
const Gfx::Scaling & | scaling () const |
| | Returns the current logical-to-device scaling.
|
|
bool | isVisible () const |
| | Returns whether the last show event made the widget visible.
|
| virtual void | show (bool b=true) |
| | Requests that the widget be shown or hidden.
|
|
bool | isEnabled () const |
| | Returns whether the last enable event made the widget enabled.
|
| virtual void | enable (bool isEnable=true) |
| | Requests that the widget be enabled or disabled.
|
| void | activate (bool active=true) |
| | Requests that the widget become active or inactive.
|
|
const Gfx::PointF & | position () const |
| | Returns the position in parent logical coordinates.
|
| virtual void | move (const Gfx::PointF &pos) |
| | Requests a new parent-local position pos.
|
|
const Gfx::SizeF & | size () const |
| | Returns the size in local logical coordinates.
|
|
const Gfx::RectF & | bounds () const |
| | Returns local bounds, whose origin is always local zero.
|
| const Gfx::SizeF & | minimumSize () const |
| | Returns the locally stored minimum size.
|
| void | setMinimumSize (const Gfx::SizeF &s) |
| | Sets the local minimum size and notifies the size-limit hook.
|
|
void | setMinimumSize (double w, double h) |
| | Sets the local minimum width and height.
|
|
void | setMinimumWidth (double w) |
| | Sets the local minimum width.
|
|
void | setMinimumHeight (double h) |
| | Sets the local minimum height.
|
| const Gfx::SizeF & | maximumSize () const |
| | Returns the locally stored maximum size.
|
| void | setMaximumSize (const Gfx::SizeF &s) |
| | Sets the local maximum size and notifies the size-limit hook.
|
|
void | setMaximumSize (double w, double h) |
| | Sets the local maximum width and height.
|
|
void | setMaximumWidth (double w) |
| | Sets the local maximum width.
|
|
void | setMaximumHeight (double h) |
| | Sets the local maximum height.
|
| virtual void | resize (const Gfx::SizeF &s) |
| | Requests a new local size s.
|
| void | setCapture (bool capture) |
| | Requests pointer input capture or release.
|
| const Cursor * | cursor () const |
| | Returns this widget's cursor or the default cursor.
|
| void | setCursor (const Cursor *c) |
| | Sets a local cursor override.
|
| void | processEvent (const Pt::Event &ev) |
| | Processes ev through this widget's event dispatcher.
|
| Pt::Signal< const Pt::Event & > & | eventReceived () |
| | Returns the event dispatcher signal.
|
| bool | mouseEvent (const MouseEvent &ev) |
| | Delivers ev along the mouse responder chain.
|
| void | touchEvent (const TouchEvent &ev) |
| | Delivers ev along the touch responder chain.
|
|
void | scrollEvent (const ScrollEvent &ev) |
| | Delivers ev along the scroll responder chain.
|
|
void | enterEvent (const EnterEvent &ev) |
| | Delivers ev along the enter responder chain.
|
|
void | leaveEvent (const LeaveEvent &ev) |
| | Delivers ev along the leave responder chain.
|
|
void | keyEvent (const KeyEvent &ev) |
| | Delivers ev along the key responder chain.
|
|
|
| Widget () |
| | Creates and registers a widget with the Forms application.
|
| virtual void | onSetParent (Widget *parent) |
| | Records the non-owning parent relationship.
|
| virtual void | onConnect (Screen &screen) |
| | Records connection to screen.
|
| virtual void | onDisconnect () |
| | Clears the screen connection.
|
| virtual Widget * | onHitTest (const Gfx::PointF &pos) |
| | Returns the descendant hit at local position pos.
|
| virtual Gfx::PointF | onToParent (const Gfx::PointF &pos) const =0 |
| | Converts local position pos to parent coordinates.
|
| virtual Gfx::PointF | onFromParent (const Gfx::PointF &pos) const =0 |
| | Converts parent position pos to local coordinates.
|
| virtual Gfx::PointF | onToGlobal (const Gfx::PointF &pos) const |
| | Converts local position pos to global coordinates.
|
| virtual Gfx::PointF | onFromGlobal (const Gfx::PointF &pos) const |
| | Converts global position pos to local coordinates.
|
| virtual void | onAttachPeer (Widget &peer) |
| | Attaches non-owning peer peer.
|
| virtual void | onDetachPeer (Widget &peer) |
| | Detaches non-owning peer peer.
|
|
virtual void | onRequestRepaint (const Gfx::RectF &rect) |
| | Forwards a repaint request for local rectangle rect.
|
|
virtual void | onRequestShow (bool e) |
| | Forwards a request to show or hide the widget.
|
|
virtual void | onRequestEnable (bool isEnable) |
| | Forwards a request to enable or disable the widget.
|
|
virtual void | onRequestActivate (bool active) |
| | Forwards a request to activate or deactivate the widget.
|
|
virtual void | onRequestMove (const Gfx::PointF &pos) |
| | Forwards a request for parent-local position pos.
|
| virtual void | onSetSizeLimits (const Gfx::SizeF &minSize, const Gfx::SizeF &maxSize) |
| | Notifies that locally stored size limits changed.
|
|
virtual void | onRequestResize (const Gfx::SizeF &s) |
| | Forwards a request for local size s.
|
|
virtual void | onRequestCapture (bool capture) |
| | Requests application-managed pointer capture or release.
|
|
virtual void | onProcessEvent (const Pt::Event &ev) |
| | Sends ev to the widget event dispatcher.
|
|
virtual void | onProcessInvalidateEvent (const InvalidateEvent &ev) |
| | Coalesces and dispatches an invalidation event.
|
| virtual void | onInvalidateEvent (const InvalidateEvent &ev) |
| | Handles the final coalesced invalidation event.
|
| virtual void | onInvalidate () |
| | Updates derived state after invalidation.
|
| virtual void | onProcessPaintEvent (const PaintEvent &ev) |
| | Filters and dispatches a paint event.
|
|
virtual void | onPaintEvent (const PaintEvent &ev) |
| | Handles a paint event with a non-empty dirty rectangle.
|
|
virtual void | onProcessRescaleEvent (const RescaleEvent &ev) |
| | Dispatches a rescale event.
|
| virtual void | onRescaleEvent (const RescaleEvent &ev) |
| | Handles a rescale event.
|
|
virtual void | onRescale (double scaling) |
| | Updates the local scaling to scaling.
|
|
virtual void | onProcessShowEvent (const ShowEvent &ev) |
| | Ignores redundant show events and dispatches other ones.
|
| virtual void | onShowEvent (const ShowEvent &ev) |
| | Handles a show event.
|
|
virtual void | onShow (bool visible) |
| | Updates the local visibility state to visible.
|
|
virtual void | onProcessEnableEvent (const EnableEvent &ev) |
| | Dispatches an enable event.
|
| virtual void | onEnableEvent (const EnableEvent &ev) |
| | Updates the enabled state and handles an enable event.
|
|
virtual void | onEnable (bool e) |
| | Performs behavior associated with enabled state e.
|
|
virtual void | onProcessMoveEvent (const MoveEvent &ev) |
| | Dispatches a move event.
|
|
virtual void | onMoveEvent (const MoveEvent &ev) |
| | Updates the parent-local position from a move event.
|
|
virtual void | onProcessResizeEvent (const ResizeEvent &ev) |
| | Dispatches a resize event.
|
|
virtual void | onResizeEvent (const ResizeEvent &ev) |
| | Updates the local size and bounds from a resize event.
|
|
virtual void | onProcessMouseEvent (const MouseEvent &ev) |
| | Updates pointer tracking and delivers a mouse event.
|
|
virtual void | onProcessTouchEvent (const TouchEvent &ev) |
| | Updates pointer tracking and delivers a touch event.
|
|
virtual void | onProcessScrollEvent (const ScrollEvent &ev) |
| | Delivers a scroll event through the responder chain.
|
|
virtual void | onProcessEnterEvent (const EnterEvent &ev) |
| | Delivers an enter event through the responder chain.
|
|
virtual void | onProcessLeaveEvent (const LeaveEvent &ev) |
| | Delivers a leave event through the responder chain.
|
|
virtual void | onProcessKeyEvent (const KeyEvent &ev) |
| | Delivers a key event through the responder chain.
|
|
virtual Responder * | onNextResponder () |
| | Returns the non-owning next responder, or 0.
|
| virtual bool | onMouseEvent (const MouseEvent &ev) |
| | Handles a mouse event in local coordinates.
|
| virtual bool | onTouchEvent (const TouchEvent &ev) |
| | Handles a touch event in local coordinates.
|
| virtual bool | onScrollEvent (const ScrollEvent &ev) |
| | Handles a scroll event.
|
| virtual bool | onEnterEvent (const EnterEvent &ev) |
| | Handles pointer entry and installs the widget cursor.
|
| virtual bool | onLeaveEvent (const LeaveEvent &ev) |
| | Handles pointer leave and restores the default cursor.
|
| virtual bool | onKeyEvent (const KeyEvent &ev) |
| | Handles a key event.
|
|
virtual bool | onMousePress (const MouseEvent &ev) |
| | Handles a mouse press. The default returns false.
|
|
virtual bool | onMouseRelease (const MouseEvent &ev) |
| | Handles a mouse release. The default returns false.
|
|
virtual bool | onMouseMove (const MouseEvent &ev) |
| | Handles a mouse move. The default returns false.
|
Every visual Forms object is a Widget. Application is not. A widget supplies identity, screen connection, parent relationships, geometry, visibility, enabled state, scaling, coordinate conversion, repaint requests, event dispatch, and pointer capture. Derive ordinary visual content from Control. Derive directly from Widget only for a runtime or host base with its own parent coordinate system; derived classes must implement onToParent() and onFromParent().
Construct widgets only after an Application exists. The application gives each widget an ID, registers it for event routing, and removes that entry during destruction. A name is optional metadata, not an identifier. Parent and screen pointers are non-owning runtime relationships. A widget is connected when its parent hierarchy reaches a screen, independent of its visibility. Containers attach and detach widgets through their public APIs; callers keep attached widgets alive.
Geometry uses logical coordinates. position() is in parent coordinates, while size() and bounds() are local and bounds() starts at the local origin. toParent(), fromParent(), toGlobal(), and fromGlobal() convert between these systems. The default global conversion walks the parent chain. Coordinate hooks must agree with hit testing, painting, and input delivery.
show(), enable(), activate(), move(), and resize() are requests. A parent, frame, or backend confirms them by sending Forms events, which then update the observable state. Names, size limits, cursor overrides, and the next responder change local state immediately. invalidate() queues coalesced deferred work; repaint() asks to redraw a local dirty region.
A widget is a Responder. Unhandled input continues to the next responder, with mouse and touch coordinates converted locally.
Peers are non-hierarchical, bidirectional associations. They do not establish ownership, parenting, or screen connection. A widget can also provide a Cursor while it is under the pointer; clearing the override restores the default cursor.