workspace class
Provides a MDI workspace object
Inherits
object widget
Description
This widget provides a workspace window that can contain decorated window.
Functions
$addSubWindow(<widget>)
Adds a widget as a subwindow of this workspace.
$removeSubWindow(<widget>)
Removes a subwindow from this this workspace.
<object> $activeWindow()
Returns the active window, or 0 if no window is active.
<boolean> $scrollBarsEnabled()
Returns true if the workspace provides scrollbars; otherwise returns false.
$setscrollBarsEnabled(<bEnabled:boolean>)
Sets whether the workspace provides scrollbars to enable. (bEnabled 1 or 0)
$cascade()
Arranges all the child windows in a cascade pattern.
$tile()
Arranges all child windows in a tile pattern.
$closeActiveWindow()
Closes the child window that is currently active.
$closeAllWindows()
Closes all child windows.
$activateNextWindow()
Activates the next window in the child window chain.
$activatePrevWindow()
Activates the previous window in the child window chain.
Examples
# Let's start. # We start the main class creation, in the constructor we do the # widget's showing, to give a particular popup # creation appearance. class (ws,widget) {     constructor     {         $$->$setGeometry(%X,%Y,100,100)
(KviKvsObjectFunctionCall *c         $$->%label=$new(label,$$)         $$->%label->$settext("Another class by N\&G")         $$->%label->$setautoresize(1)         $$->$show()     } } # We create the new workspace, and we set a 640x480 size with widget $resize command %Workspace=$new(workspace) %Workspace->$resize(640,480) # Now we make a cycling construction of the widgets (look at the class), # and give to the widgets a random X and Y coordinates. # It takes few seconds to show the effects, be patient. %I=0 while (%I<100)          %X=$rand(500)     %Y=$rand(480)     %Widget=$new(ws,%Workspace)     %I++ } # Let's show the fireworks! EnJoY! %Workspace->$show()
    Example 2:
# This is like the first example but it has a particular animation effect. %Hex[]=$array(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) class (ws,widget) {     constructor     {     $$->$setGeometry(%X,%Y,100,100)     $$->%lay=$new(layout,$$)     %i=0     while (%i<10)         {             $$->%label=$new(label,$$)             $$->%label->$settext("Another class by N\&G")             %color=%Hex[$rand(15)]%Hex[$rand(15)]%Hex[$rand(15)]%Hex[$rand(15)]%Hex[$rand(15)]%Hex[$rand(15)]             $$->%label->$setforegroundcolor(%color)             $$->%label->$setautoresize(1)             $$->%lay->$addwidget($$->%label,%i,0)             %i++;         }         $$->$show()     }     mousepressevent     {         if ($istimer(cycle) == 1) killtimer cycle     } } %Workspace=$new(workspace) %Workspace->$resize(640,480) %Workspace->$setWindowTitle("Hit the mouse to stop cycling windows...") %I=0 %Cycle=1 while (%I<20) {     %X=$rand(500)     %Y=$rand(480)     %Widget=$new(ws,%Workspace)     %I++ } %Workspace->$show timer (cycle,3000) {     if (%Cycle==1) %Workspace->$tile()     if (%Cycle==2)     {         %Workspace->$cascade()         %Cycle=1         return     }     %Cycle++ } privateimpl(%Workspace,mousepressevent) {     if ($istimer(cycle) == 1) killtimer cycle }

Index, Object Classes