#Align

C
'This class provides constants for alignment of text, cells...
Normal
C
i
0
Left
C
i
1
Right
C
i
2
Center
C
i
3
TopNormal
C
i
16
TopLeft
C
i
17
TopRight
C
i
18
Top
C
i
19
BottomNormal
C
i
32
BottomLeft
C
i
33
BottomRight
C
i
34
Bottom
C
i
35
IsLeft
M
b
(Alignment)i
IsRight
M
b
(Alignment)i
IsCenter
M
b
(Alignment)i
IsTop
M
b
(Alignment)i
IsBottom
M
b
(Alignment)i
IsMiddle
M
b
(Alignment)i
#Application

C
ActiveControl
R
WebControl

Theme
P
s

'@{since 3.19}
'
'Return or set the application global theme.
'
'This theme is only used for the stock icons at the moment.
#Arrange

C
'This class provides the constants that define the arrangement mode of a container.
None
C
i
0
'This constant is used when a container does not arrange its contents.
Vertical
C
i
1
'This constant is used for a vertical arrangement.
Horizontal
C
i
2
'This constant is used for an horizontal arrangement.
Row
C
i
3
'This constant is used for arranging controls in rows.
Column
C
i
4
'This constant is used for arranging controls in columns.
#Color

CO
'This class provides constant for pre-defined colors and color-related methods
Default
C
i
-1
Transparent
C
i
-16777216
Black
C
i
0
White
C
i
16777215
Gray
C
i
8421504
LightGray
C
i
12632256
DarkGray
C
i
4210752
Blue
C
i
255
DarkBlue
C
i
128
SoftBlue
C
i
8421631
Green
C
i
65280
DarkGreen
C
i
32768
SoftGreen
C
i
8454016
Red
C
i
16711680
DarkRed
C
i
8388608
SoftRed
C
i
16744576
Cyan
C
i
65535
DarkCyan
C
i
32896
SoftCyan
C
i
8454143
Magenta
C
i
16711935
DarkMagenta
C
i
8388736
SoftMagenta
C
i
16744703
Pink
C
i
16744703
Yellow
C
i
16776960
DarkYellow
C
i
8421376
SoftYellow
C
i
16777088
Orange
C
i
16744448
DarkOrange
C
i
8404992
SoftOrange
C
i
16760960
Violet
C
i
8388863
DarkViolet
C
i
4194432
SoftViolet
C
i
12615935
Royal
C
i
33023
DarkRoyal
C
i
16512
SoftRoyal
C
i
8438015
Purple
C
i
16711808
DarkPurple
C
i
8388672
SoftPurple
C
i
16744640
SetAlpha
M
i
(Color)i(Alpha)i
'Change the alpha component of a color and return it.
RGB
M
i
(Red)i(Green)i(Blue)i[(Alpha)i]
'Returns a color value from its red, green, blue and alpha components.
'
'If ~Alpha~ is not specified, then it is assumed to be zero, i.e. you get a fully opaque color.
'
'[[ info
'In Gambas, the alpha value of fully opaque colors is zero, and the alpha value of fully transparent colors is 255.
']]
ToHTML
M
s
(Color)i
'Convert a gambas colour integer into HTML CSS compliant code.
'
'The resulting string will be either a hash prefixed hex value. eg. '#00FF00' that can be used anywhere or an rgba() string with integer values if alpha (transparency) is set. eg. 'rgba(0,128,255,0.75)' that should only be used in css **style** assignments.
'
#Font

C
'@{since 3.21}
'
'This class represents a font as described by the CSS standard.
'
'It is used by the [../webcontrol] class, and for drawing inside a [../webdrawingarea] with the [../paint] class.
Name
p
s

'Return or set the font family, i.e. the CSS 'font-family' property.
Family
p
s

'Return or set the font family, i.e. the CSS 'font-family' property.
Size
p
s

'Return or set the font size, i.e. the CSS 'font-size' property.
Style
p
s

'Return or set the font style, i.e. the CSS 'font-style' property.
Weight
p
s

'Return or set the font weight, i.e. the CSS 'font-weight' property.
Stretch
p
s

'Return or set the font stretch, i.e. the CSS 'font-stretch' property.
Decoration
p
s

'Return or set the font decoration, i.e. the CSS 'font-decoration' property.
LineHeight
p
s

'Return or set the line height, i.e. the CSS 'line-height' property.
Normal
p
b

'Return or set if the font is "normal", i.e. if it does not inherit the font of a parent control.
'
'This property is ignored when the font is used with the [../paint] class.
Italic
p
b

'Return or set if the font is italic.
'
'It's a shorcut for setting the [../style] property to '"italic"'.
Bold
p
b

'Return or set if the font is bold.
'
'It's a shorcut for setting the [../weight] property to '"bold"'.
Strikeout
p
b

'Return or set if the font is striked out.
'
'It's a shorcut for setting the [../decoration] property to '"line-through"'.
Underline
p
b

'Return or set if the font is underlined.
'
'It's a shorcut for setting the [../decoration] property to '"underline"'.
_new
m

[(Description)s]
'Create a new font.
'
'If ~Description~ is specified, then the font properties are initialized from it.
_get
M
Font
(Description)s
'Return a font from its description.
ToString
m
s

'Return the string description of a font.
Copy
m
Font

'Return a copy of the font.
_GetStyleSheet
m
String[]

:Change
:


'This event is raised when a font property has changed.
#Key

C
'This class return the detail of a keyboard event.
'
'It can only be used during a [../webcontrol/.keypress] event handler.
Shift
R
b

'Return if the 'SHIFT' key is pressed.
Control
R
b

'Return if the 'CTRL' key is pressed.
Alt
R
b

'Return if the 'ALT' key is pressed.
Meta
R
b

'Return if the 'META' key is pressed.
Normal
R
b

'Return if no special key ('SHIFT', 'CTRL'...) is pressed.
Code
R
s

'Return the code of the pressed key.
Text
R
s

'Return the text associated with the key.
Shortcut
R
s

'Return the pressed key with its modifiers a string shorcut.
_Event
V
Collection

_ShortcutToDOM
M
s
(sShortcut)s
#Message

C
_call
M
i
(Text)s[(Button)s]
Info
M
i
(Text)s[(Button)s]
Warning
M
i
(Text)s[(Button1)s(Button2)s(Button3)s]
Error
M
i
(Text)s[(Button)s]
Question
M
i
(Text)s[(Button1)s(Button2)s(Button3)s]
#Mouse

C
'This class return the detail of a mouse event.
'
'It can only be used during a [../webdrawingarea] mouse event handler.
X
R
i

'Return the X position of the mouse cursor.
Y
R
i

'Return the Y position of the mouse cursor.
ScreenX
R
i

'Return the screen horizontal position of the mouse cursor.
ScreenY
R
i

'Return the screen vertical position of the mouse cursor.
Button
R
i

'Return which mouse button has been pressed.
Left
R
b

'Return if the left button has been pressed.
Middle
R
b

'Return if the middle button has been pressed.
Right
R
b

'Return if the right button has been pressed.
StartX
R
i

'Return the X position of the mouse cursor of the last mouse press event.
StartY
R
i

'Return the Y position of the mouse cursor of the last mouse press event.
_Define
M

(sType)s(cEvent)Collection;
#Paint

C
'@{since 3.21}
'
'This class is used for drawing the contents of a [../webdrawingarea] control.
'
'It mostly generates javascript code sent to the browser that draws inside the `<canvas>` element that implements the WebDrawingArea.
'
'[[ warning
'Most of the paint properties are write only, as apparently the javascript canvas drawing context properties cannot be read.
']]
'
Device
R
WebControl

'Return the control that is currently painted.
Brush
P
PaintBrush

'Return or set the brush used for filling drawing paths.
W
P
i

'Return the width of the drawing area.
Width
P
i

'Return the width of the drawing area.
H
P
i

'Return the height of the drawing area.
Height
P
i

'Return the height of the drawing area.
Font
P
Font

'Return or set the font used for drawing text.
LineWidth
P
f

'Define the current line width used for stroking lines..
LineCap
P
i{PaintLineCap}

'Define the current line cap style used for stroking lines..
'
'The line cap specifies how to render the endpoints of the path when stroking.
'
'This property takes one of the following values:
'* [../linecapbutt] \(default value)
'* [../linecapround]
'* [../linecapsquare]
LineJoin
P
i{PaintLineJoin}

'Define the current line join style used for stroking lines.
'
'The line join style specifies how to render the junction of two lines when stroking.
'
'This property takes one of the following values:
'* [../linejoinmiter] \(the default)
'* [../linejoinround]
'* [../linejoinbevel]
MiterLimit
P
f

