* src/Makefile.am: Add bapblockrect.cpp, bapblockrect.h, baplevelset.cpp, baplevelset.h, bapwidget.cpp, and bapwidget.h to editor sources. Remove baplevelsettabs.cpp and baplevelsettabs.h * src/bapbasics.cpp: Modify to use BAPLevelset instead of bap_levelset_t * src/bapbasics.h: Likewise. * src/bapblockrect.cpp: New file. Implements a stored version of a scheme (block-rect) command and its parameters, which can draw itself and tell if a point is inside of it. * src/bapblockrect.h: Likewise. * src/bapfield.cpp (BAPField): Load the skin, the current background, and the current blocks image. Connect the button press signal to BAPField::button_press * src/bapfield.cpp (load_background): New function for loading the current background using a BAPLevelParser to find out what it is. * src/bapfield.cpp (button_press): New function. If the user clicked on the usable field area, check if it's inside any widgets that are in the current level. If so, select it. * src/bapfield.cpp (draw): Don't call draw_blocks but instead just loop through the widgets in the levelset and draw each one that's in the current level. * src/bapfield.cpp (draw_block_rects): Removed. * src/bapfield.cpp (update): Load the background image. * src/bapfield.h: New local variables 'selected', a pointer to the selected widget, skin_surface, background_surface, and blocks_surface. New functions button_press and load_background. * src/baplevelloader.cpp: Use BAPLevelset instead of bap_levelset_t. * src/baplevelloader.h: Likewise. * src/baplevelparser.cpp (set_form): Don't use i to set the chunk but index instead. * src/baplevelparser.h: New function get_chunk_index. * src/baplevels.cpp: Use BAPLevelset instead of bap_levelset_t. * src/baplevels.h: Likewise. * src/baplevelset.cpp: New file implementing class BAPLevelset which represents a levelset. * src/baplevelset.h: Likewise. * src/baplevelsettabs.cpp: Removed. * src/baplevelsettabs.h: Likewise. * src/bapvarentry.cpp: Use BAPLevelset instead of bap_levelset_t. * src/bapvarentry.h: Likewise. * src/bapwidget.cpp: New file implementing class BAPWidget which represents some chunk of scheme code which generally will represent something graphical that the user can edit. * src/bapwidget.h: Likewise. * src/bapwindow.cpp: Use BAPLevelset instead of bap_levelset_t. * src/bapwindow.h: Likewise.