Only managed a brief coding session today, and started off by tweaking the menus (yet again) to cope with the impending arrival of the Map Properties routine, which will allow the maps sizes to be changed dynamically at any point (as opposed to being fixed at runtime, as they currently are).
As I've now decided to handle the Map Properties system a little differently than I'd initially planned, the Tileset loading/refresh routines needed a new home, as did options to save/load Meta data and Mask data, so creating a Tile menu seemed to be the obvious choice.
I also took a little time out to have a look-see at the toolbar, just to see if there was space to add any more functions to it. I have space for about 14 more icons, which seems a lot until you consider that I have about 30 options I want to include! After careful examination, I concluded that the toolbar should house only important functions (loading, saving, and drawing tools), with secondary functions confined to the Menus.
While I was tinkering with the Toolbar, I came upon an idea to add bookmarks - essentially, you can hit a key to save your current position on the map; hitting the recall key returns you to the correct position, and even remembers which map you were editing at the time.
Although this took mere minutes to add, a keyboard conflict arose: I was using Alt+F9-F12 to store a bookmark, and F9-F12 to recall. However, F10 is a special key, and returns a different code to those of the other F-keys. Unable to find a decent solution to this, the bookmark code remains unused for the moment. On the plus side, I did work out how to manually "select" a tabber from within the program, so now my map select keys (F1 to F8, for those with a key fetish) now finally work as I originally intended. :)
The final task for the night was a brief tinker with the Map Properties code; currently this triggers a small window, into which you type the new dimensions for the map, but there were a few minor bugs which needed to be rectified first (this merely involved freeing up gadgets when the window was closed and returning the correct values). With the window now working properly, this will hopefully allow me to crack on with the more important code tomorrow.
