AppCUI::Controls

namespace Controls

Every visual element: windows, buttons, text fields, lists, trees, grids, splitters, tabs, menus and the base Control class.

Controls are created through the AppCUI::Controls::Factory classes and positioned with layout strings.

Namespaces

  • AppCUI::Controls::Factory - Creation helpers: Factory::<Control>::Create(parent, …, layout, …) creates a control and adds it to its parent (returning a non-owning Reference) or returns an owning Pointer when no parent is given.

  • AppCUI::Controls::Handlers - Event handlers that can be attached to a control (control->Handlers()->OnXXX = …) instead of deriving a new control class: either a pointer to an object that implements the matching On…Interface or a plain function (a lambda without captures).

Classes

Enumerations

enum class AppCUI::Controls::ControlStateFlags : uint32

Values:

enumerator None = 0
enumerator ProcessHoverStatus = 1
enumerator ProcessCheckOrPressedStatus = 2
enumerator All = 3
enum class AppCUI::Controls::ControlState : uint32

Values:

enumerator Focused = 0
enumerator Normal = 1
enumerator Hovered = 2
enumerator Inactive = 3
enumerator PressedOrSelected = 4
enum class AppCUI::Controls::Event : uint32

Values:

enumerator WindowClose
enumerator WindowAccept
enumerator ButtonClicked
enumerator CheckedStatusChanged
enumerator TextChanged
enumerator TextFieldValidate
enumerator PasswordValidate
enumerator TabChanged
enumerator ListViewCurrentItemChanged
enumerator ListViewSelectionChanged
enumerator ListViewItemChecked
enumerator ListViewItemPressed
enumerator ComboBoxSelectedItemChanged
enumerator ComboBoxClosed
enumerator ColorPickerSelectedColorChanged
enumerator ColorPickerClosed
enumerator TerminateApplication
enumerator Command
enumerator NumericSelectorValueChanged
enumerator SplitterPositionChanged
enumerator PropertyItemChanged
enumerator SplitterPanelAutoExpanded
enumerator SplitterPanelAutoCollapsed
enumerator KeySelectorChanged
enumerator Custom
enum class AppCUI::Controls::WindowFlags : uint32

Values:

enumerator None = 0
enumerator Sizeable = 0x000100
enumerator NotifyWindow = 0x000200
enumerator ErrorWindow = 0x000400
enumerator WarningWindow = 0x000800
enumerator NoCloseButton = 0x001000
enumerator FixedPosition = 0x004000
enumerator Maximized = 0x008000
enumerator Menu = 0x010000
enumerator ProcessReturn = 0x020000
enum class AppCUI::Controls::WindowControlsBarLayout : uint8

Values:

enumerator None = 0
enumerator TopBarFromLeft = 1
enumerator BottomBarFromLeft = 2
enumerator TopBarFromRight = 3
enumerator BottomBarFromRight = 4
enum class AppCUI::Controls::ButtonFlags : uint32

Values:

enumerator None = 0
enumerator Flat = 0x000100
enum class AppCUI::Controls::SplitterFlags : uint32

Values:

enumerator Horizontal = 0
enumerator Vertical = 0x000100
enumerator AutoCollapsePanel1 = 0x000200
enumerator AutoCollapsePanel2 = 0x000400
enum class AppCUI::Controls::TextFieldFlags : uint32

Values:

enumerator None = 0
enumerator ProcessEnter = 0x000100
enumerator Readonly = 0x000200
enumerator SyntaxHighlighting = 0x000400
enumerator DisableAutoSelectOnFocus = 0x000800
enum class AppCUI::Controls::TextAreaFlags : uint32

Values:

enumerator None = 0x000000
enumerator Border = 0x000100
enumerator ShowLineNumbers = 0x000200
enumerator ProcessTabKey = 0x000400
enumerator Readonly = 0x000800
enumerator ScrollBars = 0x001000
enumerator SyntaxHighlighting = 0x002000
enumerator DisableAutoSelectOnFocus = 0x004000
enum class AppCUI::Controls::TabFlags : uint32

