User Interface API

This section describes all the classes and functions involved in the IO Ninja UI (user-interface) model, i.e. menus, toolbars, property grids, etc.

// typedefs

typedef ui.ListItem ui.ComboItem;
typedef ui.ListItem ui.EnumPropertyOption;

// enums

bitflag enum ui.Alignment;
enum ui.AuthenticationMethod;
bitflag enum ui.ColorFlags;
enum ui.FileDlgKind;
enum ui.FilePropertyMode;
bitflag enum ui.FilePropertyOptions;
bitflag enum ui.FontFlags;
enum ui.FrameShadow;
enum ui.InsertActionPos;
enum ui.SizePolicy;
bitflag enum ui.SizePolicyFlags;
enum ui.StdColor;
enum ui.StdDlgButton;
bitflag enum ui.StdDlgButtons;
enum ui.StdDlgIcon;
enum ui.TextFormat;
enum ui.ToolButtonStyle;

// structs

struct ui.ColorRange;
struct ui.DictionaryEntry;
struct ui.FlagPropertyOption;
struct ui.ListItem;
struct ui.TextAttr;

// classes

class ui.AbstractButton;
class ui.Action;
class ui.ActionProperty;
class ui.BoolProperty;
class ui.BoxLayout;
class ui.CheckBox;
class ui.CheckBoxLabel;
class ui.ColorProperty;
class ui.ColorRangeTree;
class ui.ComboBox;
class ui.ComboProperty;
class ui.DictionaryProperty;
class ui.DictionaryWidget;
class ui.EnumProperty;
class ui.FileDlg;
class ui.FileProperty;
class ui.FlagProperty;
class ui.FormLayout;
class ui.GroupBox;
class ui.GroupProperty;
class ui.HBoxLayout;
class ui.Icon;
class ui.InformationGrid;
class ui.InformationGroup;
class ui.InformationItem;
class ui.InformationStatValue;
class ui.InformationValue;
class ui.IntProperty;
class ui.Label;
class ui.Layout;
class ui.LineEdit;
class ui.ListWidget;
class ui.LoginDlg;
class ui.Menu;
class ui.MessageDlg;
class ui.ProgressDlg;
class ui.Property;
class ui.PropertyGrid;
class ui.PushButton;
class ui.RadioButton;
class ui.SpinBox;
class ui.StatusBar;
class ui.StatusPane;
class ui.StringProperty;
class ui.Terminal;
class ui.ToolBar;
class ui.VBoxLayout;
class ui.Widget;

// global functions

uint_t ui.rgb(
    uint8_t r,
    uint8_t g,
    uint8_t b
);

ui.DictionaryEntry* ui.loadDictionary(
    doc.Storage* storage,
    string_t name,
    size_t* count = null
);

void ui.saveDictionary(
    ui.DictionaryEntry const* dictionary,
    doc.Storage* storage,
    string_t name
);

ui.DictionaryEntry* ui.insertDictionaryHead(
    ui.DictionaryEntry* dictionary,
    string_t key,
    string_t value,
    bool isChecked = true
);

std.StringHashTable* ui.createDictionaryHashTable(ui.DictionaryEntry const* dictionary);

ui.DictionaryEntry* ui.findDictionaryEntry(
    ui.DictionaryEntry* dictionary,
    string_t key
);