Crate appcui_proc_macro

Crate appcui_proc_macro 

Source

Macros§

accordion
Creates a new accordion control for displaying collapsible content sections. The format is accordion!("attributes") where the attributes are pairs of key-value, separated by comma.
button
Creates a new button control. The format is button!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
canvas
Creates a new canvas control for custom drawing operations. The format is canvas!("attributes") where the attributes are pairs of key-value, separated by comma.
char
Creates a Character object with customizable appearance. The char! macro provides a convenient way to create characters with specific colors and attributes.
charattr
Creates a CharAttribute object that defines colors and attributes for characters.
charpicker
Creates a new character picker control for selecting Unicode characters from various character sets. The format is charpicker!("attributes") where the attributes are pairs of key-value, separated by comma.
checkbox
Creates a new checkbox control. The format is checkbox!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
colorpicker
Creates a new colorpicker control. The format is colorpicker!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
combobox
Creates a new combobox control for selecting from a list of items. The format is combobox!("attributes") where the attributes are pairs of key-value, separated by comma.
datepicker
Creates a new DatePicker control for selecting dates. The format is datepicker!("attributes") where the attributes are pairs of key-value, separated by comma.
dropdownlist
Creates a new dropdown list control for selecting from a list of items. The format is dropdownlist!("attributes") where the attributes are pairs of key-value, separated by comma.
graphview
Creates a new graph view control for displaying and interacting with node-edge graphs. The format is graphview!("attributes") where the attributes are pairs of key-value, separated by comma.
headercolumn
Creates a Column object for use in controls like ListView or similar. This macro provides a convenient way to define columns with caption, width, and text alignment.
hline
Creates a new horizontal line control. The format is hline!("attributes") where the attributes are pairs of key-value, separated by comma.
hsplitter
Creates a new horizontal splitter control for resizing two horizontal panes. The format is hsplitter!("attributes") where the attributes are pairs of key-value, separated by comma.
imageviewer
Creates a new image viewer control for displaying images with various rendering options. The format is imageviewer!("attributes") where the attributes are pairs of key-value, separated by comma.
key
Use to quickly identify a key or a combination via a string Usage examples:
keyselector
Creates a new keyselector control. The format is keyselector!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
label
Creates a new label control. The format is label!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
layout
Creates a layout from a string description using the LayoutBuilder pattern. The format is layout!("parameter:value, parameter:value, ...") where parameters define how a control should be positioned and sized.
listbox
Creates a new listbox control. The format is listbox!("attributes") where the attributes are pairs of key-value, separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
listview
Creates a new ListView control for displaying a list of items of type T. The format is listview!("attributes") where the attributes are pairs of key-value, separated by comma.
markdown
Creates a new markdown viewer control for displaying formatted text content. The format is markdown!("attributes") where the attributes are pairs of key-value, separated by comma.
menu
Creates a new menu that can contain menu items. The format is menu!("attributes") where the attributes are pairs of key-value, separated by comma.
menuitem
Creates a new menu item for use in menus. The format is menuitem!("attributes") where the attributes are pairs of key-value, separated by comma.
numericselector
Creates a new numeric selector control for selecting numeric values. The format is numericselector!("attributes") where the attributes are pairs of key-value, separated by comma.
panel
Creates a new panel control. The format is panel!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
password
Creates a new password control. The format is password!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
pathfinder
Creates a new pathfinder control. The format is pathfinder!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
progressbar
Creates a new progress bar control for displaying progress of an operation. The format is progressbar!("attributes") where the attributes are pairs of key-value, separated by comma.
radiobox
Creates a new radiobox control. The format is radiobox!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
selector
Creates a new selector control for choosing enum values. The format is selector!("attributes") where the attributes are pairs of key-value, separated by comma.
tab
Creates a new tab control for organizing content into multiple pages. The format is tab!("attributes") where the attributes are pairs of key-value, separated by comma.
textarea
Creates a new text area control for multi-line text input and display. The format is textarea!("attributes") where the attributes are pairs of key-value, separated by comma.
textfield
Creates a new textfield control. The format is textfield!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
threestatebox
Creates a new three-state box control. The format is threestatebox!("attributes") where the attributes are pairs of key-value , separated by comma, in the format key=value or key:value. If the value is a string, use single quotes to delimit the value. The following attributes are supported:
timepicker
Creates a new TimePicker control for selecting and editing time values. The format is timepicker!("attributes") where the attributes are pairs of key-value, separated by comma.
togglebutton
Creates a new toggle button control that can be toggled on/off. The format is togglebutton!("attributes") where the attributes are pairs of key-value, separated by comma.
toolbaritem
treeview
Creates a new tree view control for displaying hierarchical data. The format is treeview!("attributes") where the attributes are pairs of key-value, separated by comma.
vline
Creates a new vertical line control. The format is vline!("attributes") where the attributes are pairs of key-value, separated by comma.
vsplitter
Creates a new vertical splitter control for resizing two vertical panes. The format is vsplitter!("attributes") where the attributes are pairs of key-value, separated by comma.
window

Attribute Macros§

CustomContainer
CustomControl
Used to create a custom control The general format is: #[CustomControl(overwrite = ..., events= ...)] Where the overwrite parameter is a list of traits that can be overwritten that include:
Desktop
Used to create window and intercepts/process events from children controls. The general format is: #[Desktop(overwrite = ..., events= ...)] Where the overwrite parameter is a list of traits that can be overwritten that include:
ModalWindow
Window
Used to create a custom window that can process events from its controls The general format is: #[Window(events = ...)] Where the events parameter is a list of traits that can be overwritten:

Derive Macros§

DropDownListType
Automatically implements the DropDownListType trait for an enum, enabling it to be used with dropdown selection mechanisms.
EnumSelector
Automatically implements the EnumSelector trait for an enum, enabling it to be used with controls like Selector.
ListItem
Automatically implements the ListItem trait for a structure, enabling it to be displayed in controls like ListView or TreeView.