This section should help you identify XWorkplace code sections which might also be useful to you.
  1. This applies mostly to the code in the HELPERS directory. All of that code is not dependent on XWorkplace and could be used in any program. There are lots of Control Program, Presentation Manager and GPI helper functions which might solve problems that you are having.

    To use the helper funcs, simply add #include "helpers\xxx.h" at the top of your code. See the top of the respective header for additional #include's which are required by the helper.

  2. There are some functions in src\shared\common.c which might be useful to you, most notably to query some XWorkplace settings and NLS stuff. cmnQuerySetting will return a global setting, for example, or cmnMessageBox will display one of the pretty XWorkplace message boxes.

  3. To find out how to create a WPAbstract class from scratch, including a completely new view defined by your class (like the "Class list view"), you can take a look at xclslist.idl and xclslist.c, which do exactly this. See the comments in that file for instructions.

  4. To create a new settings object (which is not derived from WPSystem), take a look at XWPSetup, a direct subclass of WPAbstract, which is implemented this way.

  5. For easier maintenance of notebook dialog procs, I have created src\shared\notebook.c, which does just this using callbacks, so you don't have to rewrite the same stupid window procedures for each notebook page. This is used throughout XWorkplace's source code whenever settings pages are inserted, and has proven to be extremely useful.

  6. Finally, src\shared\kernel.c contains code which you can extend for certain tricky situations. For one, you can extend krnInitializeXWorkplace to have code executed upon Desktop startup; secondly, you can add messages to krn_fnwpThread1Object if you need code to absolutely always execute on thread 1 of PMSHELL.EXE, which cannot be guaranteed with open views of any kind (especially folder views).