Harmonia GUI Framework.

Package tree:

Package content:

Package Module Class/struct/type declaration Description
gx package
harmonia.gx. graphics ISurface interface
Graphics class
color typedef uint
geometry size struct
point struct
range struct
rect struct
images Image class
ImageEx : Image class, expandable Image
ImageList : Image class, collection of images - icons
Icon class, representation of image list element
ui package
harmonia.ui. application Application static class, a.k.a. singleton
Application.ActionQueue class, member of Application. Asynchronous actions queue
widget Widget class, rectangular area on window capable to receive and handle events. Root class of all other widgets.
widgets Widgets : Widget class, widget - container
Scrollable(W) : W template, scrollable container template. W is widget class derived from the Widgets class
window Window : Widgets, ISurface class, window - top level frame of underlying OS. Types: FRAME, POPUP, TOOL, DIALOG
events Event abstract class, root of all other events
EventPointer : Event class, pointer event: mouse, stylus and other pointing devices
EventKey : Event class, keyboard events
EventWidget : Event class, focus & co. events
EventCommand : Event class, command events, synthesized actions like EditCommand.Cut, EditCommand.Copy, etc.
EventControl : Event class, control events: CHANGED, CHANGING, UICHANGED
KEY enum, standard keyboard codes.
commands Command class, UI command. Has name, description, icon fields.
EditCommand static class, standard commands, members: Cut, Copy, Undo, Redo, etc. Command instances.
FileCommand static class, standard commands, members: New, Open, Save, SaveAs, etc. Command instances.
frame Frame : Window class, main window of application. Has menu, view, status, toolbarBand fields.
dialog Dialog : Window class, dialog window parametrized by HTML text.
tooltip TooltipWindow : Window class, tooltip window implementation.
menu MenuItem : Widget, ITooltip class, Command menu item.
Menu : MenuItem class, collection of MenuItem(s). Has Menu.Popup : Window implementation inside.
MenuBar : Widgets  
definitions IInline, IBlock interfaces, used by html engine to replace <input> elements
IValue interface, value getter setter, used in Dialog implementation.
ITooltip interface, tooltipText plain or HTML text source. Any widget must implement this in order to have tooltips
IProperties interface, controls meta info, used by HTML engine and interactive UI builders.
IPropertiesEnum interface, controls meta info, used by interactive UI builders.
IParameters interface, controls meta info, collection of items of collection alike controls (e.g. ListBox), used by HTML engine and interactive UI builders.
harmonia.ui.containers. splitter Splitter : Widgets class, container of two elements with splitter between them.
tabs Tabs : Widgets class, container, stack of widgets-tabs.
toolbar(70%) Toolbar : Widgets class, toolbar (*)
  ToolbarBand : Widgets class, container for toolbars and menubars (*)
status(30%) Statusbar : Widgets class, statusbar (*)
harmonia.ui.exchange. clipboard Clipboard static class, system clipboard wrapper.
harmonia.ui.controls. alist AList abstract class, root of all list alike controls.
listbox
ListBoxT(VALUE)
: AList, IProperties, IParameters
template, implementation of list box parametrized by VALUE - type of list item value.
ListBox Is just an alias of ListBoxT(uint)
class ComboBoxT(VALUE)
: Widgets, IValue, IInline,
IProperties, IParameters
template, implementation of drop down list box with optional editor field (LineEditor)
ComboBox Is just an alias of ComboBoxT(uint)
scrollbar ScrollBar : Widget, IValue class, Scrollbar implementation
buttons
Button
: Widget, IInline, IProperties, ITooltip
class, universal Button which could be a command button, radio, check or just text button.
editbox EditBox
: Widget, IValue, IInline, IProperties
class, single line edit box. Has LineEditor bahavior.
behaviors LineEditor class, pluggable (into any widget) single line editor.
tree (70%) TreeT(VALUE) : AList template, tree view (*)
grid (0%) GridT(MODEL) : Scrollable!(Widgets) template, grid view (*)
text (50%) TextArea : Scrollable!(Widgets) class, rich text editor,  a.k.a. styled text editor (*)
html package
harmonia.html. html various HTML definitions and types.
document Doc class, "compiled HTML document", has single member: ushort[] data.
IDocHost interface, HTML document viewer interface
measure, parser,
render, scanner, style, tableengine
html internals.
view HtmlPanel : Widgets, IDocHost class, simple non-scrollable HTML panel-container
HtmlView : Scrollable!(HtmlPanel) class, scrollable HTML document viewer / container.
io package
harmonia.io. mmfile MmFile class, redesigned phobos.MMFile without exceptions.
  imageio DecodeImage, EncodeImage two functions, bridge to PNG and JPEG libraries bundled into imageio.lib (C code).
tool package
harmonia.tool. string string,
and other string primitives
alias wchar[] string, all strings in Harmonia are UTF16. Collection of string primitives mimics std.string but for wchars.
Tokenizer tokenizer class, command line and the like parsers.
dictionary Dictionary(KEY, VALUE) template, uint[KEY] and VALUE[] bundle.
types   various auxiliary types and primitives.
native package, platform dependent code, only this needs to be ported.
harmonia.ui.native win32application main message pump loop, WinMain, etc.
win32window HWND wrapper.
win32graphics HDC and HFONT wrappers.
win32exchange Clipboard wrapper.

(*) items marked by red color are under construction.

Made with BlockNote