Values:

enumerator TopTabs = 0x000000
enumerator BottomTabs = 0x000100
enumerator LeftTabs = 0x000200
enumerator ListView = 0x000300
enumerator HideTabs = 0x000400
enumerator TransparentBackground = 0x001000
enumerator TabsBar = 0x002000
enum class AppCUI::Controls::UserControlFlags : uint32

Values:

enumerator None = 0x000000
enumerator ShowVerticalScrollBar = 0x000100
enumerator ShowHorizontalScrollBar = 0x000200
enumerator ScrollBarOutsideControl = 0x000400
enum class AppCUI::Controls::ViewerFlags : uint32

Values:

enumerator None = 0x000000
enumerator Border = 0x000100
enumerator HideScrollBar = 0x000200
enum class AppCUI::Controls::ColumnsHeaderViewFlags : uint32

Values:

enumerator None = 0
enumerator Clickable = 0x00001
enumerator Sortable = 0x00002
enumerator HideSeparators = 0x00004
enumerator FixedSized = 0x00008
enumerator HideHeader = 0x00010
enum class AppCUI::Controls::CopyClipboardFormat : uint8

Values:

enumerator TextWithTabs = 0
enumerator CSV
enumerator HTML
enum class AppCUI::Controls::CopyClipboardFlags : uint32

Values:

enumerator None = 0
enumerator CopyHeader = 0x00000001
enum class AppCUI::Controls::ListViewFlags : uint32

Values:

enumerator None = 0
enumerator HideColumns = 0x000100
enumerator CheckBoxes = 0x000200
enumerator HideColumnsSeparator = 0x000400
enumerator Sortable = 0x000800
enumerator ItemSeparators = 0x001000
enumerator HideCurrentItemWhenNotFocused = 0x002000
enumerator AllowMultipleItemsSelection = 0x004000
enumerator SearchMode = 0x008000
enumerator HideSearchBar = 0x010000
enumerator HideBorder = 0x020000
enumerator HideScrollBar = 0x040000
enumerator PopupSearchBar = 0x080000
enum class AppCUI::Controls::TreeViewFlags : uint32

Values:

enumerator None = 0x000000
enumerator HideColumns = 0x000100
enumerator HideBorder = 0x000200
enumerator HideColumnsSeparator = 0x000400
enumerator Sortable = 0x000800
enumerator DynamicallyPopulateNodeChildren = 0x001000
enumerator HideScrollBar = 0x002000
enumerator Searchable = 0x004000
enumerator FilterSearch = 0x008000
enumerator HideSearchBar = 0x010000
enum class AppCUI::Controls::GridFlags : uint32

Values:

enumerator None = 0x000000
enumerator HideHorizontalLines = 0x000100
enumerator HideVerticalLines = 0x000200
enumerator HideBoxes = 0x000400
enumerator HideHoveredCell = 0x000800
enumerator HideSelectedCell = 0x001000
enumerator TransparentBackground = 0x002000
enumerator DisableZoom = 0x004000
enumerator DisableMove = 0x008000
enumerator Sort = 0x010000
enumerator DisableDuplicates = 0x020000
enumerator Filter = 0x040000
enum class AppCUI::Controls::PropertyListFlags : uint32

Values:

enumerator None = 0x000000
enumerator Border = 0x000100
enumerator ReadOnly = 0x000200
enumerator HideCategories = 0x000400
enum class AppCUI::Controls::KeySelectorFlags : uint32

Values:

enumerator None = 0x000000
enumerator ProcessTab = 0x000100
enumerator ProcessReturn = 0x000200
enumerator ProcessEscape = 0x000400
enumerator ReadOnly = 0x000800

Type aliases

using AppCUI::Controls::ItemHandle = uint32

Variables

constexpr ItemHandle AppCUI::Controls::InvalidItemHandle = 0xFFFFFFFF