128 lines
5.3 KiB
Plaintext
128 lines
5.3 KiB
Plaintext
KiCad TODO List
|
|
===============
|
|
|
|
CMAKE
|
|
-----
|
|
* Add install targets for binaries and resources on Mac.
|
|
|
|
WXMAC Platform
|
|
--------------
|
|
* Fix hotkey list to match CMD key
|
|
* Fix AddHotkeyName to let wxWidgets handle Ctrl to CMD key
|
|
* Fix About dialog crash, or trash wxAboutDialog and create our own
|
|
About dialog to match all platforms. (wxAboutDialog different on platforms)
|
|
* Fix toolbar button tooltips.
|
|
|
|
Common
|
|
------
|
|
* Grep for @TODO or TODO for sourcecode tasks
|
|
* Use doxygen compatible comments on member functions (.h files)
|
|
* Add tooltip text to all non-obvious controls in every dialog window.
|
|
Need to do this using DialogBlocks.
|
|
* Component and module search displays in which library the
|
|
module or component lives.
|
|
* List auto up and down scrolling.
|
|
* Integer/long/double input boxes should handle comma and dot separated values,
|
|
not only comma.
|
|
* Push file open semantics down to one of the base frame classes ( likely candidate is
|
|
WinEDA_BasicFrame ) so that file open behavior is consistent across all applications.
|
|
|
|
ANYONE:
|
|
C2) Write a tool to generate DSNLEXER keyword tables (and enums) as *.cpp and
|
|
*.h. Language of tool should probably be C++. As input, the tool should take
|
|
a list of whitespace separated keywords from a text file that is manually
|
|
maintained. The *.cpp file should be named based on input file name and should
|
|
include the keyword table with a global array. The *.h file be named based on
|
|
the input file name and should hold the enums and an extern array to the keyword table.
|
|
The enum table should include the core syntactical enums from dsnlexer.h as
|
|
the first negative values. See enum DSN_T { from specctra.h as example.
|
|
|
|
Tool should verify uniqueness of keywords, enforce all lowercase, and sort.
|
|
Spaces are not allowed in keywords, but if whitespace is the delimiter for
|
|
the tool, it will be impossible to specify a keyword with whitespaces in it.
|
|
|
|
Use tool in CMake scripts for future grammars, but remember for cross compiling,
|
|
generating and using a tool to run natively on the build machine is a bit tricky with
|
|
CMake.
|
|
|
|
|
|
CvPCB
|
|
-----
|
|
* Preview of the already assigned footprint.
|
|
|
|
|
|
EESchema
|
|
--------
|
|
* Use collector classes.
|
|
* Drag and drop between two EESchema windows.
|
|
|
|
Wayne:
|
|
E2) Finish adding replace capability to new Find dialog.
|
|
E3) Hook up perform last library search hot key to replace search libraries for
|
|
component support removed from find dialog.
|
|
E4) Change add component dialog search text control to combobox and add component
|
|
search history save and restore capability. Also add session save and restore
|
|
to component history list control. Add advanced search capability similar to
|
|
new find dialog.
|
|
E5) Make escape key work correctly in add component dialog.
|
|
E6) Start initial work for changing component library file format to use Dick's
|
|
dsnlexer. See note C2 above. Come up with a workable library file format to
|
|
handle the wishes of the library implementation group. Add initial clipboard
|
|
support to the library editor.
|
|
|
|
|
|
GerbView
|
|
--------
|
|
* Need work as good as gerbv from gEDA
|
|
* Named layers
|
|
* List control for layer sort on the fly
|
|
* Add excellon2 drill file support (small good library)
|
|
* Fix the polygon bug.
|
|
* Switch to use ZONE instead of SEGZONE for polygons.
|
|
* Separate application settings and project configuration settings by converting
|
|
static list of parameters in gerbview_config.h to dynamically created lists of
|
|
settings. See eeschema/eeschema_config.cpp for an example.
|
|
|
|
|
|
|
|
PCBNew
|
|
------
|
|
|
|
Dick:
|
|
P2) Write accessors for all items in PCB_VISIBLE such as grid control, so that
|
|
the write accessor can fire change notifications to known listeners.
|
|
(Accessors should always be used in general for every class, but in the case
|
|
of PCB_VISIBLE I think we need them in WinEDA_PcbFrame, BOARD and
|
|
EDA_Settings.
|
|
<class>::IsElementVisible( aPCB_VISIBLE );
|
|
<class>::SetElementVisiblity( aPCB_VISIBLE, bool isVisible );
|
|
Two of the 3 classes already have these functions. Once the functions are
|
|
in place, it is a simple matter to decide and move where the actual data
|
|
is stored without affecting client code. The top most access point should
|
|
be WinEDA_PcbVisible, because some data is best retained there and this is
|
|
the "controller" part of MVC in PCBNEW. Some data is best saved in the BOARD.
|
|
We should go through the list of PCB_VISIBLE and decide on this in a separate email.
|
|
|
|
* Fix block copy/move preview to not view only a border, we should
|
|
see the moved/copied parts.
|
|
|
|
* Fix DIALOG_PAD_PROPERTIES_BASE class to use actual layer names in the BOARD.
|
|
|
|
* Use BOARD_ITEM::MenuIcon() in the onrightclick.cpp
|
|
* Add ARC support to gerber polygons.
|
|
* Need to add polygon aperture type.
|
|
Then example 2 in RS274xrevd_e.pdf will draw properly.
|
|
|
|
|
|
LAYER_WIDGET for PCBNEW (Dick)
|
|
-----------------------
|
|
L6) Test, and fix up any remaining issues with the PCB_VISIBLE support after P2)
|
|
is done. This way we can fire change notifications to multiple GUI items
|
|
all interested in the same setting, such as the two grid buttons which
|
|
have to remain synchronized. Using accessors makes this easy.
|
|
|
|
L8) LAYER_WIDGET::GetBestSize() needs platform independence.
|
|
|
|
L9) On board load, ReFill() is called, this should also update the Render
|
|
checkboxes and colors.
|