fluid Application Environment

GUI Module Command Reference

Widget Classes

Window: Resizable window with borders and a titlebar - contains a form and bars (menubar, toolbars, statusbar)

Dialog: Window used for dialogs - not resizable

Form: Rectangular area inside a window that contains widgets, containers, or separators

Container: Contains widgets and arranges them automatically

Frame: Container with border and caption

Tabstrip: Multipaged container with tabs

Label: Uneditable text label

Image: Uneditable bitmap

Button: Button with text and/or an image

Scrollbar: Vertical or Horizontal scrollbar

Textbox: Editable text - single or multi-line, plain or colored, optional line-numbers/labels

Combobox: Dropdown list

Listbox: List of items - multicolumns or icons

Treebox: Hierarchal collection of items

Document: Powerful mult-purpose document editor/view

Checkbox: True or false indicator with a label

Optionlist: List of items, only one of which can be selected

Menubar: Bar that lists menus - attached to a window or floating in its own window

Toolbar: Bar that can contain buttons, comboboxes, etc.

Grid: Editable items arranged in rows and columns

3Dbox: Area that can display 3D graphics (using OpenGL)

Separator: container with a movable line between two sections

Statusbar: Visual progress indicator

Progressbar: Bar that can display various information

Bar: Bar that can contain widgets (used for things like menus, systray, clock, media player, etc.)

Desktop: Fullscreen background

Screen: Fullscreen drawing area

Widget Commands

widgetid = gui:CreateWidget("widgetclass", parentid,{{"prop1",value1},{"prop2",value2},...})

gui:DestroyWidget(widgetid)

gui:SetWidgetProp(widgetid OR {widgetid1,widgetid2,...}, {{"prop1",value1},{"prop2",value2},...})

widgetid = gui:GetWidgetProp(widgetid,"prop")

Widget Properties

Generic

All widget classes have these generic properties:

Busy: Widget is busy receiving or processing data

Values: True or False (Read-only)

Class: Type of widget

Values: True or False (Read-only)

Parent: ID of parent widget

Values: ParentID (Read-only)

Children:

Values: {IDs of children widget} (Read-only)

ParentRegion: ID of parent Region

Values: RegionID (Read-only)

Size: Current widegt size

Values: {width, height} (Read-only)

MinSize: Minimum allowed size of widget

Values: {width, height}

MaxSize: Maximum allowed size of widget

Values: {width, height}

Order: Z-order of widgets

Values: ?

GotHardFocus: Widget has "hard focus" - has been clicked on or tabbed to (recieves keyboard input)

Values: True or False

GotSoftFocus: Widget has "soft focus" - is under mouse cursor

Values: True or False

Visible: Is visible (is drawn)

Values: True or False

Enabled: Is enabled (can receive events)

Values: True or False

Status: ?

Values: ?

MousePointer: Mouse pointer to show when mouse over (is overridden with Busy cursor when Busy = True)

Values: "Arrow", "ArrowBusy", "Ibeam", "Busy", "No", "NS", "EW", "NWSE", "NESW", "Crosshair", "None", or "Sleeping"

Window

Title: Window title

Rect: Window's inner rectangle

Values: {left, top, width, height}

Left:

Top:

Width:

Height:

MenubarID:

DefineToolbar:

FormID:

Topmost:

Close:

CancelClose:

Minimized:

Maximized:

Restore:

Shaded:

BringToFront:

SendToBack:

Dialog

FormID:

Form

 

Container

Orientation:

Values: "Vertical" or "Horizontal"

SizeModeX:

 --0 = Children & Container will be minimum sizes

SizeModeY:

--1 = Chlldren will be the same size as the largest child, container will be minimum size

--2 = Container will stretch to size of parent container, children will stretch to match container's size

ManualList:

 --list of widgets that are manually arranged

Tabstrip

 

Label

 

Image

 

Button

Label:

Action:

Scrollbar

Length:

Min:

Max:

Value:

Range:

Action:

Orientation:

Textbox

Label:

Text:

AppendText:

InsertText:

SelectText:

Combobox

 

Listbox

CreateListItem:

(integer wID, integer nicon, sequence nlabel, object nevent)

ClearList:

SelectedListItem:

DestroyListItem:

Treebox

GetNodeIDFromPath:

(sequence wprops, sequence nodepath)

ClearTree:

SetTreeNodePath:

(sequence nodepath) --nodepath must be formatt like this: {"nodeA", "nodeB", "nodeC"}

GetTreeNodePath:

CreateTreeNode:

(sequence nlabel, integer nicon)

GetTreeNodeLabel:

GetTreeNodeParent:

GetTreeNodeChildren:

DestroyTreeNode:

ExpandTreeNode:

CollapseTreeNode:

Document

DrawObj:

(object objname, object objfdl)

SetHandle:

(object hndname, integer hndtype, sequence hndlabel, atom hndx, atom hndy)

Clear:

Size:

(atom dsizex, atom dsizey)

Scale:

(atom dscalex, atom dscaley)

BackColor:

Title:

Checkbox

 

Optionlist

 

Menubar

CreateMenu:

(sequence mname, sequence itemtitles, sequence itemtypes, sequence itemdata)

AddMenuItems:

(sequence mtitle, integer insertindex, sequence items)

DeleteMenuItems:

(sequence mtitle, sequence itemnames)

EnableMenuItems:

(sequence mtitle, integer insertindex, sequence items)

DisableMenuItems:

(sequence mtitle, integer insertindex, sequence items)

PopupMenu:

(sequence mtitle)

Toolbar

 

Grid

 

3Dbox

 

Separator

GetSides:

Statusbar

 

Progressbar

 

Bar

 

Desktop

Color:

sequence dcolor

Image:

sequence imgfilename

Screen

Color:


Created by Ryan Johnson.