Lots of cool progress on the level editor tonight. The screenshot above shows the style of the GUI, which I'm pretty happy with from an aesthetic point of view.
You can define shapes by plotting points, and the shapes are constrained to convex polygons as you move the mouse about. This is hard to explain but works really well in practice. Much better than having non-convex polygons rejected after you finish plotting.
Hovering over any of the GUI controls brings up a Windows style hint.
Pressing TAB calls up a mini-console at the bottom of the screen that allows for text input commands.
The approach I've taken with the Button GUI elements is for each to just store a command string that is passed to the same queue as commands entered in the console when the button is clicked.
This has a couple of nice implications - firstly it avoids any complex member function pointer stuff or any kind of more abstract message system, and secondly it encourages me to implement any actions in the editor via the command processor.
Since you can define command macros and you will be able to assign these to shortcut keys in config files, the advantages of having complete control of the editor via the command system are pretty clear.
You can select multiple shapes simaltaneously and drag them around with the mouse. Navigation across the grid (i.e. scrolling the screen) is done with the cursor keys.
Blah blah blah. I like it.
Work seems to be getting a bit better than it seemed yesterday. I'm getting the promotion I've been being promised for months from Monday (apparently - believe nothing anymore until I see it) and possibly have my salary put up to what I would have got when permanent, but just have to stay on a temp contract for an indeterminate time. So not all bad really.