Creation/Dev/Script/Client/GuiControl: Difference between revisions

From Graal Bible
mNo edit summary
 
 
(23 intermediate revisions by 9 users not shown)
Line 1: Line 1:
Inherits from [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]
{{Template:Script_Object}}


<pre>
Inherits from [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]].
  GuiControl (TGraalVar):
 
    active - boolean
=Description=
    awake - boolean (read only)
 
    canmove - boolean
[[Image:Guicontrol_panel.png]]
    canresize - boolean
 
    editing - boolean
GuiControl is the base GUI control, therefore general functions listed here are available to all GUI controls. Most of the time it is used as container for positioning groups of other controls. It can either have a border (border=1..5) or just be plain transparent, and just display its child controls.
    extent - string
 
    height - integer
=Variables=
    hint - string
 
    horizsizing - string
{| border="1" cellpadding="2" width="100%"
    layer - integer (read only)
| '''Name'''
    minextent - string
| '''Type'''
    minsize - string - the same like "minExtent"
| '''Description'''
    parent - object (read only)
|-
    position - string
| active
    profile - object
| boolean
    resizeheight - boolean
| whether the control can be used (e.g. a button can be clicked only if active)
    resizewidth - boolean
|-
    scrolllinex - integer
| awake
    scrollliney - integer
| boolean (read only)
    showhint - boolean
|
    useownprofile - boolean
|-
    vertsizing - string
| canmove
    visible - boolean
| boolean
    width - integer
| allows the control to be moved by the mouse
    x - integer
|-
    y - integer
| canresize
    addcontrol(obj)
| boolean
    bringtofront()
| allows the control to be resized by dragging the corner or side with the mouse
    destroy()
|-
    getparent() - returns object
| clipchildren
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control
| boolean
    hide()
| by default true; specifies if child controls are clipped to their bounds (text or graphics outside of the bounds will not be shown); if not working, try also setting cliptobounds=false
    isfirstresponder() - returns boolean
|-
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)
| clipmove
    makefirstresponder(bool)
| boolean
    pushtoback()
| when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true
    resize(int, int, int, int)
|-
    show()
| cliptobounds
    showtop() - calls show(), tabfirst() and bringtofront()
| boolean
    tabfirst() - returns object
| by default true; specifies if the control should be clipped (might be usefull for GuiShowImgCtrl to disable this); this is ignored if parent.clipchildren is already false
</pre>
|-
| controls
| object (read only; see ''addControl()'')
| array of [[Creation/Dev/Script/Client/GuiControl|GuiControl]] (subcontrols)
|-
| cursor
| int
|  cursor when the mouse is hovered over the control - options are default, hand/pointer, text, crosshair, column-reisze, row-resize, wait, progress, and help (some are not available based on platform)
|-
| editing
| boolean
|
|-
| extent
| string
| Can be used instead of width and height. Used like this: "123 456", where 123 is width and 456 is height. There is some syntactic sugar that allows you to treat it like an array, but it is not a good idea to do this because it does not work when you try to assign to e.g extent[0]. See 'width' and 'height' instead for this.
|-
| flickering
| boolean
| Allows the control to periodically show/hide itself.
|-
| flickertime
| integer
| The time between the show and hides in flickering.
|-
| height
| integer
| can be used instead of extent
|-
| hint
| string
| tooltip text displayed when you hover the mouse over the control
|-
| horizsizing
| string
| specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative
|-
| layer
| integer (read only)
| image layer the control is on
|-
| minextent
| string
| minimum size as a string like "200 300", though there is some support for arrays which is not complete (e.g. you cannot set minextent[0])
|-
| minsize
| string
| the same as "minextent"
|-
| parent
| object (read only)
| the parent [[Creation/Dev/Script/Client/GuiControl|GuiControl]]
|-
| position
| string
| Can be used instead of x and y. Used like this: "123 456", where 123 is x and 456 is y. There is some syntactic sugar that allows you to treat it like an array, which does not work when you try to assign to e.g position[0]. See 'x' and 'y' instead for this.
|-
| profile
| object
| controls the way the profile looks and acts - see [[Creation/Dev/Script/Client/GuiControlProfile|GuiControlProfile]]
|-
| resizeheight
| boolean
|
|-
| resizewidth
| boolean
|
|-
| scrolllinex
| integer
| lines to scroll vertically
|-
| scrollliney
| integer
| lines to scroll horizontally
|-
| showhint
| boolean
| whether to show the hint or not
|-
| useownprofile
| boolean
| allows you to set custom variables for the profile without modifying the profile at every instance it is used, set it to true before changing things
|-
| vertsizing
| string
| specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative
|-
| visible
| boolean
| whether the control can be seen or is hidden
|-
| width
| integer
| can be used instead of extent
|-
| x
| integer
| can be used instead of position
|-
| y
| integer
| can be used instead of position
|}
 
