Skip to main content
Version: 2022

Screen types

Introduction to screen types​

The screen type of a subject (table or variant) determines the screen structure used to visualize the subject. There are four different levels for which a screen type can be specified:

  • Main screen: when the table is opened from the menu.
  • Detail screen: when a table is a detail of another table.
  • Pop-up screen: when a table opens as a pop-up.
  • Zoom screen: when a detail of another table is double clicked so it opens as a main size screen.

If the screen type is left empty, then the standard screen type, indicated at the project version, is used.

The screen types that are set up for the Windows and Web user interfaces are also used for Mobile. The Mobile user interface converts the screen types to a version that is suitable for smartphone or tablet by analyzing which components are used in the screen type.

Assigning a screen type​

To assign a screen type to a subject, follow these steps:

menu User interface > Screen types > tab Screen types

  1. In the left list of screen types, select the screen type that has to be assigned to a specific table .
  2. Select the relevant table(s) and variant(s) in the Assign to subjects tab to which this screen type has to be assigned.
  3. Use the Assign screen type tasks to assign the selected screen type to the desired screen type levels of the selected subjects.

Assigning screen types Assigning screen types

If a selected screen type is used by a subject, then the name of the screen type is highlighted in bold. Underlined screen types are explicitly set up to deviate from the standard screen types defined at the project version.

Designing a screen type​

To design a custom screen type, a new screen type first has to be created in the Screen type overview.

menu User interface > Screen types > tab Screen types

The ID, and possibly a definition of this new screen type, is specified here.

note

Thinkwise recommends keeping the name of the screen type abstract, since it could be used in several places. Therefore, not customer but for instance parallel_detail.

When a screen type is especially developed for one process, then this screen is not suitable for use with other subjects. By turning off Available for user preferences, this screen is not displayed in the user interfaces when switching screen types with user preferences.

When a new screen type is created, it can be designed on the Design tab. This tab consists of a number of parts which are explained in more detail in the table below.

Designing a screen type Designing a screen type

  1. Abstract components - In this component, an overview is presented of the available abstract screen components that can be dragged onto the work sheet.
  2. Preview - With the help of these buttons, a screen type can be tested on an existing end product.
  3. Work sheet - This is the work sheet on which the various components are dragged to construct a screen type.
  4. Overview of properties - The properties of the selected component are presented here. These can be manually adjusted.
  5. Save and reset - The modifications can be saved or undone using these buttons.

Add a screen component​

All the components listed below can be dragged and dropped onto the work sheet to compose the required screen. When the first component is dragged onto the work sheet, it will fill the complete page. When another component is subsequently dragged onto the work sheet, a frame will appear at the position where it is dragged to. The components on the work space can be moved freely by dragging.

It is possible to display several button bars and the filter next to each other instead of below each other. This allows more efficient use of the available space. White space between the various components (prefilter, report, tasks and filter) is added automatically.

Available screen components​

The following components are available that can be dragged onto the work sheet:

