|
KiCad PCB EDA Suite
|
#include <footprint_wizard_properties_panel.h>
Classes | |
| struct | WIZARD_PARAM_INFO |
Public Member Functions | |
| FOOTPRINT_WIZARD_PROPERTIES_PANEL (wxWindow *aParent, FOOTPRINT_WIZARD_FRAME *aFrame) | |
| ~FOOTPRINT_WIZARD_PROPERTIES_PANEL () override | |
| void | UpdateData () override |
| void | RebuildParameters (FOOTPRINT_WIZARD *aWizard) |
| virtual void | AfterCommit () |
| wxPropertyGrid * | GetPropertyGrid () |
| int | PropertiesCount () const |
| const std::vector< PROPERTY_BASE * > & | Properties () const |
| void | RecalculateSplitterPos () |
| void | SetSplitterProportion (float aProportion) |
| float | SplitterProportion () const |
Public Attributes | |
| int | m_SuppressGridChangeEvents |
Protected Member Functions | |
| wxPGProperty * | createPGProperty (const PROPERTY_BASE *aProperty) const override |
| wxPGProperty * | createPGProperty (WIZARD_PARAMETER *aParam) const |
| void | valueChanging (wxPropertyGridEvent &aEvent) override |
| void | valueChanged (wxPropertyGridEvent &aEvent) override |
| wxString | formatConstraintValue (const WIZARD_PARAMETER *aParam, int aValue) const |
| wxString | formatConstraintValue (const WIZARD_PARAMETER *aParam, double aValue) const |
| virtual void | rebuildProperties (const SELECTION &aSelection) |
| Generates the property grid for a given selection of items. | |
| void | onCharHook (wxKeyEvent &aEvent) |
| void | onShow (wxShowEvent &aEvent) |
| virtual void | OnLanguageChanged (wxCommandEvent &aEvent) |
| virtual bool | isKeyEditable (const wxPGProperty *aPGProp) const |
| virtual bool | isKeyNameInUse (const wxString &aName) const |
| virtual void | onKeyRenamed (const wxString &aOldName, const wxString &aNewName) |
| virtual void | onLabelEditBegin (wxPropertyGridEvent &aEvent) |
| virtual void | onLabelEditEnding (wxPropertyGridEvent &aEvent) |
| virtual bool | buildContextMenu (wxMenu &aMenu, wxPGProperty *aPGProp) |
| virtual void | onNewItemLeftBlank (const wxString &aKey) |
| void | onRightClick (wxPropertyGridEvent &aEvent) |
| void | beginLabelEdit (const wxString &aKey, bool aStartBlank=false) |
| void | settlePendingLabelEdit () |
| Synchronously ends any in-progress label edit; potentially canceling a newly added row. | |
| virtual bool | getItemValue (EDA_ITEM *aItem, PROPERTY_BASE *aProperty, wxVariant &aValue) |
| Utility to fetch a property value and convert to wxVariant Precondition: aItem is known to have property aProperty. | |
| bool | extractValueAndWritability (const SELECTION &aSelection, const wxString &aPropName, wxVariant &aValue, bool &aWritable, wxPGChoices &aChoices) |
| Processes a selection and determines whether the given property should be available or not and what the common value should be for the items in the selection. | |
| void | addCategoryButton (const wxString &aGroupKey, const wxString &aTooltip, BITMAPS aBitmap, std::function< void()> aAction, std::function< bool()> aEnableFunc=nullptr, bool aForceCategory=false) |
| Registers an overlay button on a category caption row. | |
| void | updateCategoryButtons () |
| Updates overlay button visibility/positions; called after rebuilds and on scroll. | |
| void | hideCategoryButtons () |
| Hides all overlay buttons (used when no selection or a rebuild is deferred). | |
| void | positionCategoryButtons () |
| Find the caption row for the given untranslated group name, if present. | |
| wxPGProperty * | categoryForGroup (const wxString &aGroupKey) const |
Static Protected Member Functions | |
| static WIZARD_PARAMETER * | getParamFromEvent (const wxPropertyGridEvent &aEvent) |
Protected Attributes | |
| wxStaticText * | m_caption |
| std::vector< PROPERTY_BASE * > | m_displayed |
| wxPropertyGrid * | m_grid |
| float | m_splitter_key_proportion |
| Proportion of the grid column splitter that is used for the key column (0.0 - 1.0) | |
| wxString | m_editingOriginalLabel |
| wxString | m_contextMenuPropertyName |
| std::vector< CATEGORY_BUTTON > | m_categoryButtons |
| bool | m_resolvingPendingKey = false |
| True while settling a pending label edit synchronously (see settlePendingLabelEdit). | |
| wxString | m_pendingNewKey |
| Key of a freshly-added blank field/custom property awaiting a name from the user. | |
Private Attributes | |
| FOOTPRINT_WIZARD_FRAME * | m_frame |
| std::vector< std::unique_ptr< WIZARD_PARAM_INFO > > | m_paramInfos |
| PG_UNIT_EDITOR * | m_unitEditorInstance |
| PG_CHECKBOX_EDITOR * | m_checkboxEditorInstance |
| PG_RATIO_EDITOR * | m_ratioEditorInstance |
Definition at line 36 of file footprint_wizard_properties_panel.h.
| FOOTPRINT_WIZARD_PROPERTIES_PANEL::FOOTPRINT_WIZARD_PROPERTIES_PANEL | ( | wxWindow * | aParent, |
| FOOTPRINT_WIZARD_FRAME * | aFrame ) |
Definition at line 36 of file footprint_wizard_properties_panel.cpp.
References PG_UNIT_EDITOR::BuildEditorName(), PG_CHECKBOX_EDITOR::EDITOR_NAME, PG_RATIO_EDITOR::EDITOR_NAME, PROPERTIES_PANEL::m_caption, m_checkboxEditorInstance, m_frame, m_ratioEditorInstance, m_unitEditorInstance, PROPERTIES_PANEL::PROPERTIES_PANEL(), and wxPGGlobalVars.
|
override |
Definition at line 89 of file footprint_wizard_properties_panel.cpp.
References m_unitEditorInstance.
|
protectedinherited |
Registers an overlay button on a category caption row.
The button is shown when its category row is on-screen and selection-appropriate (the optional enable predicate is consulted; it is re-evaluated on every rebuild).
TODO it would be nice to remove this hack by getting upstream wxWidgets to support customizing/subclassing the property group widgets
| aGroupKey | is the untranslated group name (e.g. _HKI( "Fields" )). |
| aTooltip | is the tooltip text (translated by the caller). |
| aBitmap | is the icon shown on the button. |
| aAction | is invoked when the button is clicked. |
| aEnableFunc | optionally controls visibility (evaluated on each rebuild). |
| aForceCategory | optionally forces the category caption row to be emitted during rebuilds (only when aEnableFunc, if set, returns true). |
Definition at line 932 of file properties_panel.cpp.
References KiBitmapBundle(), m_categoryButtons, m_grid, and BITMAP_BUTTON::SetBitmap().
Referenced by PCB_PROPERTIES_PANEL::PCB_PROPERTIES_PANEL(), and SCH_PROPERTIES_PANEL::SCH_PROPERTIES_PANEL().
|
inlinevirtualinherited |
Reimplemented in PCB_PROPERTIES_PANEL, and SCH_PROPERTIES_PANEL.
Definition at line 57 of file properties_panel.h.
|
protectedinherited |
Definition at line 786 of file properties_panel.cpp.
References m_grid.
Referenced by PCB_PROPERTIES_PANEL::addBlankCustomProperty(), SCH_PROPERTIES_PANEL::addBlankCustomProperty(), PCB_PROPERTIES_PANEL::addBlankField(), and SCH_PROPERTIES_PANEL::addBlankField().
|
inlineprotectedvirtualinherited |
Reimplemented in PCB_PROPERTIES_PANEL, and SCH_PROPERTIES_PANEL.
Definition at line 104 of file properties_panel.h.
Referenced by onRightClick().
|
protectedinherited |
Definition at line 962 of file properties_panel.cpp.
References m_grid.
Referenced by positionCategoryButtons().
|
inlineoverrideprotectedvirtual |
Implements PROPERTIES_PANEL.
Definition at line 47 of file footprint_wizard_properties_panel.h.
Referenced by RebuildParameters().
|
protected |
Definition at line 134 of file footprint_wizard_properties_panel.cpp.
References PG_UNIT_EDITOR::BuildEditorName(), WIZARD_PARAMETER::description, WIZARD_PARAMETER::identifier, m_frame, WIZARD_PARAMETER::name, and WIZARD_PARAMETER::type.
|
protectedinherited |
Processes a selection and determines whether the given property should be available or not and what the common value should be for the items in the selection.
| aSelection | is a set of EDA_ITEMs to process |
| aProperty | is the property to look up |
| aValue | will be filled with the value common to the selection, or null if different |
| aWritable | will be set to whether or not the property can be written for the selection |
Definition at line 557 of file properties_panel.cpp.
References PROPERTY_BASE::GetChoices(), getItemValue(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_MANAGER::IsAvailableFor(), PROPERTY_MANAGER::IsWriteableFor(), and TYPE_HASH.
Referenced by rebuildProperties().
|
protected |
Definition at line 247 of file footprint_wizard_properties_panel.cpp.
References DEGREES_T, m_frame, and WIZARD_PARAMETER::type.
|
protected |
Definition at line 228 of file footprint_wizard_properties_panel.cpp.
References AREA, DISTANCE, m_frame, TIME, and WIZARD_PARAMETER::type.
Referenced by valueChanging().
|
protectedvirtualinherited |
Utility to fetch a property value and convert to wxVariant Precondition: aItem is known to have property aProperty.
Reimplemented in PCB_PROPERTIES_PANEL, and SCH_PROPERTIES_PANEL.
Definition at line 526 of file properties_panel.cpp.
References INSPECTABLE::Get(), KIGFX::VIEW_ITEM::GetClass(), PROPERTY_BASE::HasChoices(), and PROPERTY_BASE::Name().
Referenced by extractValueAndWritability(), PCB_PROPERTIES_PANEL::getItemValue(), and SCH_PROPERTIES_PANEL::getItemValue().
|
staticprotected |
Definition at line 222 of file footprint_wizard_properties_panel.cpp.
Referenced by valueChanged(), and valueChanging().
|
inlineinherited |
Definition at line 59 of file properties_panel.h.
References m_grid.
|
protectedinherited |
Hides all overlay buttons (used when no selection or a rebuild is deferred).
Definition at line 982 of file properties_panel.cpp.
References m_categoryButtons.
Referenced by rebuildProperties().
|
inlineprotectedvirtualinherited |
Reimplemented in PCB_PROPERTIES_PANEL, and SCH_PROPERTIES_PANEL.
Definition at line 97 of file properties_panel.h.
Referenced by onLabelEditBegin(), and onLabelEditEnding().
|
inlineprotectedvirtualinherited |
Reimplemented in PCB_PROPERTIES_PANEL, and SCH_PROPERTIES_PANEL.
Definition at line 98 of file properties_panel.h.
Referenced by onLabelEditEnding(), and settlePendingLabelEdit().
|
protectedinherited |
Definition at line 808 of file properties_panel.cpp.
References m_grid.
Referenced by PROPERTIES_PANEL().
|
inlineprotectedvirtualinherited |
Reimplemented in PCB_PROPERTIES_PANEL, and SCH_PROPERTIES_PANEL.
Definition at line 99 of file properties_panel.h.
Referenced by onLabelEditEnding(), and settlePendingLabelEdit().
|
protectedvirtualinherited |
Definition at line 637 of file properties_panel.cpp.
References isKeyEditable(), and m_editingOriginalLabel.
Referenced by PROPERTIES_PANEL().
|
protectedvirtualinherited |
Definition at line 652 of file properties_panel.cpp.
References isKeyEditable(), isKeyNameInUse(), m_editingOriginalLabel, m_grid, m_pendingNewKey, m_resolvingPendingKey, onKeyRenamed(), and onNewItemLeftBlank().
Referenced by PROPERTIES_PANEL().
|
protectedvirtualinherited |
Reimplemented in SCH_PROPERTIES_PANEL.
Definition at line 214 of file properties_panel.cpp.
References m_displayed, m_grid, and UpdateData().
Referenced by SCH_PROPERTIES_PANEL::OnLanguageChanged(), PROPERTIES_PANEL(), and ~PROPERTIES_PANEL().
|
inlineprotectedvirtualinherited |
Reimplemented in PCB_PROPERTIES_PANEL, and SCH_PROPERTIES_PANEL.
Definition at line 105 of file properties_panel.h.
Referenced by onLabelEditEnding(), and settlePendingLabelEdit().
|
protectedinherited |
Definition at line 734 of file properties_panel.cpp.
References buildContextMenu(), and m_contextMenuPropertyName.
Referenced by PROPERTIES_PANEL().
|
protectedinherited |
Definition at line 628 of file properties_panel.cpp.
References UpdateData().
Referenced by PROPERTIES_PANEL().
|
protectedinherited |
Find the caption row for the given untranslated group name, if present.
Definition at line 989 of file properties_panel.cpp.
References categoryForGroup(), m_categoryButtons, and m_grid.
Referenced by PROPERTIES_PANEL(), and updateCategoryButtons().
|
inlineinherited |
Definition at line 69 of file properties_panel.h.
References m_displayed.
|
inlineinherited |
Definition at line 64 of file properties_panel.h.
References m_displayed.
| void FOOTPRINT_WIZARD_PROPERTIES_PANEL::RebuildParameters | ( | FOOTPRINT_WIZARD * | aWizard | ) |
Definition at line 101 of file footprint_wizard_properties_panel.cpp.
References createPGProperty(), FOOTPRINT_WIZARD::Info(), PROPERTIES_PANEL::m_grid, WIZARD_PARAMETER::ParameterCategoryName(), WIZARD_INFO::parameters, and PROPERTIES_PANEL::RecalculateSplitterPos().
|
protectedvirtualinherited |
Generates the property grid for a given selection of items.
| aSelection | is a set of items to show properties for. |
Reimplemented in PCB_PROPERTIES_PANEL, and SCH_PROPERTIES_PANEL.
Definition at line 241 of file properties_panel.cpp.
References _, _HKI, createPGProperty(), dummy, SELECTION::Empty(), extractValueAndWritability(), FRAME_FOOTPRINT_EDITOR, FRAME_PCB_EDITOR, FRAME_SCH, FRAME_SCH_SYMBOL_EDITOR, SELECTION::Front(), PROPERTY_MANAGER::GetDisplayOrder(), EDA_ITEM::GetFriendlyName(), PROPERTY_MANAGER::GetGroupDisplayOrder(), PROPERTY_MANAGER::GetProperties(), PROPERTY_MANAGER::GetProperty(), group, hideCategoryButtons(), PROPERTY_MANAGER::Instance(), m_caption, m_categoryButtons, m_displayed, m_frame, m_grid, PROPERTY_BASE::Name(), name, PROPERTIES_PANEL_GRID, rebuildProperties(), RecalculateSplitterPos(), SELECTION::Size(), TYPE_HASH, and updateCategoryButtons().
Referenced by PCB_PROPERTIES_PANEL::rebuildProperties(), rebuildProperties(), and SCH_PROPERTIES_PANEL::rebuildProperties().
|
inherited |
Definition at line 916 of file properties_panel.cpp.
References m_grid, and m_splitter_key_proportion.
Referenced by PROPERTIES_PANEL(), FOOTPRINT_WIZARD_PROPERTIES_PANEL::RebuildParameters(), rebuildProperties(), and SetSplitterProportion().
|
inherited |
Definition at line 925 of file properties_panel.cpp.
References m_splitter_key_proportion, and RecalculateSplitterPos().
|
protectedinherited |
Synchronously ends any in-progress label edit; potentially canceling a newly added row.
Definition at line 761 of file properties_panel.cpp.
References isKeyNameInUse(), m_grid, m_pendingNewKey, m_resolvingPendingKey, onKeyRenamed(), and onNewItemLeftBlank().
Referenced by PCB_PROPERTIES_PANEL::addBlankCustomProperty(), SCH_PROPERTIES_PANEL::addBlankCustomProperty(), PCB_PROPERTIES_PANEL::addBlankField(), and SCH_PROPERTIES_PANEL::addBlankField().
|
inlineinherited |
Definition at line 77 of file properties_panel.h.
References m_splitter_key_proportion.
|
protectedinherited |
Updates overlay button visibility/positions; called after rebuilds and on scroll.
Definition at line 976 of file properties_panel.cpp.
References positionCategoryButtons().
Referenced by rebuildProperties().
|
overridevirtual |
Implements PROPERTIES_PANEL.
Definition at line 96 of file footprint_wizard_properties_panel.cpp.
|
overrideprotectedvirtual |
Reimplemented from PROPERTIES_PANEL.
Definition at line 344 of file footprint_wizard_properties_panel.cpp.
References getParamFromEvent(), and m_frame.
|
overrideprotectedvirtual |
Reimplemented from PROPERTIES_PANEL.
Definition at line 260 of file footprint_wizard_properties_panel.cpp.
References _, formatConstraintValue(), getParamFromEvent(), m_frame, and PROPERTIES_PANEL::m_SuppressGridChangeEvents.
|
protectedinherited |
Definition at line 164 of file properties_panel.h.
Referenced by FOOTPRINT_WIZARD_PROPERTIES_PANEL::FOOTPRINT_WIZARD_PROPERTIES_PANEL(), PROPERTIES_PANEL(), and rebuildProperties().
|
protectedinherited |
Definition at line 193 of file properties_panel.h.
Referenced by addCategoryButton(), hideCategoryButtons(), positionCategoryButtons(), and rebuildProperties().
|
private |
Definition at line 67 of file footprint_wizard_properties_panel.h.
Referenced by FOOTPRINT_WIZARD_PROPERTIES_PANEL().
|
protectedinherited |
Definition at line 179 of file properties_panel.h.
Referenced by PCB_PROPERTIES_PANEL::onContextMenu(), SCH_PROPERTIES_PANEL::onContextMenu(), and onRightClick().
|
protectedinherited |
Definition at line 170 of file properties_panel.h.
Referenced by OnLanguageChanged(), Properties(), PropertiesCount(), and rebuildProperties().
|
protectedinherited |
Definition at line 177 of file properties_panel.h.
Referenced by onLabelEditBegin(), and onLabelEditEnding().
|
private |
Definition at line 63 of file footprint_wizard_properties_panel.h.
Referenced by createPGProperty(), FOOTPRINT_WIZARD_PROPERTIES_PANEL(), formatConstraintValue(), formatConstraintValue(), valueChanged(), and valueChanging().
|
protectedinherited |
Definition at line 171 of file properties_panel.h.
Referenced by addCategoryButton(), PCB_PROPERTIES_PANEL::applyConfirmedScale(), beginLabelEdit(), categoryForGroup(), GetPropertyGrid(), onCharHook(), onLabelEditEnding(), OnLanguageChanged(), positionCategoryButtons(), PROPERTIES_PANEL(), FOOTPRINT_WIZARD_PROPERTIES_PANEL::RebuildParameters(), rebuildProperties(), RecalculateSplitterPos(), and settlePendingLabelEdit().
|
private |
Definition at line 64 of file footprint_wizard_properties_panel.h.
|
protectedinherited |
Key of a freshly-added blank field/custom property awaiting a name from the user.
Definition at line 199 of file properties_panel.h.
Referenced by PCB_PROPERTIES_PANEL::addBlankCustomProperty(), SCH_PROPERTIES_PANEL::addBlankCustomProperty(), PCB_PROPERTIES_PANEL::addBlankField(), SCH_PROPERTIES_PANEL::addBlankField(), onLabelEditEnding(), and settlePendingLabelEdit().
|
private |
Definition at line 68 of file footprint_wizard_properties_panel.h.
Referenced by FOOTPRINT_WIZARD_PROPERTIES_PANEL().
|
protectedinherited |
True while settling a pending label edit synchronously (see settlePendingLabelEdit).
Definition at line 196 of file properties_panel.h.
Referenced by onLabelEditEnding(), and settlePendingLabelEdit().
|
protectedinherited |
Proportion of the grid column splitter that is used for the key column (0.0 - 1.0)
Definition at line 175 of file properties_panel.h.
Referenced by PROPERTIES_PANEL(), RecalculateSplitterPos(), SetSplitterProportion(), and SplitterProportion().
|
inherited |
Definition at line 167 of file properties_panel.h.
Referenced by PROPERTIES_PANEL(), PCB_PROPERTIES_PANEL::valueChanged(), SCH_PROPERTIES_PANEL::valueChanged(), FOOTPRINT_WIZARD_PROPERTIES_PANEL::valueChanging(), PCB_PROPERTIES_PANEL::valueChanging(), and SCH_PROPERTIES_PANEL::valueChanging().
|
private |
Definition at line 66 of file footprint_wizard_properties_panel.h.
Referenced by FOOTPRINT_WIZARD_PROPERTIES_PANEL(), and ~FOOTPRINT_WIZARD_PROPERTIES_PANEL().