This section describes how you can integrate your own code into XWorkplace. Since XWorkplace is now a Netlabs project on the Netlabs CVS server, certain rules must be followed so that the whole thing still works even though several developers might be adding stuff.

With XWorkplace V0.9.0, I have restructured the whole directory and makefile system to allow for extending XWorkplace. In any case, the idea is that all XWorkplace classes will reside in one single DLL, XFLDR.DLL, but should be capable of being registered independently.

Basically, there are two situations which you need to tell apart:

  1. You can add a new class to XWorkplace. That is, you wish to hook your code into the WPS, but XWorkplace doesn't have a class for this yet. This situation applies both if you wish to replace a standard WPS class (example: the spooler class, WPSpool) which XWorkplace doesn't replace yet, or if you wish to create an all new class. (This only makes a difference at install time, whether the install program will replace a class.)

  2. You may choose to extend an existing XWorkplace class (either an XWorkplace replacement for a default WPS class, e.g. XFolder, or a newly introduced XWorkplace class, e.g. XFldWPS -- the "Workplace Shell" object). This is much simpler, because you can build on existing code.