IconComponentExplanationProperties
Tab containerThe tab container ensures that several tabs can be used under which the details or other components can be classified. Empty tabs are removed by the user interface.Show borders (True/False)
Show tab headers (True/False)
Tab orientation (Horizontal/Vertical)
Detail tilesThis component shows the subject details in tiles. Clicking on a tile will open a new document.
GridShows multiple records in a grid. The user interface will remove the grid if there can only be at most one line.Show grid header (True/False)
FormData from one row can be presented and modified in the form.
Form listThis component displays a form without tab pages for every row in the grid. All the forms will be stacked and a scrollbar will be created when it exceeds the screen.
Search formThe search form provides an overview of the (limited) search set on the screen. The search result is marked, and all other rows remain visible.
Filter formThe filter form provides an overview of the (limited) filter set on the screen. The result is filtered, and all other rows are removed as long as the filter is active.
Universal GUI Columns with the following domain Control types (as set in the menu Data > Domains > tab Form > field Control) are not supported: Date, DateTime, Time, Label, Group header label, Group header icon,, RTF, SQLeditor, Multiline, Image link, Image upload, Image BLOB, File, File upload, Signature, Video link.
Prefilter barA button for all prefilters is displayed in this bar. The user interface will remove this component if there are no (visible) prefilters.Alignment (Left/Right or Top/Bottom)
Cube view barA button for all cube views is displayed in this bar. The user interface will remove this component if there are no cube views.Alignment (Left/Right or Top/Bottom)
Task barA button for all tasks is displayed in this bar. The task buttons then disappear from the standard action bar at the top. The user interface will remove this component if there are no tasks.
Universal GUI - A task bar must be placed horizontally. Task bar buttons are not sizable.
Alignment (Left/Right or Top/Bottom)
Task tilesSoon available for Universal GUI All tasks assigned to the subject will be displayed as tiles.Alignment (Left/Right or Top/Bottom)
Report barA button for all reports is displayed in this bar. The user interface will remove this component if there are no reports.Alignment (Left/Right or Top/Bottom)
Report tilesSoon available for Universal GUI All reports assigned to the subject will be displayed as tiles.Alignment (Left/Right or Top/Bottom)
TreeviewDisplays a tree structure. The user interface will remove the structure if there can only be at most one row. See also Tree view properties
FilterThe filter can be used for quick filtering on several columns.
In the Universal GUI, columns with the following domain Control types (as set in the menu Data > Domains > tab Form > field Control) are not supported: Date, DateTime, Time, Label, Group header label, Group header icon,, RTF, SQLeditor, Multiline, Image link, Image upload, Image BLOB, File, File upload, Signature, Video link.
Dock (Left/Fill/Right)
DashboardDisplays the data in a Dashboard form. The user interface will remove the component if there is no maps definition for the table. At the time of writing, this can only be created with an object model extender.
MapThe Maps component displays a folder in which data can be viewed. The user interface will remove the component if there is no maps definition for the table. At the time of writing, this can only be created with an object model extender.
PreviewDisplays the first column of a table that contains a file link or path (for instance a URL or a file upload column).
Pivot tableProvides the possibility to display a pivot table. The user interface will remove the pivot table if there is no cube definition for the table.
Pivot table fieldsProvides the possibility to display fields that can be dragged and dropped in a pivot table. The user interface will remove the pivot table fields if there is no cube definition for the table.
GraphDisplays a graph on the screen. The user interface will remove the pivot table if there is no cube definition with a graph for the table.
SchedulerThe scheduler displays a graphical planning. The user interface will remove the component if there is no scheduler definition for the table.
Windows GUIWeb GUI - A scheduler can only be created with an object model extender.
Universal GUI - Available as a component with limited functionality, but no object model extender is needed.
Card listThis component shows records as cards, with an image and title, in a scrollable list.
RSSDisplays an overview in which RSS feeds can be presented. The user interface will remove the component if there is no RSS definition for the table. At the time of writing, this can only be created with an object model extender.

Settings for screen components​

The Screen components tab displays an overview of the selected screen type's components in a tree structure. Several advanced settings for the screen type can be adjusted here.

menu User interface > Screen types > tab Screen components

Depending on the horizontal or vertical orientation of the component:

  1. Set the Height or Width to a fixed number of pixels or a percentage.
  2. In fields Height unit and Width unit, select 'Percentage' or 'Pixels'.
  3. Check the box for option Fix on resize.

Screen preview​

When the screen is developed according to your wishes, it is possible to display a preview of the screen in the Software Factory.

First, connect to an end product by clicking the Connect 1538570361509 button. Then select the table which it needs to be connected to and click the Preview 1538570462066 button. A new document will open inside the Software Factory development environment, showing the screen type applied to the selected subject.

The model is re-loaded with the Refresh button.

note

When making the connection, use the Thinkwise Mock Database provider to display a preview without the end product. The preview is then displayed with dummy data.

Hide the toolbar​

Universal GUI

Sometimes the toolbar (search, refresh, etc.) doesn't make sense for a screen type. To hide the toolbar by screen type:

menu User interface > Screen types > tab Form > tab Screen types

  1. Check the Hide main action bar box.

Hide main action bar Checkbox for hiding the main action bar

Breakpoints​

Responsive screens are designed to work well on mobile, tablet, and desktop devices, by adapting the layout to the device and screen size. A responsive screen is created by using breakpoints in combination with screen types. Breakpoints are the points at which your GUI changes to a screen type that presents the data with the best possible layout, depending on the screen size.

menu User interface > Screen types > tab Form > tab Screen types

