workspace class

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