The concept is similar to an internet browser. But it is intended for the use in industrial process visualization. It is based on Qt http://www.trolltech.com which is a platform independent GUI toolkit. ProcessViewBrowser is platform independent, because only posix calls and Qt are used. ProcessViewBrowser runs on Linux/Unix, OpenVMS and Windows. The browser can display nearly all standard Qt widgets (labels, buttons, editfields, comboboxes, ...) and other widgets for bmp images, diagram widgets for displaying xy-graphs, OpenGL and VTK. The widgets can be arranged on your masks. You can specify the position and size of the widgets.You can place one widget on top of another widget. I have seen many process visualization systems, which define their masks in the clients (I think this is not the right way to go). Instead of this, the masks in ProcessViewBrowser are defined in the appropriate process computer itself. The user can jump from one process computer to the other and see all masks. When masks are updated nothing has to be done in the clients.
The ProcessViewServer is implemented in ANSI C (where as the browser is written in C++). You can easily modify this server to implement your masks. You are free to read the data you want to display from shared memory, database systems or get it via IPC mechanisms like Corba or OPC. The server also runs on Linux/Unix, OpenVMS and Windows. Most of the servercode can be generated automatically. You design your masks with Qt Designer. Qt Designer saves the dialog in an xml-file. With the command "ui2pvc your_mask.ui your_mask.c" you generate the servercode.
Normally ProcessViewBrowser needs no modifications at all. It is the task of the user to write his/her ProcessViewServer. This is done using Qt Designer and C/C++ respectively Python, Perl, PHP or Tcl. Your starting point is the supplied demo for ProcessViewServer.