kicad/todo.txt

58 lines
2.1 KiB
Plaintext

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);
}
*** rework zones so they are modifiable and so that the user does not
need to enter tracks for thru hole pads or vias which connect to a zone.
I propose a two step solution:
1) interim enhancement: make zone edges retained in BRD file and make the
edges editable.
2) final solution: get rid of requirement for tracks buried within a zone.
Reivew the GEDA source code and other sources to gather ideas before doing 2).
*** Use DOXYGEN compatible comments on member functions. As configured,
Doxygen gives priority to comments in header files over *.cpp files.
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.
*** Add tooltip text to all non-obvious controls in every dialog window.
Need to do this using DialogBlocks.