Project: Workplace Shell Toolkit

The Workplace Shell has by far the most innovative and extendible interface of all computer GUIs around. While this is recognized by many programmers as well as users, coding Workplace Shell classes requires some more knowledge compared to plain GUI programming.

Even when someone has got this knowledge, coding certain functionality that a Workplace Shell class either should or must have, is most often a very time consuming task.

More, one often needs to create somewhat redundant code, only changing a few things within a lot of code lines, blowing out your source files and most likely leading to a lot of little nasty bugs, requiring a lot of tests hunting them. Even worse, if you are creating not only one, but several Workplace Shell classes in one project, then you will quickly come to code several parts several times.

Beside giving you a lot of little helper functions, the API of the Workplace Shell Toolkit encapsulates the complexity of the handling of some of the tasks being most time consuming to code.

The following major APIs of the Workplace Shell Toolkit possibly are of particular interest:

  • Settings and Details Manager
  • Extended Attributes Manager
  • Memory Mapped Files Manager
  • Text Message File (TMF) Support
  • NLS related functions
  • Process related functions
  • PM helper and PM control functions
  • Bubble Help API
  • Buildlevel Query and Set API

Among lots of little additional helpers to show up in future versions the following major APIs are on the todo list:

  • non-WPS usage of Settings and Details manager API
  • dynamic dialog support
  • XUL support

The Workplace Shell Toolkit can be used with and comes with code and import libraries for the following compilers:

  • IBM C Set ++ Version 2.1
  • IBM VisualAge C++ Version 3.0
  • gcc of emx V0.9d
  • Innotek GCC 3.3.5 (from WPSTK V1.60 on)
  • Open Watcom V1.6 (from WPSTK V1.60 on)

The sources of the toolkit APIs can also be downloaded via CVS from the Netlabs Open Source Archive server.

Project Navigation