'Define the current miter limit used for stroking lines.
LineDash
P
Float[]

'Define the dash pattern used for stroking lines.
Dash
P
Float[]

'Define the dash pattern used for stroking lines.
LineDashOffset
P
f

'Define the offset used for drawing dashes.
'
'The offset specifies an offset into the pattern at which the stroke begins.
DashOffset
P
f

'Define the offset used for drawing dashes.
'
'The offset specifies an offset into the pattern at which the stroke begins.
Operator
P
i{PaintOperator}

'Define the compositing operator to be used for all drawing operations.
'
'See each one of the constants below for details on the semantics of each available compositing operator.
'
'This property takes one of the following value:
'* [../operatoradd]
'* [../operatoratop]
'* [../operatordestatop]
'* [../operatordestover]
'* [../operatordestin]
'* [../operatordestout]
'* [../operatorin]
'* [../operatorout]
'* [../operatorover] \(the default)
'* [../operatorsource]
'* [../operatorxor]
Background
P
v

'Define the background color used by the drawing routines.
'
'It is an equivalent of setting the [Paint.brush](../brush) property with the result of [Paint.Color](../color).
Opacity
P
f

'Define the global opacity of the drawing routines.
'
'The property value is between '0.0' (fully transparent) and '1.0' (fully opaque), being '1.0' by default.
OperatorOver
C
i
0
OperatorIn
C
i
1
OperatorOut
C
i
2
OperatorATop
C
i
3
OperatorDestOver
C
i
4
OperatorDestIn
C
i
5
OperatorDestOut
C
i
6
OperatorDestATop
C
i
7
OperatorAdd
C
i
8
OperatorSource
C
i
9
OperatorXor
C
i
10
LineCapButt
C
i
0
LineCapRound
C
i
1
LineCapSquare
C
i
2
LineJoinMiter
C
i
0
LineJoinRound
C
i
1
LineJoinBevel
C
i
2
Begin
M

(Device)WebControl;
'Start painting on the ~Device~ control.
'
'Calls to this method can be nested. 
End
M


'End painting on the current device.
Save
M


'Make a copy of the current drawing state and saves it on an internal stack of saved states.
'
'When [../restore] is called, the drawing state will be restored to the saved state. Multiple calls to [../save] and [../restore] can be nested; each call to [../restore] restores the state from the matching paired [../save].
Restore
M


'Restore the drawing state to the state saved by a preceding call to [../save] and removes that state from the stack of saved states.
Rectangle
M

(X)f(Y)f(Width)f(Height)f
'Adds a closed sub-path rectangle to the current path.
'
'* ~X~ : the X coordinate of the top left corner of the rectangle.
'* ~Y~ : the Y coordinate to the top left corner of the rectangle.
'* ~Width~ : the width of the rectangle.
'* ~Height~ : the height of the rectangle.
'
'This function is logically equivalent to:
'
'    Paint.MoveTo(X, Y)
'    Paint.LineTo(X + Width, Y)
'    Paint.LineTo(X + Width, Y + Height)
'    Paint.LineTo(X, Y + Height)
'    Paint.ClosePath()
Fill
M

[(Style)v(Preserve)b]
'Fill the current path.
'
'Each sub-path is implicitly closed before being filled.
'
'The path is fill according to the ~Style~ argument, which can be:
'- An RGBA color integer.
'- A [../paintbrush] brush.
'- A string value that represents the value of the 'fillStyle' property of the javascript canvas drawing context.
'
'If the ~Style~ argument is not specified, then the [../paintbrush] property is used.
'
'After filling, the current path will be cleared, unless the ~Preserve~ argument is set to '[/lang/true]'.
Stroke
M

[(Style)v(Preserve)b]
'Stroke the current path.
'
'The path is stroke according to the current line width, line join, line cap, and dash settings.
'
'Each sub-path is implicitly closed before being filled.
'
'The path is stroked according to the ~Style~ argument, which can be:
'- An RGBA color integer.
'- A [../paintbrush] brush.
'- A string value that represents the value of the 'strokeStyle' property of the javascript canvas drawing context.
'
'If the ~Style~ argument is not specified, then the [../paintbrush] property is used.
'
'After stroking, the current path will be cleared, unless the ~Preserve~ argument is set to [/lang/true].
'
'### See also
'* [../linewidth] 
'* [../linejoin] 
'* [../linecap] 
'* [../dash]
MoveTo
M

(X)f(Y)f
'Begin a new sub-path. After this call the current point will be (~X~, ~Y~).
'
'* ~X~ : the X coordinate of the new position.
'* ~Y~ : the Y coordinate of the new position.
LineTo
M

(X)i(Y)i
'Adds a line to the path from the current point to position (X, Y) in user-space coordinates. After this call the current point will be (X, Y).
'
'* ~X~ : the X coordinate of the end of the new line.
'* ~Y~ : the Y coordinate of the end of the new line.
Arc
M

(XC)f(YC)f(Radius)f[(Angle)f(Length)f]
'Adds a circular arc to the current path.
'
'The arc is centered at (~XC~, ~YC~), begins at ~Angle~ and proceeds counter-clockwise during ~Length~ radians.
'
'* ~XC~ : X position of the center of the arc.
'* ~YC~ : Y position of the center of the arc.
'* ~Radius~ : the radius of the arc.
'* ~Angle~ : the start angle, in radians.
'* ~Length~ : the arc length, in radians.
'
'If ~Length~ is negative, then the arc is drawn clockwise.
'
'If ~Angle~ and ~Length~ are not specified, then a full circle is drawn.
'
'If ~Angle~ is specified, but not ~Length~, then nothing is drawn, and the current position is set to the point on the circle at the specified ~Angle~.
'
'Angles are measured in radians. An angle of '0.0' is in the direction of the positive X axis (in user space). An angle of '&pi;/2.0' radians ('90' degrees) is in the direction of the positive Y axis (in user space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction.
'
'[[ info
'To convert from degrees to radians, use the [/lang/rad] function.
']]
'
'The arc is circular in user space. To achieve an elliptical arc, use the [../ellipse] method.
Ellipse
M

(X)f(Y)f(Width)f(Height)f[(Angle)f(Length)f]
'Adds an elliptic arc to the current path.
'
'The ellipse is defined by its (~X~, ~Y~, ~Width~, ~Height~) bounding-box, begins at ~Angle~ and proceeds counter-clockwise during ~Length~ radians.
'
'* ~X~, ~Y~, ~Width~, ~Height~ : the bounding-box of the ellipse.
'* ~Angle~ : the start angle, in radians.
'* ~Length~ : the arc length, in radians.
'
'If ~Length~ is negative, then the arc is drawn clockwise.
'
'If ~Angle~ and ~Length~ are not specified, then a full ellipse is drawn.
'
'If ~Angle~ is specified, but not ~Length~, then nothing is drawn, and the current position is set to the point on the ellipse at the specified ~Angle~.
'
'Angles are measured in radians. An angle of '0.0' is in the direction of the positive X axis (in user space). An angle of '&pi;/2.0' radians ('90' degrees) is in the direction of the positive Y axis (in user space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction.
'
'[[ info
'To convert from degrees to radians, use the [/lang/rad] function.
']]
CurveTo
M

(X1)f(Y1)f(X2)f(Y2)f(X3)f(Y3)f
'Adds a cubic Bézier spline to current path.
'
'The spline starts from the current point to position (X3, Y3) in user-space coordinates, using (X1, Y1) and (X2, Y2) as the control points. After this call the current point will be (X3, Y3).
'
'* ~X1~ : the X coordinate of the first control point.
'* ~Y1~ : the Y coordinate of the first control point.
'* ~X2~ : the X coordinate of the second control point.
'* ~Y2~ : the Y coordinate of the second control point.
'* ~X3~ : the X coordinate of the end of the curve.
'* ~Y3~ : the Y coordinate of the end of the curve.
'
'If there is no current point before the call to Paint.CurveTo this function will behave as if preceded by a call to Paint.MoveTo(X1, Y1).
NewPath
M


'Clears the current path. After this call there will be no path and no current point.
ClosePath
M


'Close the current path.
'
'This is done by adding a line segment to the path from the current point to the beginning of the current sub-path, (the most recent point passed to Paint.MoveTo), and closes this sub-path. After this call the current point will be at the joined endpoint of the sub-path.
'
'The behavior of Paint.ClosePath is distinct from simply calling Paint.LineTo with the equivalent coordinate in the case of stroking. When a closed sub-path is stroked, there are no caps on the ends of the sub-path. Instead, there is a line join connecting the final and initial segments of the sub-path.
'
'If there is no current point before the call to Paint.ClosePath, this function will have no effect.
Clip
M

