FabGL
ESP32 Display Controller and Graphics Library
fabgl::uiWindow Class Reference

Base class for all visible UI elements (Frames and Controls) More...

#include <fabui.h>

Inheritance diagram for fabgl::uiWindow:
Collaboration diagram for fabgl::uiWindow:

Public Member Functions

 uiWindow (uiWindow *parent, const Point &pos, const Size &size, bool visible)
 Creates an instance of the object. More...
 
uiAnchorsanchors ()
 Allows to switch on or off anchors. More...
 
uiAppapp ()
 Determines the app that owns this object. More...
 
void bringAfter (uiWindow *insertionPoint)
 Brings this window after another one. More...
 
void bringOnTop ()
 Brings this window on top. More...
 
Point clientPos ()
 Determines position of the client area. More...
 
virtual Rect clientRect (uiOrigin origin)
 Determines the client area bounding box. More...
 
Size clientSize ()
 Determines the client area size. More...
 
void exitModal (int modalResult)
 Exits from a modal window. More...
 
uiWindowfirstChild ()
 Gets first child. More...
 
int focusIndex ()
 Determines the focus index (aka tab-index) More...
 
bool hasChildren ()
 Determines whether this window has children. More...
 
bool hasFocus ()
 Determines whether this window or control has focus. More...
 
bool isMouseOver ()
 Determines whether the mouse is over this window. More...
 
uiWindowlastChild ()
 Gets last child. More...
 
Point mouseDownPos ()
 Determines mouse position when left button was down. More...
 
uiWindownext ()
 Gets next sibling. More...
 
uiObjectTypeobjectType ()
 Determines the object type. More...
 
uiWindowparent ()
 Determines the parent window. More...
 
Point pos ()
 Determines the window position relative to parent window. More...
 
uiWindowprev ()
 Gets previous sibling. More...
 
Rect rect (uiOrigin origin)
 Determines the window bounding box. More...
 
void repaint (Rect const &rect)
 Repaints a rectangle of this window. More...
 
void repaint ()
 Repaints this window. More...
 
void setFocusIndex (int value)
 Sets the focus index (aka tab-index) More...
 
Size size ()
 Determines the window size. More...
 
uiWindowState state ()
 Determines the window state. More...
 
Rect transformRect (Rect const &rect, uiWindow *baseWindow)
 Transforms rectangle origins from current window to another one. More...
 
uiWindowPropswindowProps ()
 Sets or gets window properties. More...
 
uiWindowStylewindowStyle ()
 Sets or gets window style. More...
 

Public Attributes

Delegate onClick
 Mouse click event delegate. More...
 
Delegate onDblClick
 Mouse double click event delegate. More...
 

Detailed Description

Base class for all visible UI elements (Frames and Controls)

Constructor & Destructor Documentation

◆ uiWindow()

fabgl::uiWindow::uiWindow ( uiWindow parent,
const Point pos,
const Size size,
bool  visible 
)

Creates an instance of the object.

Parameters
parentThe parent window. A window must always have a parent window
posTop-left coordinates of the window relative to the parent
sizeThe window size
visibleIf true the window is immediately visible

Member Function Documentation

◆ anchors()

uiAnchors& fabgl::uiWindow::anchors ( )
inline

Allows to switch on or off anchors.

Returns
An L-value used to switch on or off anchors

◆ app()

uiApp* fabgl::uiEvtHandler::app ( )
inlineinherited

Determines the app that owns this object.

Returns
An uiApp object.

◆ bringAfter()

void fabgl::uiWindow::bringAfter ( uiWindow insertionPoint)

Brings this window after another one.

Parameters
insertionPointThis window will be placed after insertionPoint window. If insertionPoint is nullptr this window will be placed at the first position (location of less visibility.).

◆ bringOnTop()

void fabgl::uiWindow::bringOnTop ( )

Brings this window on top.

◆ clientPos()

Point fabgl::uiWindow::clientPos ( )

Determines position of the client area.

Returns
The top left point where the client area starts

◆ clientRect()

Rect fabgl::uiWindow::clientRect ( uiOrigin  origin)
virtual

Determines the client area bounding box.

Parameters
originDecides the origin of returned rectangle
Returns
The window client area bounding box

Reimplemented in fabgl::uiScrollableControl, and fabgl::uiFrame.

◆ clientSize()

Size fabgl::uiWindow::clientSize ( )

Determines the client area size.

Returns
The client area size

◆ exitModal()

void fabgl::uiWindow::exitModal ( int  modalResult)

Exits from a modal window.

To open a modal window use uiApp.showModalWindow().

Parameters
modalResultAn integer value to return to uiApp.showModalWindow().

◆ firstChild()

uiWindow* fabgl::uiWindow::firstChild ( )
inline

Gets first child.

Returns
First uiWindow object

◆ focusIndex()

int fabgl::uiWindow::focusIndex ( )
inline

Determines the focus index (aka tab-index)

To set focus index use uiWindow.setFocusIndex().

Returns
The focus index

◆ hasChildren()

bool fabgl::uiWindow::hasChildren ( )
inline

Determines whether this window has children.

Returns
True if window has one o more children

◆ hasFocus()

bool fabgl::uiWindow::hasFocus ( )

Determines whether this window or control has focus.

To set currently focused window use uiApp.setFocusedWindow().

Returns
True if this window has focus

◆ isMouseOver()

bool fabgl::uiWindow::isMouseOver ( )
inline

Determines whether the mouse is over this window.

This methods returns True also when the mouse is captured.

Returns
True if the mouse is over the window

◆ lastChild()

uiWindow* fabgl::uiWindow::lastChild ( )
inline

Gets last child.

Returns
Last uiWindow object

◆ mouseDownPos()

Point fabgl::uiWindow::mouseDownPos ( )
inline

Determines mouse position when left button was down.

Returns
Mouse position

◆ next()

uiWindow* fabgl::uiWindow::next ( )
inline

Gets next sibling.

Next sibling is more visible than calling object.

Returns
Next uiWindow object

◆ objectType()

uiObjectType& fabgl::uiObject::objectType ( )
inlineinherited

Determines the object type.

Returns
Object type.

◆ parent()

uiWindow* fabgl::uiWindow::parent ( )
inline

Determines the parent window.

Returns
Parent window

◆ pos()

Point fabgl::uiWindow::pos ( )
inline

Determines the window position relative to parent window.

To change window position use uiApp.moveWindow().

Returns
The top left point where this window is located

◆ prev()

uiWindow* fabgl::uiWindow::prev ( )
inline

Gets previous sibling.

Previous sibling is less visible than calling object.

Returns
Previous uiWindow object

◆ rect()

Rect fabgl::uiWindow::rect ( uiOrigin  origin)

Determines the window bounding box.

To set window position use uiApp.moveWindow(), to set window size use uiApp.resizeWindow() or uiApp.reshapeWindow().

Parameters
originDecides the origin of returned rectangle
Returns
The window bounding box

◆ repaint() [1/2]

void fabgl::uiWindow::repaint ( Rect const &  rect)

Repaints a rectangle of this window.

Parameters
rectRectangle to repaint

◆ repaint() [2/2]

void fabgl::uiWindow::repaint ( )

Repaints this window.

◆ setFocusIndex()

void fabgl::uiWindow::setFocusIndex ( int  value)
inline

Sets the focus index (aka tab-index)

Parameters
valueThe focus index. -1 = control isn't included into the focusable controls. 0 = first focusable control.

◆ size()

Size fabgl::uiWindow::size ( )
inline

Determines the window size.

To set window size use uiApp.resizeWindow().

Returns
The window size

◆ state()

uiWindowState fabgl::uiWindow::state ( )
inline

Determines the window state.

To set window state (hidden, visible, maximized, minimized) use uiApp.showWindow(), uiApp.maximizeWindow(), uiApp.minimizeWindow().

Returns
Current window state

◆ transformRect()

Rect fabgl::uiWindow::transformRect ( Rect const &  rect,
uiWindow baseWindow 
)

Transforms rectangle origins from current window to another one.

Parameters
rectRectangle to transform
baseWindowWindow where the output rectangle will be relative to
Returns
The translated rectangle

◆ windowProps()

uiWindowProps& fabgl::uiWindow::windowProps ( )
inline

Sets or gets window properties.

Returns
L-value representing some window properties

◆ windowStyle()

uiWindowStyle& fabgl::uiWindow::windowStyle ( )
inline

Sets or gets window style.

Returns
L-value representing window style (colors, border size, etc...)

Member Data Documentation

◆ onClick

Delegate fabgl::uiWindow::onClick

Mouse click event delegate.

This delegate is called when the mouse button is pressed and released on the same position.

◆ onDblClick

Delegate fabgl::uiWindow::onDblClick

Mouse double click event delegate.

This delegate is called when the mouse button is double pressed and released on the same position. To change double click time use uiAppProps.doubleClickTime of uiApp.appProps().


The documentation for this class was generated from the following files: