Reference
This section is for details you look up while building with ModernUI.
Start with the practical guides first. Use reference pages when you need exact lifecycle rules, event routing, ownership notes, or source patterns.
Reference pages
| Page | Use it for |
|---|---|
| MuiRoot | Root setup, shutdown, timer, events, invalidation, theme, scale |
| Root and events | Required MT5 event forwarding and SetEventSink pattern |
| Event Bus | Recommended EA event routing, MuiEventData fields, and every standard app-level event |
| Controls reference | Browsable API reference entry point for controls, layout classes, data views, charts, overlays, and helpers |
| Buttons | Button controls, icon buttons, button rows, button groups, and click payloads |
| Inputs | Checkbox, toggle, slider, spin edit, text, combo, radio, date, and color inputs |
| Data views | List, table, tree, row templates, and data source APIs |
| Navigation | Tabs, accordion, toolbar, menu, dropdown, and context menu APIs |
| Overlays | Drawers, dialogs, modals, toast, tooltip, and overlay layer APIs |
| Display | Labels, badges, icons, alerts, progress, status bars, cards, and visual controls |
| Charts | Sparkline, line chart, bar chart, donut chart, and half gauge controls |
| Layout | Containers, windows, panels, scroll views, grids, splitters, spacers, dividers, and form rows |
| Factory helpers (reference) | MuiCreate::..., Mui::..., wrapper structs, and helper return types |
| Factory helpers | Existing Mui::... creation helper conventions |
| Fast wrapper types | Return structs such as MuiAppWindow, MuiSection, MuiButtonRow |
| Event handlers | Advanced/legacy handler ownership and safe patterns |
| Custom intent events | Optional high-level user-driven callbacks for specialist controls |
| Table and list sources | MuiItemSource, MuiTableSource, SimpleTable, ListBox |
| Ownership and lifetime | Container ownership, sources, handlers, shutdown |
| DPI and scaling | DPI modes, logical units, manual scale |
| Native input hosts | TextBox/TextArea native OBJ_EDIT behaviour |
Normal learning path
Install
-> Quick Start
-> First Panel
-> Recommended EA Structure
-> Build UIs Faster
-> Examples
-> Reference when needed
Common reference questions
| Question | Page |
|---|---|
What must I put in OnInit? |
Root and events |
| How do I handle button clicks without custom classes? | Event Bus |
| Which event fires for tables, tabs, dialogs, drawers, or color pickers? | Event Bus — see also per-control pages under Controls reference |
| What options and events does a specific control support? | Controls reference (buttons, inputs, data views, navigation, overlays, display, charts, layout, factory helpers) |
| I am building a settings panel, trade panel, dashboard, confirm dialog, or drawer | Controls reference — Common build scenarios |
How do I create Mui::LabeledSpinEdit or Mui::AppWindow? |
Factory helpers (reference) |
Why must I forward OnChartEvent? |
Root and events |
| Who deletes controls? | Ownership and lifetime |
| Which low-level handlers are owned? | Event handlers |
| How do I create a simple table? | Table and list sources |
| Why does Windows DPI not enlarge my panel? | DPI and scaling |
| Why do text boxes behave differently from canvas controls? | Native input hosts |