[(Preserve)b]
'Establish a new clip region.
'
'The current clip region will be intersected with the current path as it would be filled by [Paint.Fill] (../fill).
'
'After clipping, the current path will be cleared, unless the ~Preserve~ argument is [/lang/true].
'
'The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.
'
'Calling Paint.Clip can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling Paint.Clip within a [Paint.Save](../save) / [Paint.Restore](../restore) pair.
LinearGradient
M
PaintBrush
(X1)f(Y1)f(X2)f(Y2)f(Colors)Variant[];(Positions)Float[];
'Create a new linear gradient brush along the line defined by (~X1~, ~Y1~) and (~X2~, ~Y2~), and using color stops defined by the ~Colors~ and ~Positions~ arguments.
'
'* ~X1~ : x coordinate of the start point.
'* ~Y1~ : y coordinate of the start point.
'* ~X2~ : x coordinate of the end point.
'* ~Y2~ : y coordinate of the end point.
'* ~Colors~ : an array of colors.
'* ~Positions~ : the position of each color, 0 being the gradient start, and 1 the gradient end.
RadialGradient
M
PaintBrush
(X1)f(Y1)f(R1)f(X2)f(Y2)f(R2)f(Colours)Variant[];(Positions)Float[];
'Create a new radial gradient paint brush.
'
'It will interpolate colors between a start circle defined by ( ~X1~, ~Y1~, ~R1 ) and an end circle defined by ( ~X2~ , ~Y2~ , ~R2~ ), and using color stops defined by the ~Colors~ and ~Positions~ arguments.
'
'* ~X1~ : the x-axis coordinate of the start circle.
'* ~Y1~ : the y-axis coordinate of the start circle.
'* ~R1~ : the radius of the start circle. Must be non-negative and finite.
'* ~X2~ : the x-axis coordinate of the end circle.
'* ~Y2~ : the y-axis coordinate of the end circle.
'* ~R2~ : the radius of the end circle. Must be non-negative and finite.
'* ~Colors~ : an array of color stops.
'* ~Positions~ : the position of each color, 0 being the gradient start, and 1 the gradient end.
FillText
M

(Text)s(X)i(Y)i[(MaxWidth)i]
StrokeText
M

(Text)s(X)i(Y)i[(MaxWidth)i]
Color
M
PaintBrush
(Color)v
'Creates a new brush corresponding to an opaque or translucent color.
'
'The color is defined by an hexadecimal integer '&HAARRGGBB' where 'AA' is the alpha component, 'RR' the red component, 'GG' the green component and 'BB' the blue component.
'
'The value of each component is in the range 0 to 255. Beware that 'AA' is 0 for fully opaque colors and '255' for fully transparent ones.
'
'### See also
'- The [../color] class
DrawImage
M

(Image)s(X)f(Y)f[(Width)f(Height)f(Opacity)f(Source)Rect;]
'Draw an image, or part of it.
'
'* ~Image~ : the URL of the image to draw.
'* ~X~, ~Y~ : where the image is drawn.
'* ~Width~, ~Height~ : if specified, then the picture is scaled to fit the specified dimensions.
'* ~Opacity~ : the opacity used for drawing the image, between 0.0 (fully transparent, nothing is drawn) and 1.0 (fully opaque). By default, the image is drawn fully opaque.
'* ~Source~ : if specified, then only the part of the image described by the rectangle is taken into account for the drawing.
Translate
M

(TX)f(TY)f
'Modify the current transformation matrix by translating the user-space origin.
'
'* ~TX~ : Amount to translate in the X direction.
'* ~TY~ : Amount to translate in the Y direction.
Rotate
M

(Angle)f
'Modify the current transformation matrix by rotating the user-space axes by a specific angle.
'
'* ~Angle~ : angle (in radians) by which the user-space axes will be rotated.
Scale
M

(SX)f[(SY)f]
'Modify the current transformation matrix by scaling the user-space.
'
'* ~SX~ : scale factor for the X dimension.
'* ~SY~ : scale factor for the Y dimension. If not specified, it is the same value as ~SX~.
Reset
M


'Resets the transformation matrix to the identity. 
DrawText
M

(Text)s(X)i(Y)i[(Width)i(Height)i(Alignment)i]
'Draw the specified text.
'
'- ~Text~ : the text to draw.
'- ~X~ : the X coordinate of where the first character will be drawn.
'- ~Y~ : the Y coordinate of where the first character will be drawn.
'- ~Width~ : the width of the rectangle the text will be drawn inside.
'- ~Height~ : the height of the rectangle the text will be drawn inside.
'- ~Alignment~ : how the text will be aligned inside the specified rectangle.
'
'If ~X~ and ~Y~ are not specified, then the text will be drawn from the current point.
'
'If ~Width~ and ~Height~ are not specified, then ~Y~ will be the baseline of the drawn text.
'
'If ~Width~ and ~Height~ are specified, then (~X~, ~Y~, ~Width~, ~Height~) define a rectangle the text will be aligned inside, according to the ~Alignment~ argument.
'
'[[ info
'It is faster to draw text with that method than using [Paint.Text] (../text) then [Paint.Fill] (../fill).
']]
'
'### See also
'- The [../../align] class
~PaintOperator
E

OperatorOver,OperatorIn,OperatorOut,OperatorATop,OperatorDestOver,OperatorDestIn,OperatorDestOut,OperatorDestATop,OperatorAdd,OperatorSource,OperatorXor
~PaintLineCap
E

LineCapButt,LineCapRound,LineCapSquare
~PaintLineJoin
E

LineJoinMiter,LineJoinRound,LineJoinBevel
#PaintBrush

C
'@{since 3.21}
'
'This class represents a brush used by the [../paint] class for drawing paths.
_Color
p
v

_Image
p
s

_Gradient
p
Gradient

_Type
r
i

_new
m


Copy
m
PaintBrush

'Return a copy of the paint brush.
#Scroll

C
'Constants used by the ScrollBar property of many controls.
None
C
i
0
'No scrollbar is visible.
Horizontal
C
i
1
'The horizontal scrollbar is visible if needed.
Vertical
C
i
2
'The vertical scrollbar is visible if needed.
Both
C
i
3
'Both horizontal and vertical scrollbars are visible if needed.
#Select

C
'Constants used for the selection mode of WebTable control.
None
C
i
0
'No selection is possible.
Single
C
i
1
'Only one element can be selected.
Multiple
C
i
2
'Many elements can be selected at the same time.
#Session

C
Type
P
s

Id
P
s

Timeout
P
f

Prefix
P
s

Unique
P
b

Modified
P
b

CookiePath
P
s

CookieName
P
s

Keys
R
String[]

Size
R
l

Path
R
s

User
P
s

_init
M


_SendCookie
M


_exit
M


Create
M
s

Abandon
M


_get
M
v
(Key)s
Exist
M
b
(Key)s
_put
M

(Value)v(Key)s
Save
M


Load
M


#WebAudio
WebControl
C
_IsControl
C
b
T
_IsVirtual
C
b
T
_Properties
C
s
"*,-Class,-Width,-Height,-Visible,-Expand,-Ignore,-Enabled,Audio{WebAudio},Tracking,Loop,AutoPlay,Sources"
_Group
C
s
"Special"
_DefaultEvent
C
s
"Ready"
Pause
m


Position
p
f

'Get or set track position.
Audio
p
s

'The URL / path of the audio to play.
Loop
p
b

'The audio will repeat.
AutoPlay
p
b

'Autoplay the audio on loading.
Sources
p
String[]

'A list of alternative sources to try.
'
'The mimetype of a source is deducted from the file extension.
'
'### Example
'[[ code gambas
'WebAudio1.Sources = ["/mp3/track.mp3"]
'WebAudio1.Sources = ["/ogg/track.ogg"]
']]
Paused
p
b

'Get or set if the audio is paused
Duration
r
f

'Length of the loaded track.
Length
r
f

'Length of the loaded track.
Pos
p
f

'Get or set track position.
Tracking
p
b

'Return or set if the Position property is updated in real time.
_BeforeRender
m


_Render
m


PrintSources
m


_UpdateProperty
m

(sProp)s(vValue)v
_AfterRender
m


Play
m


Stop
m


:Ready
:


'Triggers when a file is ready to play.
:End
:


'Triggers when the audio has finished playing.
:Pause
:


'Triggers when the audio pauses.
:Position
:


'Triggers as audio position changes during play.
#WebButton
WebControl
C
'This class implements a push button.
_Properties
C
s
"*,Border=True,Text,Image{WebImage},Immediate,ShowArrow,Default,Cancel"
_DefaultEvent
C
s
"Click"
_DefaultSize
C
s
"16,4"
Click
m


'Click on the button.
Text
p
s

'Return or set the button text.
Image
p
s

'Return or set the button image relative path.
Immediate
p
b

'If the Immediate property is set, the [../click] event is raised to generate javascript code that will be executed on the client side when
'the button is clicked.
'
'In that case, the Click event handler should only call methods that generate javascript on the client side:
'- [../../webform/exec](WebForm.Exec)
'- [../../webtextbox/copy](WebTextBox.Copy)
'- ...
ShowArrow
p
b

'Return or set if the button displays an arrow
Default
p
b

Cancel
p
b

_RenderStyleSheet
m


_BeforeRender
m


_Render
m


_AfterRender
m


:Click
:


'This event is raised when the button is pressed.
'
'### See also
'[../immediate]
:Menu
:


'This event is raised when the button is pressed.
'
'### See also
'[../immediate]
#WebCheckBox
WebControl
C
'This class implements a check-box control.
_Properties
C
s
"*,Text,Value"
_DrawWith
C
s
"CheckBox"
_DefaultSize
C
s
"24,4"
_Similar
C
s
"WebButton"
_DefaultEvent
C
s
"Click"
Value
p
b

'Return or set if the control is checked.
Checked
p
b

'Return or set if the control is checked.
Text
p
s

'Return or set the text displayed beside the check mark.
_Render
m


_UpdateProperty
m

(sProp)s(vValue)v
:Click
:


'This event is raised when the check-box is toggled.
#WebComboBox
WebControl
C
'This class implements a combo-box control.
_Properties
C
s
"*,Border=True,ReadOnly=True,PlaceHolder,Text,List"
_DrawWith
C
s
"ComboBox"
_DefaultSize
C
s
"24,4"
_Similar
C
s
"WebTextBox"
_DefaultEvent
C
s
"Click"
Text
p
s

'Return or set the combo-box text.
Count
r
i

'Return the number of items in the combo-box popup.
Index
p
i

'Return or set the index of the current selected item.
List
p
String[]

'Return or set the contents of the combo-box popup as a string array.
ReadOnly
p
b

'Return or set if the combo-box is read-only, i.e. not editable.
PlaceHolder
p
s

'Return or set the placeholder text displayed when the editable combo-box is empty.
_new
m


'Create a new WebComboBox control.
_BeforeRender
m


_Render
m


_UpdateProperty
m

(sProp)s(vValue)v
Clear
m


'Clear the contents of the combo-box and its popup.
Add
m

(Item)s[(Index)i]
'Add an item to the popup list.
'
'- ~Item~ is the text of the item to add.
'- ~Index~ is the position the item will be inserted from. If not specified, the item is added at the end of the popup list.
Remove
m

(Index)i
'Remove an item from the popup list.
'
'- ~Index~ is the index of the item to remove, between 0 and [../count] - 1.
:Click
:


'This event is raised when an item is selected in the list box.
:Change
:


'This event is raised when the combo-box text has changed. Works only if the combo-box is editable.
:Activate
:


'This event is raised when the ENTER key is hit. Works only if the combo-box is editable.
#WebContainer
WebControl
C
'This class implements a generic container for other controls.
'
'It is also the parent class of every other container.
_IsContainer
C
b
T
_Group
C
s
"Container"
_Properties
C
s
"*,Arrangement{Arrange.*},Margin,Spacing,Indent,Border"
_DefaultArrangement
C
s
"F"
_DefaultSize
C
s
"32,32"
Arrangement
p
i{Arrange}

'Return or set the how the container arrange its contents.
'
'The value of that property can be one of the value of the [../arrange] class.
Margin
p
b

'Return or set if there is a margin between the container border and all its children.
'
'The margin size is 0.5em.
Spacing
p
b

'Return or set if the children of the container are spaced out.
'
'The amount of space is 0.5em.
Border
p
b

'Return or set if the container has a border.
Indent
p
b

'Return or set if the children controls of the container are indented.
'
'The direction of the indentation follows the direction of the container arrangement.
'
'The amount of indentation is 0.5em.
Children
r
WebControl[]

'Return an array of all container's children.
_Container
v
WebContainer

_Add
m

(hChild)WebControl;
_Remove
m

(hChild)WebControl;
_UpdateChildName
m

(sOld)s(sNew)s
_IsFirstVisibleChild
m
b
(hChild)WebControl;
_Render
m


_RenderStyleSheet
m


_RefreshReply
m
b

_CancelChildrenRefresh
m


_SetContainer
m

(hCont)WebContainer;
_Raise
m

(sName)s
_Lower
m

(sName)s
Delete
m


'Delete the container with all its children.
DeleteChildren
m


'Delete all container's children.
HasChildren
m
b

#WebControl


'This class is the parent class of every web controls.
_Invalid
v
b

_IsControl
C
b
T
_Properties
C
s
"Class,Width{WebCoord},Height{WebCoord},Visible=True,Enabled=True,Tag,Expand,Ignore,Background{Color},Foreground{Color},Tooltip,Font{WebFont}"
_Family
C
s
"WebForm"
_DefaultEvent
C
s
"Render"
Id
r
i

'Return the server control identifier.
Name
p
s

'Return or set the name of the control, used as an identifier on the client side.
Tag
p
v

'Returns or sets the control tag.
'
'This property is intended for the programmer and is never used by the component. It can contain any [/lang/type/variant] value.
Parent
r
WebContainer

'Return the parent container of the control.
Expand
p
b

'Return or set if the control should expand its size according to its parent arrangement mode.
Visible
p
b

'Return or set if the control is visible.
Style
r
WebControlStyle

'Return a virtual object that allows to define specific style sheet elements of the control.
Form
r
WebForm

'Return the web form that control belongs to.
Width
p
s

'Return or set the explicit width of the control.
'
'This property can take any valid CSS size. If not set, the control will have its default width.
W
p
s

'Return or set the explicit width of the control.
'
'This property can take any valid CSS size. If not set, the control will have its default width.
Height
p
s

'Return or set the explicit height of the control.
'
'This property can take any valid CSS size. If not set, the control will have its default height.
H
p
s

'Return or set the explicit height of the control.
'
'This property can take any valid CSS size. If not set, the control will have its default height.
Ignore
p
b

'Return or set if the control must be ignored by its parent container in automatic arrangement mode.
Enabled
p
b

'Return or set if the control is enabled.
Background
p
i

'Return or set the background color of the control.
Foreground
p
i

'Return or set the foreground color of the control.
Border
p
b

'Return or set if the control has a border.
Class
p
s

'Return or set the specific CSS classes added to the control.
Tooltip
p
s

'Return or set the tooltip displayed when the mouse cursor hovers the control.
Font
p
v

'Return or set the specific font of the control.
'
'@{since 3.21}
'
'This property normally takes a [../../font] object, but can also take a font string description for backward-compatibility.
_NextName
V
s

_Shortcuts
V
Collection

_RefreshJavascript
V
Collection

_Refresh
v
b

_EventName
v
s

_Proxy
v
s

_NoRefresh
v
i

_Naked
v
b

_new
m

[(Parent)WebContainer;]
'Create a new [@{class}](.).
_attach
m

(Parent)o(EventName)s
Refresh
m


'Refresh the control.
_PrintNeedKeyPress
M

[(bForce)b]
_SetForm
m

(hForm)WebForm;
FromId
M
WebControl
(Id)i
'Return a WebControl from its identifier.
FromName
M
WebControl
(Name)s
'Return a WebControl from its name.
Raise
m


'Raise the control.
Show
m


'Show the control.
'
'Setting the [../visible] property to TRUE has the same effect.
_GetClassId
m
s
[(sClass)s]
_GetEventJS
m
s
(sProp)s(sEvent)s[(sArg)s(sMore)s]
_BeforeRender
m


_RenderStyleSheet
m


_Render
m


_AfterRender
m


_StartStyleSheet
m


_AddStyleSheet
m

(sStyle)s
ToHTML
m
s

_EndStyleSheet
m


_RemoveStyleSheet
m

(sStyle)s
IsHidden
m
b

'Return if the control or one of its parent is hidden.
_CanRefreshDyn
m
b

_CanRefresh
m
b

