KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SCH_PROPERTIES_PANEL Class Reference

#include <sch_properties_panel.h>

Inheritance diagram for SCH_PROPERTIES_PANEL:
PROPERTIES_PANEL

Public Member Functions

 SCH_PROPERTIES_PANEL (wxWindow *aParent, SCH_BASE_FRAME *aFrame)
 
virtual ~SCH_PROPERTIES_PANEL ()
 
void UpdateData () override
 
void AfterCommit () override
 
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

void rebuildProperties (const SELECTION &aSelection) override
 Generates the property grid for a given selection of items.
 
wxPGProperty * createPGProperty (const PROPERTY_BASE *aProperty) const override
 
PROPERTY_BASEgetPropertyFromEvent (const wxPropertyGridEvent &aEvent) const
 
void valueChanging (wxPropertyGridEvent &aEvent) override
 
void valueChanged (wxPropertyGridEvent &aEvent) override
 
void OnLanguageChanged (wxCommandEvent &aEvent) override
 
const SELECTIONgetSelection (SELECTION &aFallbackSelection)
 Get the current selection from the selection tool.
 
EDA_ITEMgetFrontItem ()
 Get the front item of the current selection.
 
void onCharHook (wxKeyEvent &aEvent)
 
void onShow (wxShowEvent &aEvent)
 
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.
 

Protected Attributes

SCH_BASE_FRAMEm_frame
 
PROPERTY_MANAGERm_propMgr
 
PG_UNIT_EDITORm_unitEditorInstance
 
PG_CHECKBOX_EDITORm_checkboxEditorInstance
 
PG_COLOR_EDITORm_colorEditorInstance
 
PG_FPID_EDITORm_fpEditorInstance
 
PG_URL_EDITORm_urlEditorInstance
 
wxPGChoices m_nets
 
std::vector< PROPERTY_BASE * > m_displayed
 
wxPropertyGrid * m_grid
 
wxStaticText * m_caption
 
float m_splitter_key_proportion
 Proportion of the grid column splitter that is used for the key column (0.0 - 1.0)
 

Static Protected Attributes

static std::set< wxString > m_currentFieldNames
 

Detailed Description

Definition at line 38 of file sch_properties_panel.h.

Constructor & Destructor Documentation

◆ SCH_PROPERTIES_PANEL()

◆ ~SCH_PROPERTIES_PANEL()

SCH_PROPERTIES_PANEL::~SCH_PROPERTIES_PANEL ( )
virtual

Member Function Documentation

◆ AfterCommit()

void SCH_PROPERTIES_PANEL::AfterCommit ( )
overridevirtual

Reimplemented from PROPERTIES_PANEL.

Definition at line 231 of file sch_properties_panel.cpp.

References getSelection(), and rebuildProperties().

Referenced by valueChanged().

◆ createPGProperty()

wxPGProperty * SCH_PROPERTIES_PANEL::createPGProperty ( const PROPERTY_BASE * aProperty) const
overrideprotectedvirtual

◆ extractValueAndWritability()

bool PROPERTIES_PANEL::extractValueAndWritability ( const SELECTION & aSelection,
const wxString & aPropName,
wxVariant & aValue,
bool & aWritable,
wxPGChoices & aChoices )
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.

Parameters
aSelectionis a set of EDA_ITEMs to process
aPropertyis the property to look up
aValuewill be filled with the value common to the selection, or null if different
aWritablewill be set to whether or not the property can be written for the selection
Returns
true if the property is available for all the items in the selection

Definition at line 412 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().

◆ getFrontItem()

EDA_ITEM * SCH_PROPERTIES_PANEL::getFrontItem ( )
protected

Get the front item of the current selection.

If the selection is empty and we're in the symbol editor, returns the current symbol instead.

Returns
EDA_ITEM* pointer to the front item, or nullptr if no selection

Definition at line 212 of file sch_properties_panel.cpp.

References SELECTION::Empty(), SELECTION::Front(), and getSelection().

