fluid Application Environment |
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
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")
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"
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:
FormID:
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
Label:
Action:
Length:
Min:
Max:
Value:
Range:
Action:
Orientation:
Label:
Text:
AppendText:
InsertText:
SelectText:
CreateListItem:
(integer wID, integer nicon, sequence nlabel, object nevent)
ClearList:
SelectedListItem:
DestroyListItem:
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:
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:
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)
GetSides:
Color:
sequence dcolor
Image:
sequence imgfilename
Color:
Created by Ryan Johnson.