=Functions=
{| border="1" cellpadding="2" width="100%"
| '''Name'''
| '''Return Type'''
| '''Description'''
|-
| addcontrol(obj)
|
| adds the control inside another control
|-
| bringtofront()
|
| bring the control to the front
|-
| clearControls()
|
| removes all controls inside the control at once
|-
| destroy()
|
|
|-
| getparent()
| object
| returns parent object
|-
| globaltolocalcoord({x,y})
| {x,y}
| converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control
|-
| hide()
|
| Hide the control
|-
| isfirstresponder()
| boolean
| Returns whether or not this control is the first responder
|-
| localtoglobalcoord({x,y})
| {x,y}
| converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)
|-
| makefirstresponder(bool)
|
| makes the control the first responder for key input
|-
| pushtoback()
|
| pushes the control to the back
|-
| resize(int x, int y, int width, int height)
|
| resizes the control to the specified dimensions
|-
| show()
|
| shows the control
|-
| showtop()
|
| calls show(), tabfirst() and bringtofront()
|-
| tabfirst()
| object
| when tab is pressed, the control is selected first, similar to web forms
|}
 
=Events=
 
onAdd() - is invoked when the control is added to another control (addcontrol function)
 
onRemove() - is invoked when the control is removed from its parent
 
onShow() - is invoked when the control is shown or gets awakened while being 'visible'
 
onHide() - is invoked when the control is made hidden
 
onWake() - is invoked when the control is awakened and becomes visible on the screen
 
onSleep() - is invoked for windows when a dialog window is removed from the screen
 
onMove(newx,newy) - is invoked when the control is moved
 
onResize(newwidth,newheight) - is invoked when the control is resized
 
onAction() - is invoked when a button control is pressed, you press the enter-key in a text edit control, or move a slider control,
 
onDialogPush() - is invoked when a dialog control is placed on the screen (using pushDialog(control))
 
onDialogPop() - is invoked when a dialog control is removed from the screen again (using popDialog())
 
onKeyDown(keycode,keystring,scancode) - a key has been pressed while the control had the input focus (makeFirstResponder())
 
onKeyUp(keycode,keystring,scancode) - the key has been released
 
onMouseYawPitch(xaxis,yaxis) - mouse event in Graal3D when the mouse has been turned off
 
onMouseDown(keymodifier,mousescreenx,mousescreeny,clickcount) - the left mouse button has been pressed inside this control
 
onMouseUp(keymodifier,mousescreenx,mousescreeny) - the left mouse button has been released
 
onMouseEnter(keymodifier,mousescreenx,mousescreeny) - the mouse moved inside this control
 
onMouseLeave(keymodifier,mousescreenx,mousescreeny) - the mouse left the control
 
onMouseDragged(keymodifier,mousescreenx,mousescreeny) - the mouse is moved while the left mouse button is pressed
 
onMouseMove(keymodifier,mousescreenx,mousescreeny) - the mouse has been moved
 
onRightMouseDown(keymodifier,mousescreenx,mousescreeny,clickcount) - the right mouse button has been pressed
 
onRightMouseUp(keymodifier,mousescreenx,mousescreeny) - the right mouse button has been released
 
onRightMouseDragged(keymodifier,mousescreenx,mousescreeny) - the mouse has been moved while the right mouse button is pressed
 
onMouseWheelUp(keymodifier) - the mouse wheel has been scrolled up
 
onMouseWheelDown(keymodifier) - the mouse wheel has been scrolled down
 
=Example=
 
  new GuiControl("Test_Back") {
    useownprofile = true;
    profile.border = 3;
    x = 10;
    y = 10;
    width = 160;
    height = 80;
  }
 
<br />
 
{{:Creation/Dev/Script/Client}}

Latest revision as of 22:26, 18 July 2011

This article is information on a script object - a pre-defined type of variable with its own set of static variables and functions. It is intended for use with the GS2 scripting language.


Inherits from TGraalVar.

Description

Guicontrol panel.png

GuiControl is the base GUI control, therefore general functions listed here are available to all GUI controls. Most of the time it is used as container for positioning groups of other controls. It can either have a border (border=1..5) or just be plain transparent, and just display its child controls.

Variables