For every screen type in the Software Factory, one or more breakpoints can be defined. A breakpoint consists of a Breakpoint in pixels and a Breakpoint screen type. When the width of a screen type becomes smaller than the defined number of pixels in Breakpoint, then the screen type changes to the Breakpoint screen type.

Breakpoints debug mode​

Universal GUI

In Universal GUI, a debug mode is available to help add breakpoints. It is enabled by setting debugMode: true in the config.json. Now, the current width and active screen type for each screen are shown in the GUI. If a screen type is a breakpoint, you will also see the screen type that it is a breakpoint of.

Breakpoints example​

menu User interface > Screen types > tab Form > tab Screen types

It is possible to define more breakpoints:

Breakpoint (px)Breakpoint screen type
600master_detail
400card_list_form
200card_list_only
  • In this situation, the used screen type is master_detail as long as the number of pixels is between 400 and 600.
  • When the screen is made smaller, between 200 and 400 pixels, the GUI switches the screen type to card_list_form.
  • And when the screen is smaller than 200 pixels, the GUI will show screen type card_list_only.

Example breakpoints Example of a breakpoint set-up

Tab container component​

The tab page container has two functions:

  • Tab pages for components
  • Tab pages for details

An empty tab page container

Tabs can be added via the context menu of the tab container.

Component tab page​

menu User interface > Screen types > tab Design

To drag components in a component tab, the status of the tab needs to be set to Edit tabs via the context menu (right mouse button). On the right-hand side of the screen, it is indicated for each screen component whether the size of the component must remain fixed when changing the size of the screen.

By setting up a tab control for a component tab, it is possible to influence the translation and the icon of the tab. New controls can also be added via the Tab controls tab. The standard can be overwritten by adding an own icon and translation.

Detail tab page​

To insert a detail tab with subject details:

menu User interface > Screen types > tab Design

  1. Drag a Tab container component into the Design area.

  2. From the Tab container, open the context menu (right mouse button).

  3. Select Change component tab page to detail. The tab will then become gray and the details will be initialized based on the definitions of the subject.

  4. Then, indicate which details should be displayed by selecting a tab control on the right-hand side of the screen.

As standard, there is a choice from the options A, B and C, but new detail controls can also be added under Tab controls. An own icon can also be added here.

In the Subjects screen, the details of subjects can be distributed across the various detail tabs that are present in a screen. If a set tab control is not present on the chosen screen type, then the detail is placed on the first detail tab.

1538569570256 Detail tab page groups

Hiding tab headers and lines in the screen type modeler​

This option enables the user to hide the tab header completely or only hide the line. These are:

  • Show tab header
  • Show borders

These properties can both be set to false to hide their respective properties.

Tab page properties

Vertical tabs​

Universal GUI

By default, tabs in a Tab container component are displayed horizontally, next to each other. It is possible, however, to display them vertically, to make the tabs look like a menu.

vertical tabs Vertical tabs example

To convert a (horizontal) tab panel in the Tab container component of a screen into a vertical tab panel:

menu User interface > Screen types > tab Design

  1. Select the Tab container component.

  2. In the screen type modeler on the right-hand side, change the Tab orientation property to Vertical:

tab orientation property Tab orientation property in the screen type modeler

Detail tiles component​

To insert a Detail tiles component with subject details:

menu User interface > Screen types > tab Design

  1. Drag a Detail tiles component into the Design area.

  2. Select a Detail group setting on the right-hand side of the screen.

By default, options A and B are available, but you can add new options in the tab Detail groups.

In the Subjects details screen, you can distribute the subject details among the detail groups.

Detail group setting Detail group setting

Task bar component icon sizes​

For the icons in a task bar, you can choose from 7 sizes (in pixels).

task bar icons Screen type with task bar and Icon size property

Universal GUI

In the Universal GUI, these sizes are translated into 3 possible values, according to the following table. The icon size is also affected by the Compact or Comfortable mode setting. In compact mode, less padding is applied. More padding is applied in the comfortable mode.

Icon size in Software FactoryIcon size in Universal GUIButton size Compact modeButton size Comfortable mode
16*16, 20*2020*2032*3240*40
24*2428*2840*4048*48
32*32, 40*40, 48*48, 64*6436*3644*4456*56

The icon size set for task bar icons also applies to icons in the action bar at the top.