_CancelChildrenRefresh
m


_CancelRefresh
m


_RefreshReply
m
b

_Redraw
m


_GetUpdateJS
m
s
(sEvent)s(sProp)s[(sGetValue)s(sMore)s]
_GetUpdateWaitJS
m
s
(sEvent)s(sProp)s[(sGetValue)s(sMore)s]
_AddRefresh
m

(sJavascript)s
SetFocus
m

[(Highlight)b]
'Set the focus on the control.
'
'- ~Highlight~ is an optional argument that specify if the control contents must be highlighted. It usually works only for TextBox or TextArea controls.
Lower
m


'Lower the control.
_GetNames
M
s

Delete
m


'Delete the control
Hide
m


'Hide the control.
'
'Setting the [../visible] property to FALSE has the same effect.
_GetLink
M
s
(sLink)s
_GetImageLink
M
s
(sImage)s
AddClass
m

(Class)s
'Add a specific class to the [../class] property.
RemoveClass
m

(Class)s
'Remove a specific class from the [../class] property.
Font_Change
m


_UpdateProperty
m

(sProp)s(vValue)v
_RaiseKeyPress
m
b
(cEvent)v
_RegisterShortcut
m

(sShortcut)s(sPrevious)s
_GetTopLevel
m
WebForm

_SetCurrentCell
M

[(hCtrl)WebControl;(sCell)s]
_RaiseMouseEvent
m

(sEvent)s(cEvent)v
:Render
:


'This event is raised just after the rendering of the control, so that you can add your own HTML contents.
:KeyPress
:


'This event is raised when a keyboard key is pressed while the control has the focus.
:Enter
:


'This event is raised when the mouse cursor enters the control.
:Leave
:


'This event is raised when the mouse cursor leaves the control.
#WebControlStyle

C
_Style
v
Collection

_get
m
s
(Property)s
_put
m

(Value)s(Property)s
IsVoid
m
b

Exist
m
b
(Property)s
_GetStyleSheet
m
String[]

#WebDateBox
WebControl
C
_Properties
C
s
"*,Border=True,ReadOnly=True,DateTime"
_Group
C
s
"Chooser"
_DrawWith
C
s
"ComboBox"
_DefaultSize
C
s
"24,4"
_Similar
C
s
"WebTextBox"
_DefaultEvent
C
s
"Click"
Text
p
s

Date
p
d

Value
p
d

ReadOnly
p
b

DateTime
p
b

_new
m


_Render
m


_UpdateProperty
m

(sProp)s(vValue)v
Clear
m


:Click
:


:Change
:


#WebDateChooser
WebContainer
C
'This class implements a calendar that allows to choose a date.
_IsContainer
C
b

_Group
C
s
"Chooser"
_Properties
C
s
"*,Value,Border"
_DrawWith
C
s
"DateChooser"
Value
p
d

'Return or set the selected date.
_new
m


'Create a new WebDateChooser control.
Delete
m


panCalendar_Render
m


cmbMonth_Click
m


txtYear_Change
m


btnPrev_Click
m


btnNext_Click
m


_UpdateProperty
m

(sProp)s(vValue)v
:Change
:


'This event is raised when the selected date has changed.
:Click
:


'This event is raised when a date has been selected by the user.
#WebDrawingArea
WebControl
C
_Properties
C
s
"*,Border"
_DrawWith
C
s
"DrawingArea"
_DefaultEvent
C
s
"Draw"
_Width
v
i

_Height
v
i

_new
m


_Render
m


_UpdateProperty
m

(sProp)s(vValue)v
Refresh
m


:Draw
:


'This event is raised when the DrawingArea contents must be drawn.
:MouseDown
:


'This event is raised when a mouse button is pressed while the mouse cursor is inside the control.
:MouseUp
:


'This event is raised when a mouse button is released.
'
'It is always raised for the control that triggered the corresponding [../.mouseup] event.
:MouseMove
:


'This event is raised when the mouse cursor moves.
#WebFileButton
WebControl
C
'This class implements a file selector button.
_Properties
C
s
"*,Border=True,Text,Image{WebImage}"
_DefaultEvent
C
s
"Click"
_DefaultSize
C
s
"16,4"
Progress
r
f

'Return the upload progression as a number between 0 and 1.
Abort
m


Text
p
s

'Return or set the button text.
Image
p
s

'Return or set the button image relative path.
File
r
s

'Return the name of the selected file.
Path
r
s

'Return the path of the uploaded file on the disk
Enabled
p
b

_BeforeRender
m


_Render
m


_AfterRender
m


Upload
m


_Finish
m


_Abort
m

(sErr)s
_UpdateProperty
m

(sProp)s(vValue)v
:Click
:


'This event is raised when the button is pressed.
:Progress
:


'This event is raised when the button is pressed.
:Finish
:


'This event is raised when the button is pressed.
:Abort
:

(Reason)s
'This event is raised when the button is pressed.
#WebForm
WebContainer
CA
'This class represents the different pages and dialogs of your Web application.
Debug
P
b

_IsForm
C
b
T
_HiddenControls
C
s
"WebControl,WebForm,Timer,WebMenu"
_Properties
C
s
"*,Title,Resizable,Persistent,Shortcuts"
_DefaultEvent
C
s
"Open"
Current
P
WebForm

'Return or set the current form, i.e. the main form of the application that fills the web page.
'
'If the current form changes, the web page is automatically reloaded.
Close
m

[(ReturnValue)v]
'Close the form.
'
'If the form was a dialog or a popup, you can specify a return value with the optional ~ReturnValue~ argument.
'
'This is the value that will be returned by the [../showmodal] or [../showpopup] method.
Title
p
s

'This title is used as HTML page title if the form is the main form.
Resizable
p
b

'Return or set if the form is resizable when used as a dialog.
Width
p
s

'Return or set the minimum width of the form.
'
'This property can take any valid CSS size. If not set, the control will have no minimum width.
W
p
s

'Return or set the minimum width of the form.
'
'This property can take any valid CSS size. If not set, the control will have no minimum width.
Height
p
s

'Return or set the minimum height of the form.
'
'This property can take any valid CSS size. If not set, the control will have no minimum height.
H
p
s

'Return or set the minimum height of the form.
'
'This property can take any valid CSS size. If not set, the control will have no minimum height.
Popup
r
b

'Return if the form is a popup.
PopupParent
r
WebControl

'Return the control that owns the popup.
Persistent
p
b

'Return or set if the form is persistent.
'
'Closing a non-persistent form automatically destroys it.
Shortcuts
p
String[]

_DisableRefresh
V
i

_HasRefresh
V
b

_InMessage
V
i

_CurrentPopup
V
WebForm

_CurrentModal
V
WebForm

_Loaded
v
b

_Window
v
i

_init
M


PrintLog
M

(sLog)s
Main
M


Application_Signal
M

(Num)i
Timeout_Timer
M


_AddJavascript
M

(sStr)s
_AddJavascriptBefore
M

(sStr)s
_HandleMessage
m


Render
m


_new
m


Hide
m


'Hide the form.
_ready
m


_BeforeRender
m


_AddPreload
M

(sLink)s
_GetJavascriptFiles
m
String[]

_GetJavascriptExternFiles
m
String[]

AddJavascriptFile
m

(sFile)s
'Add a javascript file to the list of javascript ressources defined by the `<style>` markups of the page header.
_UpdateProperty
m

(sProp)s(vValue)v
_RaiseKeyPress
m
b
(cEvent)v
Print
M

(Text)s
'Print some text to the browser javascript console.
Exec
M

(Javascript)s
'Execute some javascript into the browser.
_BeginJavascript
m
v

_EndJavascript
m

(vSave)v
Delete
m


Show
m


'Show the form.
_GetWindowContainer
m
WebContainer

Move
m

(X)s(Y)s[(Width)s(Height)s]
'Move and/or resize the form.
'[[ warning
'A main form cannot be moved nor resized.
']]
ShowModal
m
v
[(Parent)WebControl;]
'Show the form as a modal dialog.
'
'~Parent~ is the owner of the dialog. If not specified, then the value of [/lang/last] is used as owner.
'
'An error is raised if you try to call this method on an embedded form.
ShowPopup
m
v
(Control)WebControl;
'Show the form as a popup.
'
'- ~Control~ is the owner of the popup. It is normally the control the popup is attached to.
Resize
m

(Width)s(Height)s
'Resize the form.
'[[ warning
'A main form cannot be resized.
']]
Application_Error
M


Reload
m


'Reload the form.
'
'It the form is not a main form, then it is refreshed.
Goto
M