Name Type Description
active boolean whether the control can be used (e.g. a button can be clicked only if active)
awake boolean (read only)
canmove boolean allows the control to be moved by the mouse
canresize boolean allows the control to be resized by dragging the corner or side with the mouse
clipchildren boolean by default true; specifies if child controls are clipped to their bounds (text or graphics outside of the bounds will not be shown); if not working, try also setting cliptobounds=false
clipmove boolean when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true
cliptobounds boolean by default true; specifies if the control should be clipped (might be usefull for GuiShowImgCtrl to disable this); this is ignored if parent.clipchildren is already false
controls object (read only; see addControl()) array of GuiControl (subcontrols)
cursor int cursor when the mouse is hovered over the control - options are default, hand/pointer, text, crosshair, column-reisze, row-resize, wait, progress, and help (some are not available based on platform)
editing boolean
extent string Can be used instead of width and height. Used like this: "123 456", where 123 is width and 456 is height. There is some syntactic sugar that allows you to treat it like an array, but it is not a good idea to do this because it does not work when you try to assign to e.g extent[0]. See 'width' and 'height' instead for this.
flickering boolean Allows the control to periodically show/hide itself.
flickertime integer The time between the show and hides in flickering.
height integer can be used instead of extent
hint string tooltip text displayed when you hover the mouse over the control
horizsizing string specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative
layer integer (read only) image layer the control is on
minextent string minimum size as a string like "200 300", though there is some support for arrays which is not complete (e.g. you cannot set minextent[0])
minsize string the same as "minextent"
parent object (read only) the parent GuiControl
position string Can be used instead of x and y. Used like this: "123 456", where 123 is x and 456 is y. There is some syntactic sugar that allows you to treat it like an array, which does not work when you try to assign to e.g position[0]. See 'x' and 'y' instead for this.
profile object controls the way the profile looks and acts - see GuiControlProfile
resizeheight boolean
resizewidth boolean
scrolllinex integer lines to scroll vertically
scrollliney integer lines to scroll horizontally
showhint boolean whether to show the hint or not
useownprofile boolean allows you to set custom variables for the profile without modifying the profile at every instance it is used, set it to true before changing things
vertsizing string specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative
visible boolean whether the control can be seen or is hidden
width integer can be used instead of extent
x integer can be used instead of position
y integer can be used instead of position

Functions

Name Return Type Description
addcontrol(obj) adds the control inside another control
bringtofront() bring the control to the front
clearControls() removes all controls inside the control at once
destroy()
getparent() object returns parent object
globaltolocalcoord({x,y}) {x,y} converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control
hide() Hide the control
isfirstresponder() boolean Returns whether or not this control is the first responder
localtoglobalcoord({x,y}) {x,y} converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)
makefirstresponder(bool) makes the control the first responder for key input
pushtoback() pushes the control to the back
resize(int x, int y, int width, int height) resizes the control to the specified dimensions
show() shows the control
showtop() calls show(), tabfirst() and bringtofront()
tabfirst() object when tab is pressed, the control is selected first, similar to web forms

Events

onAdd() - is invoked when the control is added to another control (addcontrol function)

onRemove() - is invoked when the control is removed from its parent

onShow() - is invoked when the control is shown or gets awakened while being 'visible'

onHide() - is invoked when the control is made hidden

onWake() - is invoked when the control is awakened and becomes visible on the screen

onSleep() - is invoked for windows when a dialog window is removed from the screen

onMove(newx,newy) - is invoked when the control is moved

onResize(newwidth,newheight) - is invoked when the control is resized

onAction() - is invoked when a button control is pressed, you press the enter-key in a text edit control, or move a slider control,

onDialogPush() - is invoked when a dialog control is placed on the screen (using pushDialog(control))

onDialogPop() - is invoked when a dialog control is removed from the screen again (using popDialog())

onKeyDown(keycode,keystring,scancode) - a key has been pressed while the control had the input focus (makeFirstResponder())

onKeyUp(keycode,keystring,scancode) - the key has been released

onMouseYawPitch(xaxis,yaxis) - mouse event in Graal3D when the mouse has been turned off

onMouseDown(keymodifier,mousescreenx,mousescreeny,clickcount) - the left mouse button has been pressed inside this control

onMouseUp(keymodifier,mousescreenx,mousescreeny) - the left mouse button has been released

onMouseEnter(keymodifier,mousescreenx,mousescreeny) - the mouse moved inside this control

onMouseLeave(keymodifier,mousescreenx,mousescreeny) - the mouse left the control

onMouseDragged(keymodifier,mousescreenx,mousescreeny) - the mouse is moved while the left mouse button is pressed

onMouseMove(keymodifier,mousescreenx,mousescreeny) - the mouse has been moved

onRightMouseDown(keymodifier,mousescreenx,mousescreeny,clickcount) - the right mouse button has been pressed

onRightMouseUp(keymodifier,mousescreenx,mousescreeny) - the right mouse button has been released

onRightMouseDragged(keymodifier,mousescreenx,mousescreeny) - the mouse has been moved while the right mouse button is pressed

onMouseWheelUp(keymodifier) - the mouse wheel has been scrolled up

onMouseWheelDown(keymodifier) - the mouse wheel has been scrolled down

Example

 new GuiControl("Test_Back") {
   useownprofile = true;
   profile.border = 3;
   x = 10;
   y = 10;
   width = 160;
   height = 80;
 }


Object Navigation