Skip to main content
Version: 2023

Custom screens

Introduction to custom screens

For some applications, the integration of highly specific graphic solutions is required. These are not by default available in the Software Factory's screens, but can be achieved by building custom screens that can be seamlessly integrated into your application's user interface.

Examples are an advanced Gantt Chart to graphically display a schedule, an interactive exploded CAD component and advanced dashboards.

Custom screens are built in the development environment of the user interface programming language, such as Visual Studio for C#.


When introducing custom screens or custom components into your application, you will also introduce a piece of traditional programming. Thinkwise cannot provide any support or maintenance for custom built screens or components. Consider the business value of every custom screen or component versus the risks and drawbacks described below. The consequences are:

  • The screens or components won't automatically adapt to model changes.
  • After every GUI update, adjustments to the screens or components may be required.
  • Custom screens need to be build for every platform seperately and results may differ per platform. For the Web GUI, custom screens are not available at all.
  • Remember to set up the communication with Indicium, to enable reading and writing data from and to the application.

Custom screens for Windows and Web GUI

menu Processes > Custom screens

  1. Add a custom screen in tab Form > Custom screen.
  2. Provide the screen at least with a Custom screen name and a Custom screen call.
  3. Add the screen to a menu (tab List bar items, Tree view items or Tiles).
  4. Assign roles to the screen in tab Roles.
  5. To implement the programmatic interface: compile it against the GUI. Bundle the resulting GUI DLL files with the user interface in subfolder Projects[name].

Custom screens for Universal GUI

Universal GUI currently supports a number of default screen components, like grids, forms and charts. Custom screens for more advanced graphic applications are not supported. Applying more advanced graphic applications is possible, though, by using custom components.

Custom components make use of the HTML preview component. All API features offered by Indicium can be used by these HTML pages. The HTML itself can be made context sensitive, for instance by using information from the current row. All available features of the Thinkwise platform are inherited.

Using custom components is possible in two ways:

Loading a website into your screen

It is possible to add a website to the same subdomain as Universal and load it via a preview component. This allows you to communicate with Indicium via a custom page that is loaded into Universal.

  1. On the webserver, create and host the website as a subdomain in the same domain as the Universal GUI.

  2. Create a data domain for using URLs (menu Data > Domains).

  • In field Control, select 'Url'.
  1. Create or select a table or view with a screen type that contains a preview component (menu User interface > Screen types).

  2. The table or view should have at least one column that contains the URL to the website as data (menu Data > Data model > tab Tables > tab Columns).

  • In field Domain, select a domain with a URL control.
  • In field Calculation type, select 'Expression'.
  • In field Query, add the URL.

Example 1 - Custom website with a chart currently not available in the Software Factory:

Example 2 - Website with an integrated CAD viewer:

Loading a smaller piece of software into your screen

If loading an entire website into your application is undesirable, a smaller piece of software can be introduced by applying an HTML control in a form or card list. Use this for example to show read only data.

Make sure you use a domain with an HTML control:

menu Data > Domains > tab Form > tab Domain

  1. In field Data type, select 'NVARCHAR_MAX'.
  2. In field Control, select 'Html'.
  3. In field Show action button, select 'Never'. This prevents opening the text editor in the screen.

Add the HTML to the column:

menu Data > Data model > tab Tables > tab Columns

  1. In field Domain, select a domain with an HTML control.
  2. In field Calculation type, select 'Expression'.
  3. In field Query, add the HTML as a string.

Custom columns Add the HTML to the column

Example 1 - Custom card list:

Custom card list

Example 2 - Custom form and columns:

Custom screens kpi

Was this page helpful?

Happy React is loading...