Referenced by getPropertyFromEvent(), and valueChanging().

◆ getItemValue()

bool PROPERTIES_PANEL::getItemValue ( EDA_ITEM * aItem,
PROPERTY_BASE * aProperty,
wxVariant & aValue )
protectedinherited

Utility to fetch a property value and convert to wxVariant Precondition: aItem is known to have property aProperty.

Returns
true if conversion succeeded

Definition at line 381 of file properties_panel.cpp.

References INSPECTABLE::Get(), KIGFX::VIEW_ITEM::GetClass(), PROPERTY_BASE::HasChoices(), and PROPERTY_BASE::Name().

Referenced by extractValueAndWritability().

◆ getPropertyFromEvent()

PROPERTY_BASE * SCH_PROPERTIES_PANEL::getPropertyFromEvent ( const wxPropertyGridEvent & aEvent) const
protected

◆ GetPropertyGrid()

wxPropertyGrid * PROPERTIES_PANEL::GetPropertyGrid ( )
inlineinherited

Definition at line 50 of file properties_panel.h.

References m_grid.

◆ getSelection()

const SELECTION & SCH_PROPERTIES_PANEL::getSelection ( SELECTION & aFallbackSelection)
protected

Get the current selection from the selection tool.

If the selection is empty and we're in the symbol editor, returns the current symbol instead.

Parameters
aFallbackSelection[out] local SELECTION object for fallback symbol selection
Returns
const SELECTION& reference to the selection (either real selection or fallback)

Definition at line 191 of file sch_properties_panel.cpp.

References SELECTION::Add(), SELECTION::Clear(), FRAME_SCH_SYMBOL_EDITOR, SYMBOL_EDIT_FRAME::GetCurSymbol(), SCH_SELECTION_TOOL::GetSelection(), and m_frame.

Referenced by AfterCommit(), getFrontItem(), UpdateData(), and valueChanged().

◆ onCharHook()

void PROPERTIES_PANEL::onCharHook ( wxKeyEvent & aEvent)
protectedinherited

Definition at line 489 of file properties_panel.cpp.

References m_grid.

Referenced by PROPERTIES_PANEL().

◆ OnLanguageChanged()

void SCH_PROPERTIES_PANEL::OnLanguageChanged ( wxCommandEvent & aEvent)
overrideprotectedvirtual

Reimplemented from PROPERTIES_PANEL.

Definition at line 393 of file sch_properties_panel.cpp.

References PROPERTIES_PANEL::OnLanguageChanged().

◆ onShow()

void PROPERTIES_PANEL::onShow ( wxShowEvent & aEvent)
protectedinherited

Definition at line 480 of file properties_panel.cpp.

References UpdateData().

Referenced by PROPERTIES_PANEL().

◆ Properties()

const std::vector< PROPERTY_BASE * > & PROPERTIES_PANEL::Properties ( ) const
inlineinherited

Definition at line 60 of file properties_panel.h.

References m_displayed.

◆ PropertiesCount()

int PROPERTIES_PANEL::PropertiesCount ( ) const
inlineinherited

Definition at line 55 of file properties_panel.h.

References m_displayed.

◆ rebuildProperties()

void SCH_PROPERTIES_PANEL::rebuildProperties ( const SELECTION & aSelection)
overrideprotectedvirtual

Generates the property grid for a given selection of items.

Parameters
aSelectionis a set of items to show properties for.

Reimplemented from PROPERTIES_PANEL.

Definition at line 240 of file sch_properties_panel.cpp.

References _HKI, SCH_SYMBOL::GetFields(), m_currentFieldNames, m_propMgr, name, PROPERTIES_PANEL::rebuildProperties(), SCH_SYMBOL_T, and TYPE_HASH.

Referenced by AfterCommit(), and UpdateData().

◆ RecalculateSplitterPos()

void PROPERTIES_PANEL::RecalculateSplitterPos ( )
inherited

◆ SetSplitterProportion()

void PROPERTIES_PANEL::SetSplitterProportion ( float aProportion)
inherited

