See: the
PmaWorkspace object.
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,
PmaReport,
PmaAlarmGroup ... 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 (or in which workspace) to be displayed, 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,
PmaReport,
PmaAlarmGroup ...) 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 after the application is launched 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 the application is launched. 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 separate window, in the frame of another
PmaWorkspace object, or in the
PmgFrame object.
Caution: 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 identifiers are 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 object viewers.
In the
PmaWorkspace object, multiple
PmaWorkspace,
PmaPanel and
PmaReport objects can be created (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,
PmaFolder,
PmaPrototype. 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)".
The
PmaWorkspace object can offer its workspace layout to Web clients in the form
of the HTML page. In this workspace on the Web another Web components (
PmaPanel,
PmaReport,
PmaAlarmGroup,
PmaWebDir ...) 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.