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
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

