|
|
virtual | ~View () |
| | Destroys the view and its surface adapter.
|
| Gfx::PointF | toControl (const Control &control, const Gfx::PointF &pos) const |
| | Converts pos from this view to control coordinates.
|
| Gfx::PointF | fromControl (const Control &control, const Gfx::PointF &pos) const |
| | Converts pos from control to this view coordinates.
|
| PaintSurface & | surface () |
| | Returns this view's local paint-surface adapter.
|
|
const PaintSurface & | surface () const |
| | Returns this view's local paint-surface adapter.
|
| void | setSurface (PaintSurface *surface, const Gfx::PointF &pos=Gfx::PointF()) |
| | Assigns the surface on which this view displays its controls.
|
|
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.
|
|
|
| View () |
| | Creates a view for a derived content host.
|
| virtual void | onSetSurface (PaintSurface *surface, const Gfx::PointF &pos) |
| | Notifies the view after its surface assignment changes.
|
| virtual void | onPaint (PaintContext &context, const Gfx::RectF &rect) |
| | Paints this view into context for the local rect.
|
| virtual void | onAttach (Control &control) |
| | Notifies the view that control was attached.
|
| virtual void | onDetach (Control &control) |
| | Notifies the view that control was detached.
|
| virtual void | onInit (Control &control) |
| | Initializes control after it has been attached.
|
| virtual void | onRelease (Control &control) |
| | Releases runtime resources associated with control.
|
|
virtual Gfx::PointF | onToControl (const Control &control, const Gfx::PointF &pos) const |
| | Converts pos from this view to control coordinates.
|
|
virtual Gfx::PointF | onFromControl (const Control &control, const Gfx::PointF &pos) const |
| | Converts pos from control to this view coordinates.
|
| virtual void | onRepaintRequest (Control &control, const Gfx::RectF &rect) |
| | Receives a repaint request for rect in control coordinates.
|
| virtual void | onRelayoutRequest (Control &control) |
| | Receives a request to recalculate control's layout.
|
| virtual void | onEnableRequest (Control &control, bool isEnable) |
| | Receives a request to enable or disable control.
|
| virtual void | onActivateRequest (Control &control, bool active) |
| | Receives a request to activate or deactivate control.
|
| virtual void | onShowRequest (Control &control, bool isShown) |
| | Receives a request to show or hide control.
|
| virtual void | onMoveRequest (Control &control, const Gfx::PointF &pos) |
| | Receives a request to move control to pos.
|
| virtual void | onResizeRequest (Control &control, const Gfx::SizeF &size) |
| | Receives a request to resize control to size.
|
| virtual void | onRaiseRequest (Control &control) |
| | Receives a request to raise control in its host.
|
| virtual void | onConnect (Screen &screen) |
| | Connects the view to screen.
|
| virtual void | onDisconnect () |
| | Disconnects the view from its screen.
|
| virtual void | onPaintEvent (const PaintEvent &ev) override |
| | Processes a paint event and invokes onPaint().
|
| virtual void | onMoveEvent (const MoveEvent &ev) override |
| | Repaints the union of the old and new view bounds.
|
| virtual void | onResizeEvent (const ResizeEvent &ev) override |
| | Repaints the union of the old and new view bounds.
|
| virtual void | onSetParent (Widget *parent) |
| | Records the non-owning parent relationship.
|
| 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 | 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 | onProcessResizeEvent (const ResizeEvent &ev) |
| | Dispatches 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.
|
A View is a Widget that attaches controls to a PaintSurface. It establishes the surface and coordinate mapping for those controls and forwards their repaint, layout, visibility, geometry, and activation requests. Form and Control are the usual view implementations. Screen and WindowManager are widgets but not views.
The view owns its surface adapter, not the PaintSurface assigned through setSurface(). The adapter presents the view's local size, scaling, and offset within the borrowed surface. When a control is initialized, the view gives it that surface with an offset derived from the control's position; release clears the control's surface. Form and Control extend this mechanism to their content and child controls.
toControl() and fromControl() convert between view-local and attached control coordinates. Their default mapping uses the control position. View implementations align child move and resize requests to the active scaling before sending the corresponding Forms event. Override the protected mapping and forwarding hooks only when a custom host has a different coordinate system, surface arrangement, or request policy.
View is an implementation boundary rather than the usual application base class. Derive visible application content from Control. Derive from View only when a custom content host needs different paint-surface or coordinate behavior. A custom view must arrange a complete attach, initialize, release, and detach lifecycle for every hosted control and must not retain a surface supplied by another view beyond that lifecycle.