(I managed to really screw up MkLinux when I tried to install WindowMaker, a window manager that's I want to replace AfterStep with).
I implemented a rectangle tool, which was a simple variation to the marquee tool (a simplified one actually, since there are no additive or subtractive rectangles).
I only have two more tools left, the text tool and the polygon tool, and neither of those sound particularly exciting. Instead I think I will start work on drag and drop, which should be a lot more interesting (unless it turns out I have to reimplement my whole program).
The documentation for the Drag Manager is more of a reference, so it can't be used as a guide to adding drag and drop support. Instead I decided to take the other route, copying and pasting code from the example programs, modifying it as necessary and looking up things in the reference when I needed it. I decided that the first step should be drop support, since it seemed the easier. Adding this involves specifying some handlers for tracking and releasing. Since they're function pointers, they can't be memeber functions of the main editor class. Since it looked like I needed quite a few of them for the whole implementation, I decided to create a separate file, draganddrop.cp, which included all the functions necessary.
I found an example program that was simple enough, copied its drop handling routines, and tried to modify them so that they fit with my program. However it didn't work (I'm not sure where things went wrong), and it's late so debugging will have to be left to tomorrow.