KiCad PCB EDA Suite
Todo List
Member CMP_READER::Load (NETLIST *aNetlist)
At some point in the future, use the footprint field in the new s-expression netlist file to assign a footprint to a component instead of using a secondary (*.cmp) file.
Member DIALOG_EDIT_ONE_FIELD::OnOkClick (wxCommandEvent &aEvent) override
Update DIALOG_SHIM to handle this transparently so no matter what mode the dialogs is shown, everything is handled without this ugliness.
Member DIALOG_LABEL_EDITOR::TextPropertiesAccept (wxCommandEvent &aEvent)
move cast to widget
Member DIALOG_LIB_EDIT_PIN_TABLE::DataViewModel::DataViewModel (LIB_PART &aPart)
C++11
Member DIALOG_LIB_EDIT_PIN_TABLE::DataViewModel::Group::GetChildren (wxDataViewItemArray &aItems) const override
C++11
Member DIALOG_LIB_EDIT_PIN_TABLE::DIALOG_LIB_EDIT_PIN_TABLE (wxWindow *parent, LIB_PART &aPart)
wxFormBuilder bug #61 – move to base once supported
Member DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked (wxCommandEvent &event) override
Copy of DIALOG_PLOT::OnOutputDirectoryBrowseClicked in dialog_plot.cpp, maybe merge to a common method.
Member DIALOG_SCH_EDIT_SHEET_PIN::GetConnectionType () const
move cast to widget
Member DIALOG_SIGNAL_LIST::TransferDataToWindow () override
it could include separated mag & phase for AC analysis
Member DIALOG_SIM_SETTINGS::TransferDataFromWindow () override

for some reason it does not trigger the assigned SPICE_VALIDATOR,

for some reason it does not trigger the assigned SPICE_VALIDATOR,

Member DIALOG_SIM_SETTINGS::TransferDataToWindow () override
one day it could interpret the sim command and fill out appropriate fields..
File edgemod.cpp
- Arc functions not compete but menus are ready to use.
globalScope> Member empty (const wxTextEntryBase *aCtrl)
ngspice offers more types of analysis,
Member LIB_FIELD::GetFullText (int unit=1) const
This should be handled by the field object.
Member LIB_VIEW_FRAME::OnSelectSymbol (wxCommandEvent &aEvent)
: The unit selection gets reset to 1 by SetSelectedComponent() so the unit selection feature of the choose symbol dialog doesn't work.
Member LIB_VIEW_FRAME::ReCreateHToolbar () override
Move updating the symbol units in the combobox to the symbol select function and stop calling this function to update the toolbar. All of the other toolbar updates are handled by wxUpdateUIEvents.
Member NETINFO_ITEM::Draw (EDA_DRAW_PANEL *panel, wxDC *DC, GR_DRAWMODE aDrawMode, const wxPoint &offset) override
we actually could show a NET, simply show all the tracks and a pads or net name on pad and vias
Member NETLIST_EXPORTER_PSPICE_SIM::writeDirectives (OUTPUTFORMATTER *aFormatter, unsigned aCtl) const override
is it required to switch to lowercase
Member PCB_EDIT_FRAME::ExportVRML_File (const wxString &aFullFileName, double aMMtoWRMLunit, bool aExport3DFiles, bool aUseRelativePaths, bool aUsePlainPCB, const wxString &a3D_Subdir, double aXRef, double aYRef)
Use mm inside the file. A general scale transform is applied to the whole file (1.0 to have the actual WRML unit im mm, 0.001 to have the actual WRML unit in meters.
Note
For 3D models built by a 3D modeler, the unit is 0,1 inches. A specific scale is applied to 3D models to convert them to internal units.
Member PCB_EDIT_FRAME::MergeCollinearTracks (TRACK *track, wxDC *DC, int end)
This function is broken, because it merge segments having different widths or without any connectivity test. 2 collinear segments can be merged only if no other segment or via is connected to the common point and if they have the same width. See cleanup.cpp for merge functions and consider MarkTrace() to locate segments that can be merged
Member PCB_IO::format (BOARD *aBoard, int aNestLevel=0) const
Add warning here that the old segment filed zones are no longer supported and will not be saved.
Member PinShapeComboBox::PinShapeComboBox (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &value=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, int n=0, const wxString choices[]=NULL, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxBitmapComboBoxNameStr)
C++11: replace with forwarder
Member PinTypeComboBox::PinTypeComboBox (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &value=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, int n=0, const wxString choices[]=NULL, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxBitmapComboBoxNameStr)
C++11: replace with forwarder
Member SCH_LEGACY_PLUGIN::loadBitmap (FILE_LINE_READER &aReader)
Make m_scale private and add accessors.
Member SCH_LEGACY_PLUGIN_CACHE::Load ()
Probably should check for a valid date and time stamp even though it's not used.
Member SCH_SHEET_LIST::BuildSheetList (SCH_SHEET *aSheet)
: Schematic page number is currently a left over relic and is generated as SCH_SHEET_PATH object is pushed to the list. This only has meaning when entire hierarchy is created from the root sheet down.
Member SCH_SHEET_PATH::TestForRecursion (const wxString &aSrcFileName, const wxString &aDestFileName) const
Store sheet file names with full path, either relative to project path or absolute path. The current design always assumes subsheet files are located in the project folder which may or may not be desirable.
Member SEARCH_STACK::LastVisitedPath (const wxString &aSubPathToSearch=wxEmptyString)
add more here if you can figure it out.
Member SIM_PLOT_FRAME::applyTuners ()
no ngspice hardcoding
Member SIM_PLOT_FRAME::GetXAxisType (SIM_TYPE aType) const
SPT_LOG_FREQUENCY
Member SIM_PLOT_FRAME::onSimFinished (wxCommandEvent &aEvent)
do not make it hardcoded for ngspice
Member SIM_PLOT_PANEL::generateColor ()

have a look at: http://stanford.edu/~mwaskom/software/seaborn/tutorial/color_palettes.html https://github.com/Gnuplotting/gnuplot-palettes

generate shades to avoid repeating colors

Class SPICE_ITEM
add NET_ADJUST_INCLUDE_PATHS & NET_ADJUST_PASSIVE_VALS checkboxes in the netlist export dialog
Member TUNER_SLIDER::onSave (wxCommandEvent &event) override
it will crash when component is removed; completely remove m_component