(Form)WebForm;
'Change the current main form.
'
'It is equivalent to set the [../current] property.
_GetMenuBar
m
WebMenuBar

AddHeader
m

(Header)s
_GetHeaders
m
String[]

_GetDefault
m
i

_SetDefault
m

(hCtrl)WebControl;
_GetCancel
m
i

_SetCancel
m

(hCtrl)WebControl;
_GetActiveControl
M
WebControl

:Open
:


'This event is raised when the form is opened.
:Event
:


'This event is raised each time an event is handled by the form.
:Close
:


'This event is raised when the form is closed.
#WebHBox
WebContainer
C
'A container that lays out its content horizontally.
_Properties
C
s
"*,-Arrangement"
_DefaultArrangement
C
s
"H"
_Similar
C
s
"WebContainer"
_new
m


#WebHtml
WebControl
C
_Properties
C
s
"*,Text,Border"
_DrawWith
C
s
"TextLabel"
Html
p
s

Text
p
s

_new
m


_Render
m


#WebImage
WebControl
C
'This class implementes a control that can display an image.
_Properties
C
s
"*,Border,Image{WebImage},Mode{WebImage.*}=Normal,Alignment{Align.*}=Normal"
Normal
C
i
0
Fill
C
i
1
Cover
C
i
2
Contain
C
i
3
Repeat
C
i
4
Image
p
s

Mode
p
i{WebImageMode}

Alignment
p
i{Align}

_new
m


_RenderStyleSheet
m


_Render
m


~WebImageMode
E

Normal,Fill,Cover,Contain,Repeat
#WebLabel
WebControl
C
'This control implements a label that displays text or HTML.
_Properties
C
s
"*,Text,Alignment{Align.Normal;Left;Right;Center}=Normal,Border"
_DrawWith
C
s
"Label"
_DefaultSize
C
s
"24,4"
Text
p
s

'Return or set the displayed text.
Alignment
p
i{Align}

'Return or set the text alignment.
Html
p
s

'@{since 3.22}
'Return or set the displayed HTML text.
_new
m


_Render
m


_RenderStyleSheet
m


#WebListBox
WebControl
C
_Properties
C
s
"*,Border=True,List,Text,UseHtml,Mode{Select.*}=Single"
_Group
C
s
"View"
_DrawWith
C
s
"ListBox"
_DefaultSize
C
s
"24,4"
_Similar
C
s
"WebTextBox"
_DefaultEvent
C
s
"Click"
Select
m

(Row)i[(Length)i]
Mode
p
i{Select}

'Return the listbox selection mode.
Text
p
s

'Return or set the text of the current selected item.
Count
r
i

'Return the number of items in the combo-box popup.
Index
p
i

'Return or set the index of the current selected item.
Current
p
i

'Return or set the index of the current selected item.
List
p
String[]

'Return or set the contents of the combo-box popup as a string array.
Selection
r
Integer[]

'Return the list of selected items.
UseHtml
p
b

'Return or set if the items are HTML or plain text.
ScrollX
p
i

ScrollY
p
i

_new
m


_RenderStyleSheet
m


_BeforeRender
m


_Render
m


IsSelected
m
b
(Row)i
_UpdateProperty
m

(sProp)s(vValue)v
Unselect
m

(Row)i[(Length)i]
UnselectAll
m


Clear
m


SelectAll
m


Add
m

(Item)s[(Index)i]
'Add an item to the list.
'
'- ~Item~ is the text of the item to add.
'- ~Index~ is the position the item will be inserted from. If not specified, the item is added at the end of the popup list.
Remove
m

(Index)i
'Remove an item from the list.
'
'- ~Index~ is the index of the item to remove, between 0 and [../count] - 1.
Selection_Refresh
m

(iStart)i(iEnd)i
:Click
:


'This event is raised when an item is clicked in the list box.
:Activate
:


'This event is raised when an item is clicked twice.
:Select
:


'This event is raised when the selection changes.
#WebMenu
WebContainer
C
_Group
C
s
"Container"
_Properties
C
s
"*,-Arrangement,-Margin,-Spacing,-Border,Text,Image{WebImage},Shortcut"
_DefaultArrangement
C
s
"V"
_DefaultEvent
C
s
"Click"
Text
p
s

Title
p
s

Image
p
s

Shortcut
p
s

_BeforeRender
m


_Render
m


_UpdateProperty
m

(sProp)s(vValue)v
Popup
m
b
(Control)WebControl;
:Click
:


#WebProgressBar
WebControl
C
_Properties
C
s
"*,Label=True,Border=True"
_DefaultSize
C
s
"24,4"
_DrawWith
C
s
"ProgressBar"
Label
p
b

Value
p
f

_Render
m


#WebRadioButton
WebControl
C
_Properties
C
s
"*,Text,Value"
_DrawWith
C
s
"RadioButton"
_DefaultSize
C
s
"24,4"
_Similar
C
s
"WebButton"
_DefaultEvent
C
s
"Click"
Value
p
b

Checked
p
b

Text
p
s

_Render
m


_UpdateProperty
m

(sProp)s(vValue)v
:Click
:


#WebScrollView
WebContainer
C
_Similar
C
s
"WebContainer"
_Properties
C
s
"*,ScrollBar{Scroll.*}=Both"
_DrawWith
C
s
"ScrollView:Border=False"
Scroll
m

(X)i(Y)i
ScrollX
p
i

ScrollY
p
i

ScrollBar
p
i{Scroll}

_new
m


_RenderContainer
m


EnsureVisible
m

(Child)WebControl;
_UpdateProperty
m

(sProp)s(vValue)v
SetHeaders
m

(Horizontal)WebScrollView;(Vertical)WebScrollView;
:Scroll
:


#WebSeparator
WebControl
C
_Properties
C
s
"*"
_DrawWith
C
s
"Separator"
_DefaultSize
C
s
"24,4"
_Render
m


#WebSlider
WebSpinBox
C
_DrawWith
C
s
"Slider"
_DefaultSize
C
s
"24,4"
_BeforeRender
m


#WebSpinBox
WebControl
C
_Properties
C
s
"*,Border=True,MinValue=0,MaxValue=100,Step=1,Value=0"
_DrawWith
C
s
"SpinBox"
_DefaultSize
C
s
"24,4"
_DefaultEvent
C
s
"Change"
Value
p
i

MinValue
p
i

MaxValue
p
i

Step
p
i

Text
r
s

_BeforeRender
m


_AfterRender
m


_UpdateProperty
m

(sProp)s(vValue)v
:Change
:


#WebTabPanel
WebContainer
C
'This class implements a tabbed container.
_Properties
C
s
"*,Border=True,Count{Range:1;256}=1,Index,Text,Image{WebImage},ShowTabs=True"
_IsMultiContainer
C
b
T
_DrawWith
C
s
"TabPanel"
_DefaultEvent
C
s
"Click"
Count
p
i

'Return or set the number of tabs.
Text
p
s

'Return or set the text of the current tab.
Index
p
i

'Return or set the current tab index.
ShowTabs
p
b

'Return or set if the tab bar is visible.
Border
p
b

'Return or set if the control has a border.
Image
p
s

'@{since 3.22}
'Return or set the icon displayed in the current tab.
_new
m


Delete
m


'Delete the container with all its children.
Remove
m

(Index)i
'Remove a tab specified by its index.
_RefreshTabBar
m

[(bForce)b]
_Render
m


_RenderStyleSheet
m


_UpdateProperty
m

(sProp)s(vValue)v
DeleteChildren
m


'Delete the children controls of all tabs.
_get
m
_WebTabPanelContainer
(Index)i
'@{since 3.22}
'Return a tab from its index.
:Click
:


'Raised when a tab is activated.
#WebTable
WebControl
C
'This class provides a control that displays a table of rows of data.
'
'The data is not stored inside the control, but provided by the [./.data] event.
_Properties
C
s
"*,Border=True,Mode{Select.*}=None,ShowCheck=True,Header{WebTable.None;Horizontal;Vertical;Both}=Horizontal,Sortable"
_Group
C
s
"View"
_DrawWith
C
s
"GridView"
_DefaultSize
C
s
"24,24"
_DefaultEvent
C
s
"Data"
None
C
i
0
Horizontal
C
i
1
Vertical
C
i
2
Both
C
i
3
Select
m

(Row)i[(Length)i]
Columns
r
_WebTableColumns

Count
p
i

Max
r
i

Mode
p
i{Select}

Selection
r
Integer[]

Current
p
i

Display
p
i

Step
p
i