Preview component​

The preview component supports a wide range of file formats, including but not limited to:

  • Images (.jiff, .jpg, .jpeg, .bmp, .png, .ico, .svg, .gif)
  • Text files (.txt, .cs, .java, .ini, .log, .bat and .sql)
  • Web pages (.html, .htm, .xml, .gif, .msg and .svg)
  • XML files (.xml)
  • Outlook emails (.msg)
  • PDF and PostScript files (.pdf and .ps)
  • URLs

If a preview cannot be generated for a file, the preview component will state 'No preview is available'.

Scheduler component​

note

For Windows GUI and Web GUI, a scheduler can only be created with an object model extender.

Universal GUI

Place the Scheduler screen component in the screen type and the component will initialize via the following rules:

  • A subject needs to have at least 2 date/time columns. The order of these columns will determine the start and end of an activity.
  • The title of the activity is determined by the Lookup display column.
  • The activity color can be set with a conditional layout. The conditional layout has to be set to the Lookup display column.
  • A tooltip is available when hovering over an activity by using a domain that contains the Control type 'multiline'.
  • The resources of the scheduler will be determined by the first field in the subject that has a sort with a Group Until. This needs to be a readable text identifier, lookups will not yet be translated.
  • You can add resources that do not yet have an activity by including a row in the subject with an empty start- and end date.
  • The scheduler appears on the first day of the previous month. With the SchedulerPeriodInYears extended property, you can set the period to look ahead to a number of years.

Available features​

Drag & drop is allowed in the scheduler. The start- and/or end date of a row can be changed manually and by dragging the resource horizontally. If the subject is a view, this could require an instead-of update trigger. Dragging an activity to another resource will update the Group Until column to the target value. Note that, since the translation of lookups isn't yet supported, you might have to translate this back to a correct foreign key value using an instead-of update trigger.

Zooming out from days (default) to weeks. This provides a user with a better overview over a longer period.

The scheduler component remembers the timescale the user selected: When reopening the scheduler window, the last timescale chosen is displayed. This preference is saved in the browser (for example, Google Chrome on your device) but is not persisted across browsers or devices.

Not yet available in the Universal Scheduler screen component:

  • Double-click events, for instance, tasks or appointments.
  • Double-click time cells.
  • Drag & drop an external row, for instance, from a grid.

Example Universal resource scheduler Example of a resource scheduler in Universal GUI

Formlist component​

Windows GUI Universal GUI

A formlist can be created by using a screen type that contains a FormList component. A formlist uses the subjects and columns Form settings for visualization and positioning.

The FormList component shows the content of multiple rows within a single form. A formlist is always in edit mode. There are no action buttons, every change is automatically saved. Formlists are used to display dynamic forms that can have different control types.

Suppose a survey contains multiple questions with different types of answers. For example, a full name (string), a birth date (DateTime), and a Yes/No checkbox that indicates whether the user wants to receive commercial emails or not. Using a formlist, this survey would look like this:

Example of a formlist

In this example, a Layout control procedure in combination with an answer type field can be used to show the correct answer field for the related question. The corresponding stored procedure is then executed to determine the visibility of each control.

Using a Group label control type in a Form or FormList component results by default in a bold (group) label. See the labels Full name, Birthdate and Allow communication in the image above.

Formlist details and restrictions​

Universal GUI

In a formlist, the Universal GUI supports the following control types: String, Number, Decimal, DataTime/Date/Time, Checkbox, and Radiobutton.

  • HTML, file, lookup, and combo box controls are not supported.
  • There can only be one form column. Multiple form columns are not supported.
  • For adjacent fields, the width is evenly distributed over the available width, regardless of the settings in menu User Interface > Subjects > tab Components > tab Form.
  • When grouping controls for a single record, the field in next group and field in next tab options are not supported.
  • A formlist is default editable and works around the subject editing mechanism. Without any other editable components, like form or grid, CRUD buttons are hidden on the action bar.
  • A formlist patches directly to the table just after changing a value. To keep the editing experience fast and smooth, no data is refreshed and field visibility is not updated.
  • After changing a field value, layout changes (whether fields are visible or not) are not performed.
  • After changing a field value, other dataset changes are not visible instantly.
  • As layout mode, only the navigation layout mode can be used.

Was this page helpful?