Skip to content
ModernUI A DaneTrades developer library

Build UIs Faster

ModernUI includes optional fast wrappers for the UI shapes most Expert Advisors and indicators need again and again.

Fast wrappers help you create common structures quickly:

  • chart-hosted app windows
  • titled sections
  • labelled input rows
  • button rows
  • selectable button groups
  • simple lists and tables
  • tabbed sections
  • status rows and toasts

They are designed for speed, not lock-in. You can use wrappers for the outer shell and common rows, then drop down to raw controls whenever you need more control.

Recommended path

Start here if you want to build a real panel quickly:

  1. Read Fast wrappers overview.
  2. Use AppWindow, Section, and LabeledField for the panel shell.
  3. Add form controls with Labeled inputs.
  4. Add actions with ButtonRow and ButtonGroup.
  5. Add feedback with Toast, StatusRow, and DrawerSection.
  6. Study the Compact trade panel composition example.

What wrappers do

A wrapper is a small factory function under Mui::....

For example:

UI build fragment
MuiAppWindow app=Mui::AppWindow(g_ui,"Panel",20,40,340,430,true);
MuiSection main=Mui::Section(app.content,"Settings","Quick controls");
MuiLabeledSpinEdit risk=Mui::LabeledSpinEdit(main.body,"Risk %",0.1,10.0,0.1,1.0);

That creates a usable window, a section, and a labelled spin edit without manually creating every label, container, input, spacing rule, and hint row.

What wrappers do not do

Fast wrappers do not replace the full ModernUI API.

You can still use:

  • new MuiWindow
  • MuiContainer
  • MuiPanel
  • MuiButton
  • MuiTableView
  • MuiListView
  • MuiTreeView
  • custom table and list sources
  • custom handlers
  • direct layout composition

Wrappers are best for the standard parts of a UI. Raw controls are best when the panel needs specialised behaviour.

Main pages in this section

Page Use it for
Fast wrappers overview Understanding wrappers vs raw controls
AppWindow, Section, and LabeledField Creating the shell and grouped sections
Labeled inputs Text boxes, spin edits, combos, checkboxes, sliders, dates, colours
ButtonRow and ButtonGroup Action strips and mutually exclusive choices
Combo, List, Table, Tabs Array-backed controls and simple data displays
Toast, StatusRow, DrawerSection Inline status, notifications, and drawer layout
Compact trade panel A realistic UI-only trade-style panel composition

Next step

Read Fast wrappers overview.