← Back to team overview

kicad-developers team mailing list archive

[PATCH 00/27] My current patch stack

 

Hi,

this is my current stack; not all of this may be appropriate for the next
stable release.

The first two I've posted earlier -- a bugfix and an enhancement to the
build.

The next two are small and self-explanatory.

Number five explicitly acknowledges that the
NETLIST_OBJECT::m_ElectricalType can be an ElectricPinType or a
TypeSheetLabel, depending on the type of netlist object, and provides an
explicit conversion to ElectricPinType for the ERC to use.

The "Edit Pin" dialog is regenerated because the old version used the wrong
parent element in some cases.

I replace the DrawPinShape bitfield enumeration with a simple enumeration,
because only a few combinations were ever valid to begin with, and error
checking and recovery for invalid combinations did not really exist, while
the new version doesn't leave much room for error.

Then, I introduce a new widget type, a derived bitmap combo box for pin
shapes, and move a bit of code around to make it more generally accessible,
to make both the widget and the associated data useful outside the "Edit
Pin" dialog -- these will be used later in the pin table.

The same thing then happens to the ElectricPinType enum, and a new combobox
derivative is added to edit pin types.

For more type safety, TypeSheetLabel is also used instead of int in various
places, although that cleanup probably isn't complete yet.

Finally, the pin table dialog is extended to show the icon in the pin type
column, and sorting on pin position is enabled.

   Simon

Simon Richter (27):
  Move feature check before dependent tests
  Use Link Time Optimization with GCC in Release builds
  Make NETLIST_OBJECT::GetConnectionType() const
  Remove superfluous cast
  Separate ElectricPinType and TypeSheetLabel
  Regenerate "Edit Pin" dialog with newer wxFormBuilder
  Replace DrawPinShape enum with PinShape
  PinShapeComboBox: Introduce widget
  PinShapeComboBox: Fully initialize in c'tor
  PinShapeComboBox: typesafe Get/Set
  PinShape: move enum to own header
  PinShape: move text lookup
  PinShape: drop list interfaces
  PinShape: move bitmap lookup
  ElectricPinType: move definition to pin_type.h
  ElectricPinType: Use enum rather than int where possible
  ElectricPinType: Rename PIN_NMAX to PINTYPE_COUNT
  ElectricPinType: Separate PINTYPE_COUNT from enum
  PinTypeComboBox: Introduce widget
  PinTypeComboBox: fully initialize in c'tor
  PinTypeComboBox: typesafe Get/Set
  ElectricPinType: move text lookup
  ElectricPinType: remove list interfaces
  ElectricPinType: move bitmap lookup
  TypeSheetLabel: use enum
  Pin Table: display icon in pin type column
  Pin Table: Make pin position column sortable

 CMakeLists.txt                                 |  24 +-
 CMakeModules/PerformFeatureChecks.cmake        |   1 +
 eeschema/CMakeLists.txt                        |   6 +
 eeschema/class_netlist_object.cpp              |  37 ++-
 eeschema/class_netlist_object.h                |  11 +-
 eeschema/dialogs/dialog_edit_label.cpp         |   3 +-
 eeschema/dialogs/dialog_erc.cpp                |  14 +-
 eeschema/dialogs/dialog_erc.h                  |   6 +-
 eeschema/dialogs/dialog_lib_edit_pin.cpp       |  29 +--
 eeschema/dialogs/dialog_lib_edit_pin.h         |  12 +-
 eeschema/dialogs/dialog_lib_edit_pin_base.cpp  |  14 +-
 eeschema/dialogs/dialog_lib_edit_pin_base.fbp  |   4 +-
 eeschema/dialogs/dialog_lib_edit_pin_base.h    |   8 +-
 eeschema/dialogs/dialog_lib_edit_pin_table.cpp |  52 +++-
 eeschema/dialogs/dialog_sch_edit_sheet_pin.h   |   8 +-
 eeschema/edit_label.cpp                        |   8 +-
 eeschema/erc.cpp                               |  30 +--
 eeschema/lib_pin.cpp                           | 347 ++++++++++---------------
 eeschema/lib_pin.h                             | 128 ++-------
 eeschema/pin_shape.cpp                         | 104 ++++++++
 eeschema/pin_shape.h                           |  57 ++++
 eeschema/pin_type.cpp                          | 116 +++++++++
 eeschema/pin_type.h                            |  59 +++++
 eeschema/pinedit.cpp                           |  23 +-
 eeschema/sch_component.cpp                     |   4 +-
 eeschema/sch_sheet.cpp                         |   2 +-
 eeschema/sch_sheet_pin.cpp                     |   2 +-
 eeschema/sch_text.cpp                          |   4 +-
 eeschema/sch_text.h                            |   6 +-
 eeschema/schframe.h                            |   4 +-
 eeschema/sheetlab.cpp                          |   2 +-
 eeschema/widgets/pin_shape_combobox.cpp        |  69 +++++
 eeschema/widgets/pin_shape_combobox.h          |  51 ++++
 eeschema/widgets/pin_type_combobox.cpp         |  69 +++++
 eeschema/widgets/pin_type_combobox.h           |  51 ++++
 35 files changed, 932 insertions(+), 433 deletions(-)
 create mode 100644 eeschema/pin_shape.cpp
 create mode 100644 eeschema/pin_shape.h
 create mode 100644 eeschema/pin_type.cpp
 create mode 100644 eeschema/pin_type.h
 create mode 100644 eeschema/widgets/pin_shape_combobox.cpp
 create mode 100644 eeschema/widgets/pin_shape_combobox.h
 create mode 100644 eeschema/widgets/pin_type_combobox.cpp
 create mode 100644 eeschema/widgets/pin_type_combobox.h

-- 
2.1.4


Follow ups