ScrollX
p
i

ScrollY
p
i

ShowCheck
p
b

Header
p
i

ShowHeader
p
b

Sortable
p
b

SortColumn
p
i

SortOrder
p
i

_new
m


_GetCheckAllHtml
m
s

IsSelected
m
b
(Row)i
_Render
m


UnselectAll
m


SelectAll
m


Unselect
m

(Row)i[(Length)i]
_UpdateProperty
m

(sProp)s(vValue)v
Clear
m


AddColumn
m
_WebTableColumn
(Text)s[(Width)s(Alignment)i]
EnsureVisible
m

(Row)i
_RaiseCellEvent
m

(sCell)s(sEvent)s(aArg)Variant[];
Selection_Refresh
m

(iStart)i(iEnd)i
Selection_RefreshAll
m


:Data
:

(Row)i(Column)i(Data)WebTableData;
:Select
:


:Activate
:


:Sort
:


:Click
:

(Row)i(Column)i
'This event is raised when a control [embedded in a cell](../../webtabledata/control) raises its 'Click' event.
#WebTableData

C
'This class allows to define the contents of a WebTable cell through its [../webtable/.data] event.
Text
v
s

'Return or set the text displayed in the cell.
Html
v
s

'Return or set the HTML contents of the cell.
Background
v
i

'Return or set the background color of the cell.
Foreground
v
i

'Return or set the foreground color of the cell.
Control
v
WebControl

'Setting this property will embed a duplicated version of the control into the cell.
#WebTextArea
WebControl
C
'This class implements a multiline text edit control. 
_Properties
C
s
"*,Border=True,ReadOnly,Wrap,PlaceHolder,Text"
_DrawWith
C
s
"TextArea"
_DefaultSize
C
s
"16,16"
Select
m

(Start)i(Length)i
'@{since 3.22}
'
'Select part of the text.
'
'- ~Start~ : The start position of the selection.
'- ~Length~ : The number of characters to select.
Text
p
s

'Return or set the control text contents.
ReadOnly
p
b

'Return or set if the control is read-only.
Wrap
p
b

'Return or set if the text contents is wrapped.
PlaceHolder
p
s

'Return or set the placeholder text.
Line
r
i

'@{since 3.22}
'Return the cursor line position.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
Column
r
i

'@{since 3.22}
'Return the cursor column position.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
Pos
p
i

'@{since 3.22}
'Return or set the cursor position.
'
'The position is the number of characters from the beginning of the text.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
SelectionStart
r
i

'@{since 3.22}
'Return the start position of the current selection.
'
'If there is no selection, it returns the cursor position.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
SelectionEnd
r
i

'@{since 3.22}
'Return the end position of the current selection.
'
'If there is no selection, it returns the cursor position.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
Selected
r
b

'@{since 3.22}
'Return if some text is selected.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
SelectedText
r
s

'@{since 3.22}
'Return the selected text if any.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
_RenderStyleSheet
m


_BeforeRender
m


_Render
m


_AfterRender
m


_UpdateProperty
m

(sProp)s(vValue)v
Clear
m


'Clear the contents of the control.
Copy
m


'Copy the contents of the control in the clipboard.
SelectAll
m


'@{since 3.22}
'
'Select the entire text.
Insert
m

(Text)s
'@{since 3.22}
'
'Insert some text at the current cursor position.
'
'- ~Text~ : The text to be inserted.
:Change
:


'This event is raised when the contents of the control changes.
:Cursor
:


'@{since 3.22}
'This event is raised when the position of the cursor changes.
:Select
:


'@{since 3.22}
'This event is raised when the text selection changes.
#WebTextBox
WebControl
C
'This class implements a single line text edit control.
_Properties
C
s
"*,Border=True,ReadOnly,PlaceHolder,Text,Password,ShowClear"
_DrawWith
C
s
"TextBox"
_DefaultSize
C
s
"24,4"
_DefaultEvent
C
s
"Change"
Text
p
s

'Return or set the control text contents.
Clear
m


'Clear the contents of the control.
Select
m

(Start)i(Length)i
'@{since 3.22}
'
'Select part of the text.
'
'- ~Start~ : The start position of the selection.
'- ~Length~ : The number of characters to select.
ReadOnly
p
b

'Return or set if the control is read-only.
PlaceHolder
p
s

'Return or set the placeholder text.
Password
p
b

'Return or set if the control is used for entering a password.
ShowClear
p
b

'Return or set if the clear button is visible.
Pos
p
i

'@{since 3.22}
'Return or set the cursor position.
'
'The position is the number of characters from the beginning of the text.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
SelectionStart
r
i

'@{since 3.22}
'Return the start position of the current selection.
'
'If there is no selection, it returns the cursor position.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
SelectionEnd
r
i

'@{since 3.22}
'Return the end position of the current selection.
'
'If there is no selection, it returns the cursor position.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
Selected
r
b

'@{since 3.22}
'Return if some text is selected.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
SelectedText
r
s

'@{since 3.22}
'Return the selected text if any.
'
'[[ warning
'The value of this property is meaningful only if you handle the [../.cursor] or [../.select] event.
']]
_new
m


Copy
m


'Copy the contents of the control in the clipboard.
_Render
m


_UpdateProperty
m

(sProp)s(vValue)v
CompleteWith
m

(CompletionList)String[];
SelectAll
m


'@{since 3.22}
'
'Select the entire text.
Insert
m

(Text)s
'@{since 3.22}
'
'Insert some text at the current cursor position.
'
'- ~Text~ : The text to be inserted.
:Change
:


'This event is raised when the contents of the control changes.
:Completion
:

(Text)s
:Activate
:


'This event is raised when the RETURN or the ENTER key is pressed.
:Clear
:


'This event is raised when the clear button is clicked.
:Cursor
:


'@{since 3.22}
'This event is raised when the position of the cursor changes.
:Select
:


'@{since 3.22}
'This event is raised when the text selection changes.
#WebTimer
WebControl
C
_IsControl
C
b
T
_IsVirtual
C
b
T
_Properties
C
s
"*,-Class,-Width,-Height,-Visible,-Expand,-Ignore,Enabled,Delay{Range:0;86400000;10;ms}=1000"
_Group
C
s
"Special"
_DefaultEvent
C
s
"Timer"
Delay
p
i

Enabled
p
b

_new
m


_BeforeRender
m


_Render
m


_AfterRender
m


Start
m


Stop
m


Restart
m


Delete
m


Refresh
m


:Timer
:


#WebTree
WebControl
C
'This control implements a tree view of selectable text items with icons.
'
'Tree view items are indexed by a key. They display a string and an icon for each item.
'
'This control has an internal cursor used for accessing its items. Use the [./movefirst], [./movenext], [./moveto]... methods to move the
'internal cursor, and the [./item] property to get the item it points at.
_Properties
C
s
"*,Border=True,Mode{Select.*}=Single,ShowCheck,ShowHeader"
_Group
C
s
"View"
_DrawWith
C
s
"TreeView"
_DefaultSize
C
s
"24,24"
_DefaultEvent
C
s
"Click"
Count
r
i

'Returns the number of items in the view.
Mode
p
i{Select}

'Returns or sets the selection mode.
'
'See the [../select] class For a list of constants to use with this property.
Keys
r
String[]

'Return a list of all items keys
Item
r
_WebTreeItem

'Return the item pointed by the internal cursor, or [/lang/null] if the internal cursor is not available.
Current
r
_WebTreeItem

'Return the current item, i.e. the item is selected in single selection mode.
Key
p
s

'Return the key of the [../current] item.
Available
r
b

'Return if the [../item] property is valid.
Compare
p
i

Selection
r
String[]

'Return the keys of the selected items as as string array.
ShowHeader
p
b

'Return or set if the header is visible.
ShowCheck
p
b

'Return or set if selection is indicated by check boxes and radio buttons, or by highlighting the items.
'
'Check boxes are used in multiple selection mode, radio buttons in single selection mode.
Columns
r
_WebTreeColumns

'Return a virtual collection of the columns of the view.
ScrollX
p
i

'Return or set the horizontal scrolling position.
ScrollY
p
i

'Return or set the vertical scrolling position.
_new
m


'Create a new WebTree control.
AddColumn
m
_WebTableColumn
(Text)s[(Width)s(Alignment)i]
'Add a new column to the view.
'
'- ~Text~ is the title of the column.
'- ~Width~ is its width, or '*' if the column must expand. If the width is not specified, the column will fit its contents.
'- ~Alignment~ is the column alignment, among [Align.Left](../../align/left), [Align.Center](../../align/center),[Align.Right](../../align/right) and [Align.Normal](../../align/normal) (the default).
'
'The column object is returned.
_get
m
_WebTreeItem
(Key)s
'Return an item from its key.
Exist
m
b
(Key)s
'Return if an item exists with the ~Key~ key.
Clear
m


