Here are some source code maintenance tasks that need to be done, and maybe some folks will see these items and volunteer to do them. *** improved xpm handling We should: 1) make a library out of ALL the xpm files, and 2) develop a simple header file which declares ALL of them using conventional C/C++: extern char * somename2_xpm[]; extern char * somename3_xpm[]; : : This way the linker can bundle in the xpms that it has seen referenced. I don't think seeing the extern declaration is cause to do this, it must actually be referenced. I think this would be an easier way to manage xpms. *** @todo: grep for @todo and finish off those tasks, scattered throughout the source. *** use BOARD_ITEM::MenuIcon() in the onrightclick.cpp *** make the ADD_MENUITEM macros in include/macros.h be static inline functions instead of macros. e.g. w/o argument types: static inline void ADD_MENUITEM(menu, id, text, icon) { wxMenuItem * l_item; l_item = new wxMenuItem(menu, id, text); l_item->SetBitmap(icon); menu->Append(l_item); } *** Set up a DOXYGEN environment starting with a configuration file that: - understands the JavaDoc style comments that we have started using - gives preference to comments in header files over *.cpp files - outputs its HTML stuff relative to the base of trunk, say for example trunk/doxygen - is then added to the svn repository (this configuration file only) Then add a shell script and batch file to generate the docs using the config file. Then review the generated docs and start to go through the source and make the generated doxygen docs readable and clear using the JavaDoc style comments, mostly in the header files. The error and warning output of the doxygen compiler can help with this too. *** Translate comments that are in French to English so there can be a broader understanding by new developers. *** Implement the graying in/out of "Edit/Undo", "Edit/Redo" menu items, when Undo/Redo stack is empty/filled. *** Implement action for ID_POPUP_PCB_DELETE_MARKER, since onrightclick.cpp can now identify a marker. To see where the user gets a menu to delete a marker: void WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) *** fix MARQUEUR::HitTest(): the MARKER is 12 pixels by 12 pixels, but is not resized with zoom, so as zoom changes, the effective real size of the MARKER changes. @todo: compensate for the zoom. right now it is difficult to select marker when zoomed out. *** Add tooltip text to all non-obvious controls in every dialog window. Need to do this using DialogBlocks.