Child pages
  • Windows and Dialogs

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Servoy supports a wide range of Windowing options to support both the Single Document Interface as well as Multi Document Interface

Windowing is one of there area's that need to be taken into account when developing solutions for both the Smart and Web Client, as there are differences, due to limitations in browsers

Servoy provides three types of Windows:

Window

A type of Window that features a close, minimize & maximize button in the title header 

Dialog

Modal dialog

Within Servoy UI's are called Forms. Forms can be displayed in either a Window or a Dialog, or can be displayed inside container elements within other Forms.

...

Window vs. Dialog

...

A Window is different from a Dialog in that a Window supports Minimize and Maximize operations on top of the Close operation that is supported by both the Window and Dialog.

Dialogs can be either modal of non-modal/modeless, whereas Windows are always non-modal.A Servoy Smart or Web Client always comes with a main window. Servoy offers support open new windows or dialogs to show forms.

Window definition

Windows are independent of each other and are only tied to the Client. Closing the Client will close all windows. When a Smart or Web Client is launched it will always open with a window, the so-called main window. Closing the main window will close the Client.

In the Smart Client each window occupies an entry on the system bar. The individual windows can be minimized, maximized and closed independently and can be moved in front of one another. 

In the Web Client a window can be either a separate browser window or an additional tab in the existing browser window, depending the type of browser and/or the browsers configuration. The usefulness of opening new windows in browsers however is limited, due to browser restrictions on opening new windows/tabs programmatically from within a page. Almost any browser nowadays comes out of the box with a popup blocker installed, preventing pages from automatically opening new windows/tabs.

Dialog definition

Dialogs are bound to a parent, being the main window or another window or dialog. A dialog is always on top of its parent and automatically close if their parent is closed. At the top of a hierarchy of dialogs, there is always one window, being either the main window that was automatically launched when launching the Client or an additional window opened at a later stage.

In the Smart Client a Dialog is similar to a Window, with the exceptions that it does not support maximize and minimize operations, on top of the general restrictions applied to dialogs (tied to a parent, always on top of their parent and automatically closed when the parent closes). While a dialog is always op top of it's parent, in the Smart Client the dialog window can be moved around independently and thus be located in such a position as to not overlap it's parent.

In the Web Client a Dialog is displayed inline in the browser window/tab that displays the window in the dialogs parent hierarchy.

Dialog modality

Dialogs can be either modal or non-modal (also referred to as modeless). A modal dialog blocks access to all other dialogs and the window in it's parent hierarchy, whereas non-modal dialogs do not block the access.

In the Smart Client a modal dialog blocks all windows and dialogs, except the dialogs that are opened with the modal dialog in it's parent hierarchy.

In the Web Client a modal dialog block its parent window and all dialogs in it's parent hierarchy TODO: validate this assumption

Dialog 

The main object involved when working with windows is the JSWindow object. Additionally there is the window plugin and the dialogs plugin.

Window Types

Parenting

Development considerations

Smart Client vs. Web Client

...