UltraKiss GUI Components


UltraKiss V1.0 (beta 5) introduced new capability to include basic Graphical User Interface (GUI) components within a KiSS set.  GUI components can be used for interactive user input and display of information and provide an easy way to create standard objects on the screen.

GUI components are declared as cels within a KiSS configuration as shown in the example below.  Component cel identifiers use specific extensions such as .button, .list, or .textarea to identify the component type.  

#3.9999 Add.gif            : 18     ;%offset[167,176]
#3.9999 Next.gif           : 18     ;%offset[399,377]
#3.9999 Back.gif           : 18     ;%offset[339,377]
#3.9999 Cancel.gif         : 18     ;%offset[273,378]
#3.9999 LI0S8-1.List       : 18     ;%size[146,207] %offset[12,121] %attributes[wrap,vsb]
#3.9999 TA0S9-1.TextArea   : 18     ;%size[269,49] %offset[227,176] %attributes[wrap]
#3.9999 TA0Obj.TextArea    : 18     ;%size[321,65] %offset[217,11] %attributes[read,wrap]
#3.9999 Action2Date.Button : 18     ;%size[135,25] %offset[325,267]
#3.9999 Objective10.gif    : 18     ;

Object #3 contains a List, two TextAreas, and a Button.  The size and location of these GUI component within the object are specified with the %size[] and %offset[] tags.  Component attributes are specified with the %attributes[] tag.  

GUI components are either input components, or non-input components.  Input components, such as a multi-line Text Area or a single line Text Field are capable of accepting user input or selection.  Non-input components, such as a standard Button or a Text Area that has the read attribute assigned do not accept input and are passive.  Passive components behave in a similar way to a KiSS image cel.  These components can be drawn, layered, and positioned on the screen along with other KiSS images.  Conversely, active input components intercept mouse events and cannot be directly manipulated with mouse movements.  Input components are drawn on top of all other images in the KiSS set and can extend beyond the playfield boundaries.

UltraKiss currently provides support for the following components:

 

Component Type Attributes
button Passive text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled
radiobutton Input text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, selected, read
togglebutton Input text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, selected, read
label Passive text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, align
textbox Passive text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, wrap
textarea Input text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, wrap, vsb, hsb, read, noscroll
textfield Input text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, read
passwordfield Input text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, read
checkbox Input text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, selected
list Input text, fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, wrap, vsb, hsb, read, noscroll, multiple
combobox Input fc, bc, nomargin, fontname, fontsize, fontstyle, disabled, vsb, hsb, read, multiple
menuitem N/A fc, bc, nomargin, fontname, fontsize, fontstyle, disabled 
checkboxmenuitem N/A fc, bc, nomargin, fontname, fontsize, fontstyle, disabled
menuseparator N/A N/A


FKiSS press() and release() events can be attached to component objects.  These events fire when the user interacts with an input component to either press a button, change the state of a checkbox, or select an item from a list or combo box.  For example, the following events are fired if the user presses the button component show above or selects an item from the list component.

;@press("Action2Date.Button") 
;@ notify("Button pressed")  

;@release("LI0S8-1.List") 
;@ getSelectedValue(S,"LI0S8-1.List")
;@ notify("User selected ",S) 

 


Copyright (c) 2002-2006 WSM Information System Inc.