'Clear the view.
UnSelectAll
m


'Unselect all items in the view.
_RefreshView
m


Add
m
_WebTreeItem
(Key)s(Text)s[(Image)s(Parent)s(After)s]
'Add an item to the view.
'
'* ~Key~ is the key of the new item.
'* ~Text~ is the text of the new item.
'* ~Image~ is the relative path of the image displayed besides the item. By default, no image is displayed.
'* ~Parent~ is the key of the parent item where the item will be inserted. By default, the new item is a root item.
'* ~After~ is the key of an item that the new item will directly follows. This item and the new item must have the same parent. By default, the new item become the last child of its parent.
'
'The newly created item is returned.
_MoveItem
m
b
(hItem)_WebTreeItem;(sKey)s(bBefore)b
_GetParentItem
m
_WebTreeItem
(hItem)_WebTreeItem;
Remove
m

(Key)s
'Remove an item from the view.
'
'~Key~ is the key of the item to remove.
_SetSelected
m

(sKey)s(bSelected)b[(bNoRefresh)b]
_ReparentItem
m

(hItem)_WebTreeItem;(Parent)s
_AddCount
m

(iCount)i
_RowToItem
m
_WebTreeItem
(iRow)i
_ItemToRow
m
i
(hItem)_WebTreeItem;
_RaiseCompare
m
i
(sKey)s(sOtherKey)s
_RaiseExpand
m

(sKey)s(bExpand)b
MoveFirst
m
b

'Move the internal cursor to the first item of the view.
'
'Return [/lang/true] if the view is void.
MoveLast
m
b

'Move the internal cursor to the last item of the view.
'
'Return [/lang/true] if the view is void.
MoveBack
m
b

'When one of the other Move... methods has failed, you can use this one
'to move the internal cursor back to its position before the move.
'
'Return [/lang/true] if the internal cursor was not at a valid position.
MoveTo
m
b
(Key)s
'Move the internal cursor to a specified item.
'
'Return [/lang/true] if the item does not exist.
MoveAbove
m
b

'Move the internal cursor one visible item above.
'
'Return [/lang/true] if there is no item above.
MoveBelow
m
b

'Move the internal cursor one visible item below.
'
'Return [/lang/true] if there is no item below.
MoveChild
m
b

'Move the internal cursor to the first child item of the item currently pointed by the internal cursor.
'
'Returns [/lang/true] if there is no child item.
MoveNext
m
b

'Move the internal cursor to the next child item.
'
'Return [/lang/true] if there is no child item left.
MovePrevious
m
b

'Move the internal cursor to the previous child item.
'
'Return [/lang/true] if there is no child item left.
MoveParent
m
b

'Move the internal cursor to the parent item of the item currently pointed by the internal cursor.
'
'Return [/lang/true] if there is no parent item.
SelectAll
m


'Select all items in the view.
_IsSelected
m
b
(sKey)s
_SaveSelection
m


_RestoreSelection
m


_GetLayout
m
v

_SetLayout
m

(Value)v
_Render
m


_IsEverythingSelected
m
b

_UpdateProperty
m

(sProp)s(vValue)v
_RaiseCellEvent
m

(sCell)s(sEvent)s(aArg)Variant[];
_EnsureVisible
m

(hItem)_WebTreeItem;
:Activate
:


'This event is raised when an item is double-clicked.
'
'The internal cursor is set to the clicked item.
:Select
:


'This event is raised when the selection changes.
'
'The internal cursor is set to the expanded item.
:Expand
:


'This event is raised when an item is expanded.
'
'The internal cursor is set to the expanded item.
:Collapse
:


'This event is raised when an item is collapsed.
'
'The internal cursor is set to the collapsed item.
:Compare
:

(Key)s(OtherKey)s
:Data
:

(Key)s(Column)i(Data)WebTreeData;
'This event is raised when the contents of a specific item is needed (usually to draw it).
'
'- ~Key~ is the item key.
'- ~Column~ is the item column.
'
'You must provide the item contents by setting the fields of the ~Data~ argument.
:Click
:

(Key)s(Column)i
'This event is raised when a control [embedded in a cell](../../webtreedata/control) raises its 'Click' event.
#WebTreeData

C
'This class allows to define the contents of a WebTree cell through its [../webtree/.data] event.
Text
v
s

'Return or set the text displayed in the cell.
Html
v
s

'Return or set the HTML contents of the cell.
Background
v
i

'Return or set the background color of the cell.
Foreground
v
i

'Return or set the foreground color of the cell.
Image
v
s

'Return or set the image displayed in the cell.
Control
v
WebControl

'Setting this property will embed a duplicated version of the control into the cell.
#WebVBox
WebContainer
C
'A container that lays out its content vertically.
_Properties
C
s
"*,-Arrangement"
_DefaultArrangement
C
s
"V"
_Similar
C
s
"WebContainer"
_new
m


#_WebTabPanelContainer

C
'@{since 3.22}
'
'This class represents a WebTable tab.
Text
p
s

'Return or set the tab label
Html
p
s

'Return or set the tab label as HTML.
Image
p
s

'Return or set the tab icon.
_Container
v
WebContainer

:_Fake
:


#_WebTableColumn

C
Text
p
s

Expand
p
b

Alignment
p
i{Align}

Wrap
p
b

Width
p
s

Hidden
p
b

Sortable
p
b

_Column
v
i

_GetAlignment
m
s

:_Fake
:


#_WebTableColumns

C
Count
p
i

_Render
m


_get
m
_WebTableColumn
(Index)i
:_Fake
:


#_WebTreeColumn
_WebTableColumn
C
#_WebTreeColumns

C
Count
p
i

_Render
m


_get
m
_WebTreeColumn
(Index)i
:_Fake
:


#_WebTreeItem

C
Key
r
s

'Return the item key
ParentKey
r
s

'Return the key of the parent item, or 'NULL' if the item has no parent.
Text
p
s

'Return or set the item text.
Html
p
s

'Return or set the item HTML text.
'
'If the Html property is defined, the [Text](../text) property is ignored.
Image
p
s

'Return or set the item image.
Count
r
i

'Return the number of children items.
Children
r
i

'Return the number of children items.
Expanded
p
b

'Return of set if the item is expanded.
Editable
p
b

'Return or set if the item is editable.
'
'This property has no effect at the moment.
Selected
p
b

'Return or set if the item is selected.
Background
p
i

'Return or set the item background color.
Foreground
p
i

'Return or set the item foreground color.
Tag
p
v

'This property is intended for the programmer and is never used by the component. It can contain any [/lang/type/variant] value.
Depth
r
i

'Return the item depth inside the whole tree.
_Tree
V
WebTree

_Depth
v
i

_Rows
v
i

_Index
v
i

_GrandChildren
v
i

_IsRoot
m
b

_ComputeDepth
m


_ComputeGrandChildren
m


_SetParent
m

(sParent)s
_new
m

(sKey)s(sParent)s
_ComputeRows
m

(iAdd)i
_AddChild
m

(sKey)s
_RemoveChild
m

(hItem)_WebTreeItem;
_GetChildren
m
String[]

Clear
m


'Remove all item children.
Delete
m


'Remove the item.
EnsureVisible
m


'Ensure that the item is visible on the screen.
MoveBefore
m

[(Key)s]
'Move the item just before another item.
'
'- ~Key~ : key of the reference item. The reference item must have the same parent as the moved item.
'
'If no reference item is specified, the item is moved so that it becomes the last child of its parent.
MoveAfter
m

[(Key)s]
'Move the item just after another item.
'
'- ~Key~ : key of the reference item. The reference item must have the same parent as the moved item.
'
'If no reference item is specified, the item is moved so that it becomes the first child of its parent.
MoveFirst
m


'Move the item so that it becomes the first child of its parent.
MoveLast
m


'Move the item so that it becomes the last child of its parent.
_compare
m
i
(hOther)_WebTreeItem;
_put
m

(Text)s(Column)i
'Set the text contents of a column for the item.
'
'- ~Column~ : the column index.
_get
m
s
(Column)i
'Return the text contents of a column for the item.
'
'- ~Column~ : the column index.
Reparent
m

(NewParent)s
'Change the parent of the item.
'
'- ~NewParent~ : key of the new parent.
:_Refresh
:


