37 #include "freertos/FreeRTOS.h" 38 #include "freertos/queue.h" 39 #include "freertos/timers.h" 82 #define FABGLIB_UI_EVENTS_QUEUE_SIZE 256 99 UIEVT_MOUSEBUTTONDOWN,
130 typedef void * uiTimerHandle;
155 union uiEventParams {
165 char const * debugMsg;
169 uiTimerHandle timerHandle;
182 uiEvent() : dest(nullptr), id(UIEVT_NULL) { }
183 uiEvent(uiEvent
const & e) { dest = e.dest;
id = e.id; params = e.params; }
184 uiEvent(uiEvtHandler * dest_, uiEventID id_) : dest(dest_), id(id_) { }
265 virtual void processEvent(uiEvent * event);
277 void setApp(
uiApp * value) { m_app = value; }
362 virtual void processEvent(uiEvent * event);
600 void removeChild(
uiWindow * child,
bool freeChild =
true);
601 void moveChildOnTop(
uiWindow * child);
605 Size sizeAtMouseDown() {
return m_sizeAtMouseDown; }
606 Point posAtMouseDown() {
return m_posAtMouseDown; }
608 virtual Size minWindowSize() {
return Size(0, 0); }
610 void beginPaint(uiEvent * paintEvent, Rect
const & clippingRect);
612 void generatePaintEvents(Rect
const & paintRect);
613 void reshape(Rect
const & r);
629 Rect m_savedScreenRect;
631 uiWindowState m_state;
633 uiWindowProps m_windowProps;
635 uiWindowStyle m_windowStyle;
637 Point m_mouseDownPos;
639 Point m_posAtMouseDown;
640 Size m_sizeAtMouseDown;
646 int16_t m_focusIndex;
698 enum class uiFrameItem : uint8_t {
735 virtual void processEvent(uiEvent * event);
742 char const *
title() {
return m_title; }
828 Size minWindowSize();
829 int titleBarHeight();
835 int paintButtons(
Rect const & bkgRect);
836 void movingCapturedMouse(
int mouseX,
int mouseY,
bool mouseIsDown);
837 void movingFreeMouse(
int mouseX,
int mouseY);
838 uiFrameItem getFrameItemAt(
int x,
int y);
839 Rect getBtnRect(
int buttonIndex);
840 void handleButtonsClick(
int x,
int y,
bool doubleClick);
841 void drawTextWithEllipsis(FontInfo
const * fontInfo,
int X,
int Y,
char const * text,
int maxX);
842 void drawReshapingBox(
Rect boxRect);
845 static constexpr
int CORNERSENSE = 10;
855 uiFrameItem m_mouseDownFrameItem;
856 uiFrameItem m_mouseMoveFrameItem;
858 Rect m_lastReshapingBox;
887 virtual void processEvent(uiEvent * event);
905 enum class uiScrollBarItem {
939 virtual void processEvent(uiEvent * event);
1033 virtual void setScrollBar(
uiOrientation orientation,
int position,
int visible,
int range,
bool repaintScrollbar =
true);
1038 void paintScrollableControl();
1039 void paintScrollBars();
1040 Rect getVScrollBarRects(
Rect * topButton =
nullptr,
Rect * bottonButton =
nullptr,
Rect * bar =
nullptr);
1041 Rect getHScrollBarRects(
Rect * leftButton =
nullptr,
Rect * rightButton =
nullptr,
Rect * bar =
nullptr);
1042 uiScrollBarItem getItemAt(
int x,
int y);
1044 void handleFreeMouseMove(
int mouseX,
int mouseY);
1045 void handleCapturedMouseMove(
int mouseX,
int mouseY);
1046 void handleButtonsScroll();
1047 void handlePageScroll();
1051 int16_t m_HScrollBarPosition;
1052 int16_t m_HScrollBarVisible;
1053 int16_t m_HScrollBarRange;
1054 int16_t m_VScrollBarPosition;
1055 int16_t m_VScrollBarVisible;
1056 int16_t m_VScrollBarRange;
1062 int16_t m_mouseDownHScrollBarPosition;
1063 int16_t m_mouseDownVScrollBarPosition;
1065 uiScrollBarItem m_mouseOverItem;
1068 uiTimerHandle m_scrollTimer;
1119 virtual void processEvent(uiEvent * event);
1128 void setText(
char const * value);
1135 char const *
text() {
return m_text; }
1176 void paintContent(
Rect const &
rect);
1250 virtual void processEvent(uiEvent * event);
1273 void setText(
char const * value);
1280 char const *
text() {
return m_text; }
1293 virtual Rect getEditRect();
1297 void paintTextEdit();
1298 void paintContent();
1300 uint8_t
const * getCharInfo(
char ch,
int * width);
1301 int charColumnToWindowX(
int col);
1303 void moveCursor(
int col,
int selCol);
1304 int getColFromMouseX(
int mouseX);
1306 void checkAllocatedSpace(
int requiredLength);
1307 void insert(
char c);
1309 int getWordPosAtLeft();
1310 int getWordPosAtRight();
1311 void selectWordAt(
int mouseX);
1367 virtual void processEvent(uiEvent * event);
1376 void setText(
char const * value);
1392 char const *
text() {
return m_text; }
1418 uint16_t m_textExtent;
1454 virtual void processEvent(uiEvent * event);
1522 virtual void processEvent(uiEvent * event);
1569 virtual void processEvent(uiEvent * event);
1592 void paintPaintBox();
1634 virtual void processEvent(uiEvent * event);
1664 void selectItem(
int index,
bool add =
false,
bool range =
false);
1697 virtual int items_getCount() = 0;
1698 virtual void items_deselectAll() = 0;
1699 virtual void items_select(
int index,
bool select) = 0;
1700 virtual bool items_selected(
int index) = 0;
1701 virtual void items_draw(
int index,
const Rect & itemRect) = 0;
1705 void paintListBox();
1706 int getItemAtMousePos(
int mouseX,
int mouseY);
1707 void handleMouseDown(
int mouseX,
int mouseY);
1709 void makeItemVisible(
int index);
1713 int m_firstVisibleItem;
1744 StringList &
items() {
return m_items; }
1748 virtual int items_getCount() {
return m_items.count(); }
1749 virtual void items_deselectAll() { m_items.deselectAll(); }
1750 virtual void items_select(
int index,
bool select) { m_items.select(index, select); }
1751 virtual bool items_selected(
int index) {
return m_items.selected(index); }
1752 virtual void items_draw(
int index,
const Rect & itemRect);
1816 void processEvent(uiEvent * event);
1833 virtual int items_getCount() {
return m_dir.
count(); }
1834 virtual void items_deselectAll() { m_selected = -1; }
1835 virtual void items_select(
int index,
bool select);
1836 virtual bool items_selected(
int index) {
return index == m_selected; }
1837 virtual void items_draw(
int index,
const Rect & itemRect);
1891 virtual void processEvent(uiEvent * event);
1950 virtual Rect getEditRect();
1955 void paintComboBox();
1956 Rect getButtonRect();
1959 void closeListBox();
1960 void switchListBox();
1961 void updateTextEdit();
2019 virtual void processEvent(uiEvent * event);
2071 void paintCheckBox();
2073 void unCheckGroup();
2079 int16_t m_groupIndex;
2095 RGB ticksColor =
RGB(3, 3, 3);
2117 virtual void processEvent(uiEvent * event);
2176 void moveGripTo(
int x,
int y);
2186 int16_t m_ticksFrequency;
2228 struct ModalWindowState {
2230 uiWindow * prevFocusedWindow;
2231 uiWindow * prevActiveWindow;
2232 uiWindow * prevModal;
2266 void quit(
int exitCode);
2286 void postDebugMsg(
char const * msg);
2288 virtual void processEvent(uiEvent * event);
2366 void captureMouse(
uiWindow * window);
2506 void combineMouseMoveEvents(
bool value) { m_combineMouseMoveEvents = value; }
2508 void showCaret(uiWindow * window);
2510 void setCaret(
bool value);
2512 void setCaret(Point
const & pos);
2514 void setCaret(Rect
const & rect);
2527 uiTimerHandle
setTimer(uiEvtHandler * dest,
int periodMS);
2552 void cleanWindowReferences(
uiWindow * window);
2592 uiMessageBoxResult inputBox(
char const * title,
char const * text,
char * inOutString,
int maxLength,
char const * button1Text,
char const * button2Text =
nullptr);
2597 virtual void init();
2611 bool getEvent(uiEvent * event,
int timeOutMS);
2612 bool peekEvent(uiEvent * event,
int timeOutMS);
2617 void preprocessEvent(uiEvent * event);
2618 void preprocessMouseEvent(uiEvent * event);
2619 void preprocessKeyboardEvent(uiEvent * event);
2620 void filterModalEvent(uiEvent * event);
2622 static void timerFunc(TimerHandle_t xTimer);
2624 void blinkCaret(
bool forceOFF =
false);
2625 void suspendCaret(
bool value);
2630 QueueHandle_t m_eventsQueue;
2644 bool m_combineMouseMoveEvents;
2648 uiTimerHandle m_caretTimer;
2649 int m_caretInvertState;
2651 int m_lastMouseUpTimeMS;
2652 Point m_lastMouseUpPos;
uiWindowStyle & windowStyle()
Sets or gets window style.
Definition: fabui.h:488
void update()
Reloads current directory content and repaints.
Definition: fabui.cpp:3754
uiCheckBoxKind
Specifies the combobox behaviour.
Definition: fabui.h:1990
VirtualKey VK
Definition: fabui.h:135
uint8_t SHIFT
Definition: fabui.h:139
void quit(int exitCode)
Terminates application and free resources.
Definition: fabui.cpp:275
bool hasFocus()
Determines whether this window or control has focus.
Definition: fabui.cpp:1611
uiApp * app()
Determines the app that owns this object.
Definition: fabui.h:272
Definition: vgacontroller.h:412
uiImageStyle & imageStyle()
Sets or gets image style.
Definition: fabui.h:1477
RGB backgroundColor
Definition: fabui.h:1548
uint8_t hasMinimizeButton
Definition: fabui.h:686
uiPanelStyle & panelStyle()
Sets or gets panel style.
Definition: fabui.h:1529
void moveWindow(uiWindow *window, int x, int y)
Moves a window.
Definition: fabui.cpp:640
Delegate onChange
Slider changed event delegate.
Definition: fabui.h:2169
char const * filename()
Currently selected filename.
Definition: fabui.cpp:3728
uiWindow * capturedMouseWindow()
Determines which window is capturing mouse.
Definition: fabui.h:2375
Represents an RGB color.
Definition: vgacontroller.h:257
uiComboBoxStyle & comboBoxStyle()
Sets or gets combobox style.
Definition: fabui.h:1907
uiListBoxStyle & listBoxStyle()
Sets or gets listbox style.
Definition: fabui.h:1641
uiWindow * screenToWindow(Point &point)
Determines which window a point belongs to.
Definition: fabui.cpp:444
A frame is a window with a title bar, maximize/minimize/close buttons and that is resizeable or movea...
Definition: fabui.h:718
Contains details about the key event.
Definition: fabui.h:134
void setup(int min, int max, int ticksFrequency)
Sets minimum, maximum position and ticks frequency.
Definition: fabui.cpp:4151
Delegate< uiTimerHandle > onTimer
Timer event delegate.
Definition: fabui.h:2607
void setPosition(int value)
Sets the slider position.
Definition: fabui.cpp:4141
void minimizeWindow(uiWindow *window, bool value)
Minimizes or restores a window.
Definition: fabui.cpp:751
RGB backgroundColor
Definition: fabui.h:1432
uiTimerHandle setTimer(uiEvtHandler *dest, int periodMS)
Setups a timer.
Definition: fabui.cpp:768
void repaintRect(Rect const &rect)
Repaints a screen area.
Definition: fabui.cpp:631
uint8_t right
Definition: fabui.h:336
Represents the whole application base class.
Definition: fabui.h:2244
void resizeWindow(uiWindow *window, int width, int height)
Resizes a window.
Definition: fabui.cpp:646
void selectItem(int index)
Selects an item.
Definition: fabui.cpp:3834
uint8_t minimized
Definition: fabui.h:304
uiPaintBoxStyle & paintBoxStyle()
Sets or gets paintbox style.
Definition: fabui.h:1576
uint8_t left
Definition: fabui.h:334
virtual void init()
Method to inherit to implement an application.
Definition: fabui.cpp:463
RGB borderColor
Definition: fabui.h:324
uiWindow * setFocusedWindow(uiWindow *value)
Sets the focused window (control)
Definition: fabui.cpp:565
bool postEvent(uiEvent const *event)
Places an event in the event queue and returns without waiting for the receiver to process the event...
Definition: fabui.cpp:468
Base class for all visible UI elements (Frames and Controls)
Definition: fabui.h:344
char const * text()
Determines label text.
Definition: fabui.h:1392
uiLabelStyle & labelStyle()
Sets or gets label style.
Definition: fabui.h:1399
bool isMouseOver()
Determines whether the mouse is over this window.
Definition: fabui.h:533
Delegate onChange
Change event delegate.
Definition: fabui.h:1679
bool processModalWindowEvents(ModalWindowState *state, int timeout)
Processes all messages from modal window.
Definition: fabui.cpp:693
int lastSelectedItem()
Gets the last selected item.
Definition: fabui.cpp:3609
ModalWindowState * initModalWindow(uiWindow *window)
Begins modal window processing.
Definition: fabui.cpp:675
RGB activeTitleBackgroundColor
Definition: fabui.h:667
Rect transformRect(Rect const &rect, uiWindow *baseWindow)
Transforms rectangle origins from current window to another one.
Definition: fabui.cpp:1258
void maximizeWindow(uiWindow *window, bool value)
Maximizes or restores a window.
Definition: fabui.cpp:744
uiWindow * lastChild()
Gets last child.
Definition: fabui.h:394
Delegate onPaint
Paint event delegate.
Definition: fabui.h:823
Delegate onChange
Change event delegate.
Definition: fabui.h:2066
uiWindow * activeWindow()
Gets a pointer to the currently active window.
Definition: fabui.h:2315
FontInfo const * titleFont
Definition: fabui.h:670
uiTextEditProps & textEditProps()
Sets or gets text edit properties.
Definition: fabui.h:1264
uint8_t bottom
Definition: fabui.h:337
Shows a list of selectable string items.
Definition: fabui.h:1722
uint8_t top
Definition: fabui.h:335
int endModalWindow(ModalWindowState *state)
Ends modal window processing.
Definition: fabui.cpp:723
uiImage(uiWindow *parent, Bitmap const *bitmap, const Point &pos, const Size &size=Size(0, 0), bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:2891
uint8_t focusable
Definition: fabui.h:312
RGB checkedBackgroundColor
Definition: fabui.h:1981
Delegate onChange
Text edit event delegate.
Definition: fabui.h:1288
char const * directory()
Determines absolute path of current directory.
Definition: fabutils.h:387
void enableKeyboardAndMouseEvents(bool value)
Enables or disables mouse and keyboard events.
Definition: fabui.cpp:1086
Contains the listbox style.
Definition: fabui.h:1605
uiListBoxStyle & listBoxStyle()
Sets or gets listbox style.
Definition: fabui.h:1914
Contains the slider style.
Definition: fabui.h:2090
RGB selectedBackgroundColor
Definition: fabui.h:1608
Point pos()
Determines the window position relative to parent window.
Definition: fabui.h:422
Delegate< uiTimerHandle > onTimer
Timer event delegate.
Definition: fabui.h:808
RGB titleColor
Definition: fabui.h:668
uiControl(uiWindow *parent, const Point &pos, const Size &size, bool visible)
Creates an instance of the object.
Definition: fabui.cpp:2186
bool isDirectory()
Determines whether currently selected item is a directory.
Definition: fabui.cpp:3734
uiWindow * parent()
Determines the parent window.
Definition: fabui.h:495
RGB activeTitleColor
Definition: fabui.h:669
uint8_t borderSize
Definition: fabui.h:327
Base class of all UI elements that can receive events.
Definition: fabui.h:257
RGB focusedBackgroundColor
Definition: fabui.h:1207
Sets or gets text edit style.
Definition: fabui.h:1204
uint8_t GUI
Definition: fabui.h:140
Contains the paintbox style.
Definition: fabui.h:1547
Properties of the combobox.
Definition: fabui.h:1862
uiWindow * moveFocus(int delta)
Move focus to a control with current focus index plus a delta.
Definition: fabui.cpp:599
uiMessageBoxIcon
Icon displayed by the uiApp.messageBox() method.
Definition: fabui.h:2219
int count()
Determines number of files in current directory.
Definition: fabui.h:1800
void setScrollBar(uiOrientation orientation, int position, int visible, int range, bool repaintScrollbar)
Sets scrollbar position, visible portion and range.
Definition: fabui.cpp:3618
FontInfo const * textFont
Definition: fabui.h:1611
This file contains fabgl::CanvasClass definition and the related Canvas instance. ...
This file contains fabgl::VGAControllerClass definition and the VGAController instance.
A panel is used to contain and to group some controls.
Definition: fabui.h:1506
Represents a checkbox or a radiobutton.
Definition: fabui.h:2002
uint8_t resizeable
Definition: fabui.h:682
RGB mouseOverBackgroundButtonColor
Definition: fabui.h:673
void showWindow(uiWindow *window, bool value)
Makes a window visible or invisible.
Definition: fabui.cpp:667
uint8_t hasCaret
Definition: fabui.h:1217
virtual Rect clientRect(uiOrigin origin)
Determines the client area bounding box.
Definition: fabui.cpp:1296
Point clientPos()
Determines position of the client area.
Definition: fabui.cpp:1309
void bringOnTop()
Brings this window on top.
Definition: fabui.cpp:1235
bool realtimeReshaping
Definition: fabui.h:2201
void reshapeWindow(uiWindow *window, Rect const &rect)
Reshapes a window.
Definition: fabui.cpp:659
void setText(char const *value)
Sets label text.
Definition: fabui.cpp:2818
RGB focusedSelectedBackgroundColor
Definition: fabui.h:1609
void destroyWindow(uiWindow *window)
Destroys a window.
Definition: fabui.cpp:859
uiTextEdit(uiWindow *parent, char const *text, const Point &pos, const Size &size, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:2361
uiWindow * prev()
Gets previous sibling.
Definition: fabui.h:380
uiFrameProps & frameProps()
Sets or gets frame properties.
Definition: fabui.h:774
Properties of the application.
Definition: fabui.h:2198
uiFileBrowser(uiWindow *parent, const Point &pos, const Size &size, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:3690
uiButtonKind
Specifies the button kind.
Definition: fabui.h:1094
uiAppProps & appProps()
Sets or gets application properties.
Definition: fabui.h:2543
void update()
Updates the label content.
Definition: fabui.cpp:2841
Contains the label style.
Definition: fabui.h:1342
void bringAfter(uiWindow *insertionPoint)
Brings this window after another one.
Definition: fabui.cpp:1241
RGB rangeColor
Definition: fabui.h:2093
Describes mouse absolute position, scroll wheel delta and buttons status.
Definition: fabutils.h:206
uint8_t moveable
Definition: fabui.h:683
Point mouseDownPos()
Determines mouse position when left button was down.
Definition: fabui.h:502
uint16_t caretBlinkingTime
Definition: fabui.h:2199
int position()
Determines slider position.
Definition: fabui.h:2131
uiFrameStyle & frameStyle()
Sets or gets frame style.
Definition: fabui.h:767
RGB backgroundColor
Definition: fabui.h:1344
Rect rect(uiOrigin origin)
Determines the window bounding box.
Definition: fabui.cpp:1280
uiWindowState state()
Determines the window state.
Definition: fabui.h:474
int focusIndex()
Determines the focus index (aka tab-index)
Definition: fabui.h:574
VirtualKey
Represents each possible real or derived (SHIFT + real) key.
Definition: fabutils.h:502
RGB backgroundColor
Definition: fabui.h:1501
Represents the coordinate of a point.
Definition: fabutils.h:125
Represents an image with 64 colors image and transparency.
Definition: vgacontroller.h:385
Size size()
Determines the window size.
Definition: fabui.h:438
Contains the window style.
Definition: fabui.h:322
Properties of the frame.
Definition: fabui.h:681
void setFocusIndex(int value)
Sets the focus index (aka tab-index)
Definition: fabui.h:565
This file contains some utility classes and functions.
RGB activeBorderColor
Definition: fabui.h:325
RGB textColor
Definition: fabui.h:1345
uiLabel(uiWindow *parent, char const *text, const Point &pos, const Size &size=Size(0, 0), bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:2798
Definition: canvas.cpp:47
RGB foregroundColor
Definition: fabui.h:1983
uint8_t activable
Definition: fabui.h:311
CursorName
This enum defines a set of predefined mouse cursors.
Definition: vgacontroller.h:410
uiWindow * firstChild()
Gets first child.
Definition: fabui.h:387
Delegate< uiKeyEventInfo > onKeyUp
Key-up event delegate.
Definition: fabui.h:818
void repaint()
Repaints this window.
Definition: fabui.cpp:1274
Specifies the object type.
Definition: fabui.h:204
int count()
Determines number of files in current directory.
Definition: fabutils.h:394
Contains some window options.
Definition: fabui.h:310
uiPanel(uiWindow *parent, const Point &pos, const Size &size, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:2957
int run()
Initializes application and executes the main event loop.
Definition: fabui.cpp:188
uint8_t visible
Definition: fabui.h:302
void exitModal(int modalResult)
Exits from a modal window.
Definition: fabui.cpp:1603
StringList & items()
A list of strings representing the listbox content.
Definition: fabui.h:1744
uint8_t active
Definition: fabui.h:305
MouseStatus status
Definition: fabui.h:146
RGB backgroundColor
Definition: fabui.h:1980
void repaintWindow(uiWindow *window)
Repaints a window.
Definition: fabui.cpp:625
uint8_t hasCloseButton
Definition: fabui.h:684
Represents a rectangle.
Definition: fabutils.h:158
void setText(char const *value)
Replaces current text.
Definition: fabui.cpp:2388
uint8_t changedButton
Definition: fabui.h:147
uiWindowProps & windowProps()
Sets or gets window properties.
Definition: fabui.h:481
uiTextEditStyle & textEditStyle()
Sets or gets text edit style.
Definition: fabui.h:1257
uiComboBoxProps & comboBoxProps()
Sets or gets combobox properties.
Definition: fabui.h:1921
void setTitleFmt(const char *format,...)
Sets window title as formatted text.
Definition: fabui.cpp:1673
static FontInfo const * getPresetFontInfoFromHeight(int height, bool fixedWidth)
Gets the font info that best fits the specified height.
Definition: canvas.cpp:499
uiSliderStyle & sliderStyle()
Sets or gets slider style.
Definition: fabui.h:2124
Represents a text edit control.
Definition: fabui.h:1233
uiComboBox(uiWindow *parent, const Point &pos, const Size &size, int listHeight, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:3800
uint8_t RALT
Definition: fabui.h:137
Delegate onShow
Show window event delegate.
Definition: fabui.h:786
Contains details about the mouse event.
Definition: fabui.h:145
int max()
Gets maximum position.
Definition: fabui.h:2152
RGB buttonColor
Definition: fabui.h:671
void deselectAll()
Deselects all selected items.
Definition: fabui.cpp:3541
Delegate onDblClick
Mouse double click event delegate.
Definition: fabui.h:592
StringList & items()
A list of strings representing items of the combobox.
Definition: fabui.h:1900
Delegate onKillFocus
Kill focus event delegate.
Definition: fabui.h:1684
uiWindow * focusedWindow()
Gets the focused window (control)
Definition: fabui.h:2340
int showModalWindow(uiWindow *window)
Makes a window visible and handles it has a modal window.
Definition: fabui.cpp:735
uiPaintBox(uiWindow *parent, const Point &pos, const Size &size, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:3008
void selectItem(int index, bool add=false, bool range=false)
Selects a listbox item.
Definition: fabui.cpp:3501
RGB textColor
Definition: fabui.h:1612
uiCheckBoxStyle & checkBoxStyle()
Sets or gets checkbox style.
Definition: fabui.h:2026
uiMessageBoxResult messageBox(char const *title, char const *text, char const *button1Text, char const *button2Text=nullptr, char const *button3Text=nullptr, uiMessageBoxIcon icon=uiMessageBoxIcon::Question)
Displays a modal dialog box with an icon, text and some buttons.
Definition: fabui.cpp:898
void killTimer(uiTimerHandle handle)
Kills a timer.
Definition: fabui.cpp:776
void setChecked(bool value)
Sets current checkbox or radiobutton checked status.
Definition: fabui.cpp:4082
uint8_t CTRL
Definition: fabui.h:138
Rect clientRect(uiOrigin origin)
Determines the client area bounding box.
Definition: fabui.cpp:1701
bool hasChildren()
Determines whether this window has children.
Definition: fabui.h:401
This file contains FabGL library configuration settings, like number of supported colors...
Base class of all UI elements like windows and controls.
Definition: fabui.h:231
uiObjectType & objectType()
Determines the object type.
Definition: fabui.h:244
A paintbox control allows applications to perform custom drawings providing uiPaintBox.onPaint delegate. A paintbox can have horizontal and vertical scrollbars.
Definition: fabui.h:1553
RGB activeButtonColor
Definition: fabui.h:672
Delegate< uiKeyEventInfo > onKeyDown
Key-down event delegate.
Definition: fabui.h:813
RGB titleBackgroundColor
Definition: fabui.h:666
Represents a bidimensional size.
Definition: fabutils.h:143
uiWindow * next()
Gets next sibling.
Definition: fabui.h:371
FontInfo const * textFont
Definition: fabui.h:1209
CursorName defaultCursor
Definition: fabui.h:323
RGB textColor
Definition: fabui.h:1208
char const * directory()
Determines current directory.
Definition: fabui.h:1793
Delegate onClick
Mouse click event delegate.
Definition: fabui.h:584
int min()
Gets minimum position.
Definition: fabui.h:2145
uiListBox(uiWindow *parent, const Point &pos, const Size &size, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:3667
RGB backgroundColor
Definition: fabui.h:665
int firstSelectedItem()
Gets the first selected item.
Definition: fabui.cpp:3599
uint8_t maximized
Definition: fabui.h:303
uiSlider(uiWindow *parent, const Point &pos, const Size &size, uiOrientation orientation, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:4118
Contains the listbox style.
Definition: fabui.h:1855
uint8_t openOnFocus
Definition: fabui.h:1863
uint8_t focusedBorderSize
Definition: fabui.h:328
RGB buttonBackgroundColor
Definition: fabui.h:1856
RGB mouseOverButtonColor
Definition: fabui.h:674
RGB focusedBackgroundColor
Definition: fabui.h:1607
Delegate onResize
Resize window event delegate.
Definition: fabui.h:800
uiCheckBox(uiWindow *parent, const Point &pos, const Size &size, uiCheckBoxKind kind=uiCheckBoxKind::CheckBox, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:3975
void setDirectory(char const *path)
Sets current directory.
Definition: fabui.cpp:3720
A label is a static text UI element.
Definition: fabui.h:1350
uiCustomListBox(uiWindow *parent, const Point &pos, const Size &size, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:3405
int itemHeight
Definition: fabui.h:1610
RGB gripColor
Definition: fabui.h:2094
Properties of the text edit.
Definition: fabui.h:1216
Contains the image style.
Definition: fabui.h:1431
RGB backgroundColor
Definition: fabui.h:1205
This is the base class for all controls. A control can have focus and is not activable.
Definition: fabui.h:871
RGB selectedTextColor
Definition: fabui.h:1613
Contains anchors enable/disable switches.
Definition: fabui.h:333
void setTextFmt(const char *format,...)
Sets label formatted text.
Definition: fabui.cpp:2827
RGB buttonColor
Definition: fabui.h:1857
uiFrame * rootWindow()
Gets a pointer to the root window.
Definition: fabui.h:2305
Shows generic a list of selectable items.
Definition: fabui.h:1618
uiOrigin
Specifies window rectangle origin.
Definition: fabui.h:293
bool insertEvent(uiEvent const *event)
Inserts (first position) an event in the event queue and returns without waiting for the receiver to ...
Definition: fabui.cpp:474
void setBitmap(Bitmap const *bitmap)
Sets image bitmap.
Definition: fabui.cpp:2909
Delegate onHide
Hide window event delegate.
Definition: fabui.h:793
A slider or track bar is a graphical control element with which a user may set a value by moving an i...
Definition: fabui.h:2100
RGB backgroundColor
Definition: fabui.h:1606
int groupIndex()
Determines radiobutton group index.
Definition: fabui.h:2049
uint16_t doubleClickTime
Definition: fabui.h:2200
Specifies current window state.
Definition: fabui.h:301
int selectedItem()
Represents currently selected item.
Definition: fabui.h:1928
char const * title()
Determines the window title.
Definition: fabui.h:742
uint8_t hasMaximizeButton
Definition: fabui.h:685
RGB backgroundColor
Definition: fabui.h:2091
This is a combination of a listbox and a single-line editable textbox.
Definition: fabui.h:1873
Shows and navigates Virtual Filesystem content.
Definition: fabui.h:1765
uiMessageBoxResult inputBox(char const *title, char const *text, char *inOutString, int maxLength, char const *button1Text, char const *button2Text=nullptr)
Displays a modal dialog box with a text, a text edit and up to two buttons.
Definition: fabui.cpp:997
FileBrowser & content()
Contains current directory representation.
Definition: fabui.h:1828
uiWindow * setActiveWindow(uiWindow *value)
Sets the active window.
Definition: fabui.cpp:521
Delegate< Rect > onPaint
Paint event delegate.
Definition: fabui.h:1587
uint8_t LALT
Definition: fabui.h:136
RGB mouseOverBackgroundColor
Definition: fabui.h:1206
FontInfo const * textFont
Definition: fabui.h:1343
void setTitle(char const *value)
Sets window title.
Definition: fabui.cpp:1665
Contains the checkbox style.
Definition: fabui.h:1979
bool checked()
Determines whether the checkbox or radiobutton is checked.
Definition: fabui.h:2033
uint8_t allowEdit
Definition: fabui.h:1218
uiAnchors & anchors()
Allows to switch on or off anchors.
Definition: fabui.h:558
Contains the panel style.
Definition: fabui.h:1500
void processEvents()
Processes all events in queue.
Definition: fabui.cpp:262
char const * text()
Gets current content of the text edit.
Definition: fabui.h:1280
uiMessageBoxResult
Return values from uiApp.messageBox() method.
Definition: fabui.h:2208
uiWindow(uiWindow *parent, const Point &pos, const Size &size, bool visible)
Creates an instance of the object.
Definition: fabui.cpp:1109
uiOrientation
Item direction/orientation.
Definition: fabui.h:192
Size clientSize()
Determines the client area size.
Definition: fabui.cpp:1303
Delegate< uiKeyEventInfo > onKeyUp
Key-up event delegate.
Definition: fabui.h:1689
Delegate onChange
Change event delegate.
Definition: fabui.h:1945
RGB mouseOverBackgroundColor
Definition: fabui.h:1982
RGB focusedBorderColor
Definition: fabui.h:326
RGB slideColor
Definition: fabui.h:2092
Bitmap const * bitmap()
Gets image bitmap.
Definition: fabui.h:1470
void setGroupIndex(int value)
Sets radiobutton group index.
Definition: fabui.h:2056
Image control to display a static bitmap.
Definition: fabui.h:1437
uiFrame(uiWindow *parent, char const *title, const Point &pos, const Size &size, bool visible=true)
Creates an instance of the object.
Definition: fabui.cpp:1646
FileBrowser allows basic file system operations (dir, mkdir, remove and rename)
Definition: fabutils.h:357