See: the PmaWorkspace
The workspace can be devided into arbitrary number of minor rectangular sections, described as frames
. Other application windows are then placed into relevant frame (windows of the PmaPanel
... objects). This window (displayed in relevant frame), is named component view
or component viewer
. For this viewer it is then suficient to define in which frame to be displayed (in which workspace), and there is no need to explictly configure exact position anymore. It is also possible to open multiple workspaces simultaneously, for example to have one maximalized workspace on each display.
There can be only one one component viewer (PmaPanel
...) opened in each frame. When opening of new viewer, the current viewer is closed first, and then new viewer is opened.
If the PmaWorkspace
object is set as application main window, then the workspace window is opened automatically at application launch and remains open while the application is running.
Closing the main window causes closing the application itself (if the "AppStop
" permission is fullfiled, the onAppStopBegin
event is triggered, etc.).
If the PmaWorkspace
object is not set as application main window (it is an auxilliary window), then the workspace window is not opened automatically after starting the application. The window can be opened by the CreateView
method and the auxilliary type window behaves exactly the same way as any other viewer
of any Promotic
object. The auxilliary window type of workspace can be displayed as an independent window, in the frame of another PmaWorkspace
object, or in the PmgFrame
If there is the PmaWorkspace
object immersed into a frame of another PmaWorkspace
object, it is possible to address the target frame for opening the viewer (or another operation) only by the frame identifier (e.g. "target:left;"
), regardless which of the immersed objects the frame is placed in. The main condition is to have all frame identifiers unique not only within separate PmaWorkspace
objects, but also within all immersed PmaWorkspace
objects. You can think of it like the frame of the auxilliary PmaWorkspace
object is temporarily unfolded in the superior object when opened and its identifier is enabled into the parent PmaWorkspace
object. The number of immersed levels of auxilliary PmaWorkspace
object is not limited and it can be modified dynamically by opening the corresponding Promotic
In the PmaWorkspace
object, multiple PmaWorkspace
can be planted (it is meaningful only if these additional objects are acting as auxiliary windows opened only from the window of this object).
This object can be created in objects: PmaRoot
. Multiple objects of this type can be created in such objects.
When creating this object a preconfiguration is offered, see Preconfigurations in group "Workspaces (PmaWorkspace)"
object can offer its workspace layout to Web clients in the form of html page
. In this workspace on the Web another Web components (PmaPanel
...) can be displayed, if they are also enabled to the Web. Offering Web pages can be enabled on the "PmaWorkspace > Web server
" tab. See: Overview of the Web technology in the PROMOTIC system
The client requiring data from this Web component is of the PmWebClient
type from the licence point of view.