Definition at line 547 of file properties_panel.cpp.

References m_splitter_key_proportion, and RecalculateSplitterPos().

◆ SplitterProportion()

float PROPERTIES_PANEL::SplitterProportion ( ) const
inlineinherited

Definition at line 68 of file properties_panel.h.

References m_splitter_key_proportion.

◆ UpdateData()

void SCH_PROPERTIES_PANEL::UpdateData ( )
overridevirtual

Implements PROPERTIES_PANEL.

Definition at line 221 of file sch_properties_panel.cpp.

References getSelection(), and rebuildProperties().

◆ valueChanged()

void SCH_PROPERTIES_PANEL::valueChanged ( wxPropertyGridEvent & aEvent)
overrideprotectedvirtual

◆ valueChanging()

void SCH_PROPERTIES_PANEL::valueChanging ( wxPropertyGridEvent & aEvent)
overrideprotectedvirtual

Member Data Documentation

◆ m_caption

wxStaticText* PROPERTIES_PANEL::m_caption
protectedinherited

Definition at line 114 of file properties_panel.h.

Referenced by PROPERTIES_PANEL(), and rebuildProperties().

◆ m_checkboxEditorInstance

PG_CHECKBOX_EDITOR* SCH_PROPERTIES_PANEL::m_checkboxEditorInstance
protected

Definition at line 80 of file sch_properties_panel.h.

Referenced by SCH_PROPERTIES_PANEL().

◆ m_colorEditorInstance

PG_COLOR_EDITOR* SCH_PROPERTIES_PANEL::m_colorEditorInstance
protected

Definition at line 81 of file sch_properties_panel.h.

Referenced by SCH_PROPERTIES_PANEL().

◆ m_currentFieldNames

std::set< wxString > SCH_PROPERTIES_PANEL::m_currentFieldNames
staticprotected

Definition at line 85 of file sch_properties_panel.h.

Referenced by rebuildProperties().

◆ m_displayed

std::vector<PROPERTY_BASE*> PROPERTIES_PANEL::m_displayed
protectedinherited

◆ m_fpEditorInstance

PG_FPID_EDITOR* SCH_PROPERTIES_PANEL::m_fpEditorInstance
protected

Definition at line 82 of file sch_properties_panel.h.

Referenced by SCH_PROPERTIES_PANEL(), and ~SCH_PROPERTIES_PANEL().

◆ m_frame

SCH_BASE_FRAME* SCH_PROPERTIES_PANEL::m_frame
protected

◆ m_grid

wxPropertyGrid* PROPERTIES_PANEL::m_grid
protectedinherited

◆ m_nets

wxPGChoices SCH_PROPERTIES_PANEL::m_nets
protected

Definition at line 86 of file sch_properties_panel.h.

◆ m_propMgr

PROPERTY_MANAGER& SCH_PROPERTIES_PANEL::m_propMgr
protected

◆ m_splitter_key_proportion

float PROPERTIES_PANEL::m_splitter_key_proportion
protectedinherited

Proportion of the grid column splitter that is used for the key column (0.0 - 1.0)

Definition at line 117 of file properties_panel.h.

Referenced by PROPERTIES_PANEL(), RecalculateSplitterPos(), SetSplitterProportion(), and SplitterProportion().

◆ m_SuppressGridChangeEvents

◆ m_unitEditorInstance

PG_UNIT_EDITOR* SCH_PROPERTIES_PANEL::m_unitEditorInstance
protected

Definition at line 79 of file sch_properties_panel.h.

Referenced by SCH_PROPERTIES_PANEL(), and ~SCH_PROPERTIES_PANEL().

◆ m_urlEditorInstance

PG_URL_EDITOR* SCH_PROPERTIES_PANEL::m_urlEditorInstance
protected

Definition at line 83 of file sch_properties_panel.h.

Referenced by SCH_PROPERTIES_PANEL(), and ~SCH_PROPERTIES_PANEL().


The documentation for this class was generated from the following files: