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

#include <wx_grid.h>

Inheritance diagram for WX_GRID:

Public Member Functions

 WX_GRID (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxWANTS_CHARS, const wxString &name=wxGridNameStr)
 
 ~WX_GRID () override
 
void SetColLabelSize (int aHeight)
 Hide wxGrid's SetColLabelSize() method with one which makes sure the size is tall enough for the system GUI font.
 
void SetLabelFont (const wxFont &aFont)
 Hide wxGrid's SetLabelFont() because for some reason on MSW it's a one-shot and subsequent calls to it have no effect.
 
void EnableAlternateRowColors (bool aEnable=true)
 Enable alternate row highlighting, where every odd row has a different background color than the even rows.s.
 
wxString GetShownColumnsAsString ()
 Get a tokenized string containing the shown column indexes.
 
std::bitset< 64 > GetShownColumns ()
 
void ShowHideColumns (const wxString &shownColumns)
 Show/hide the grid columns based on a tokenized string of shown column indexes.
 
void ShowHideColumns (const std::bitset< 64 > &aShownColumns)
 A more performant version of ShowHideColumns (primarily for OnUpdateUI handlers).
 
void SetTable (wxGridTableBase *table, bool aTakeOwnership=false)
 Hide wxGrid's SetTable() method with one which doesn't mess up the grid column widths when setting the table.
 
void DestroyTable (wxGridTableBase *aTable)
 Work-around for a bug in wxGrid which crashes when deleting the table if the cell edit control was not closed.
 
bool CommitPendingChanges (bool aQuietMode=false)
 Close any open cell edit controls.
 
bool CancelPendingChanges ()
 
void SetUnitsProvider (UNITS_PROVIDER *aProvider, int aCol=0)
 Set a UNITS_PROVIDER to enable use of unit- and eval-based Getters.
 
void SetAutoEvalCols (const std::vector< int > &aCols)
 
int GetUnitValue (int aRow, int aCol)
 Apply standard KiCad unit and eval services to a numeric cell.
 
std::optional< int > GetOptionalUnitValue (int aRow, int aCol)
 Apply standard KiCad unit and eval services to a numeric cell.
 
void SetUnitValue (int aRow, int aCol, int aValue)
 Set a unitized cell's value.
 
void SetOptionalUnitValue (int aRow, int aCol, std::optional< int > aValue)
 Set a unitized cell's optional value.
 
int GetVisibleWidth (int aCol, bool aHeader=true, bool aContents=true, bool aKeep=false)
 Calculates the specified column based on the actual size of the text on screen.
 
void EnsureColLabelsVisible ()
 Ensure the height of the row displaying the column labels is enough, even if labels are multiline texts.
 
void ShowEditorOnMouseUp ()
 WxWidgets has a bunch of bugs in its handling of wxGrid mouse events which close cell editors right after opening them.
 
void ClearRows ()
 wxWidgets recently added an ASSERT which fires if the position is greater than or equal to the number of rows (even if the delete count is 0).
 

Static Public Member Functions

static void CellEditorSetMargins (wxTextEntryBase *aEntry)
 A helper function to set OS-specific margins for text-based cell editors.
 
static void CellEditorTransformSizeRect (wxRect &aRect)
 A helper function to tweak sizes of text-based cell editors depending on OS.
 

Protected Member Functions

void DrawColLabel (wxDC &dc, int col) override
 A re-implementation of wxGrid::DrawColLabel which left-aligns the first column and draws flat borders.
 
void DrawRowLabel (wxDC &dc, int row) override
 A re-implementation of wxGrid::DrawRowLabel which draws flat borders.
 
void DrawCornerLabel (wxDC &dc) override
 A re-implementation of wxGrid::DrawCornerLabel which draws flat borders.
 
void onGridColMove (wxGridEvent &aEvent)
 
void onGridCellSelect (wxGridEvent &aEvent)
 
void onCellEditorShown (wxGridEvent &aEvent)
 
void onCellEditorHidden (wxGridEvent &aEvent)
 
void onDPIChanged (wxDPIChangedEvent &event)
 

Protected Attributes

bool m_weOwnTable
 
std::map< int, UNITS_PROVIDER * > m_unitsProviders
 
std::unique_ptr< NUMERIC_EVALUATORm_eval
 
std::vector< int > m_autoEvalCols
 
std::map< std::pair< int, int >, std::pair< wxString, wxString > > m_evalBeforeAfter
 

Detailed Description

Definition at line 50 of file wx_grid.h.

Constructor & Destructor Documentation

◆ WX_GRID()

WX_GRID::WX_GRID ( wxWindow *  parent,
wxWindowID  id,
const wxPoint &  pos = wxDefaultPosition,
const wxSize &  size = wxDefaultSize,
long  style = wxWANTS_CHARS,
const wxString &  name = wxGridNameStr 
)

◆ ~WX_GRID()

WX_GRID::~WX_GRID ( )
override

Member Function Documentation

◆ CancelPendingChanges()

bool WX_GRID::CancelPendingChanges ( )

Definition at line 609 of file wx_grid.cpp.

References editor.

Referenced by GRID_TRICKS::onCharHook().

◆ CellEditorSetMargins()

void WX_GRID::CellEditorSetMargins ( wxTextEntryBase *  aEntry)
static

A helper function to set OS-specific margins for text-based cell editors.

Definition at line 77 of file wx_grid.cpp.

Referenced by GRID_CELL_SYMBOL_ID_EDITOR::Create(), GRID_CELL_FPID_EDITOR::Create(), GRID_CELL_URL_EDITOR::Create(), and GRID_CELL_PATH_EDITOR::Create().

◆ CellEditorTransformSizeRect()

void WX_GRID::CellEditorTransformSizeRect ( wxRect &  aRect)
static

A helper function to tweak sizes of text-based cell editors depending on OS.

Definition at line 84 of file wx_grid.cpp.

Referenced by GRID_CELL_TEXT_BUTTON::SetSize(), GRID_CELL_TEXT_EDITOR::SetSize(), and GRID_CELL_STC_EDITOR::SetSize().

◆ ClearRows()

void WX_GRID::ClearRows ( )
inline

wxWidgets recently added an ASSERT which fires if the position is greater than or equal to the number of rows (even if the delete count is 0).

Needless to say, this makes using DeleteRows for clearing a lot more cumbersome so we add a helper here.

Definition at line 184 of file wx_grid.h.

Referenced by PANEL_BOM_PRESETS::BuildGrid(), PANEL_TEXT_VARIABLES::checkReload(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_SIM_MODEL< T >::DIALOG_SIM_MODEL(), PANEL_SETUP_BUSES::doReloadMembersGrid(), DIALOG_BOARD_STATISTICS::getDataFromPCB(), PANEL_TEXT_VARIABLES::ImportSettingsFrom(), DIALOG_EDIT_SYMBOLS_LIBID::initDlg(), PANEL_SETUP_BUSES::loadAliases(), PANEL_SETUP_NETCLASSES::loadNetclasses(), PANEL_SETUP_BUSES::OnDeleteAlias(), SIMULATOR_FRAME_UI::onPlotChanging(), PANEL_TEXT_VARIABLES::PANEL_TEXT_VARIABLES(), PANEL_DESIGN_BLOCK_LIB_TABLE::populateEnvironReadOnlyTable(), PANEL_SYM_LIB_TABLE::populateEnvironReadOnlyTable(), PANEL_FP_LIB_TABLE::populateEnvironReadOnlyTable(), SIMULATOR_FRAME_UI::rebuildMeasurementsGrid(), SIMULATOR_FRAME_UI::rebuildSignalsGrid(), FOOTPRINT_WIZARD_FRAME::ReCreateParameterList(), PANEL_FP_PROPERTIES_3D_MODEL::ReloadModelsFromFootprint(), DIALOG_DESIGN_BLOCK_PROPERTIES::TransferDataToGrid(), PANEL_TEMPLATE_FIELDNAMES::TransferDataToGrid(), DIALOG_FOOTPRINT_ASSOCIATIONS::TransferDataToWindow(), PANEL_PCBNEW_ACTION_PLUGINS::TransferDataToWindow(), PANEL_SETUP_TRACKS_AND_VIAS::TransferDataToWindow(), and SIMULATOR_FRAME_UI::updatePlotCursors().

◆ CommitPendingChanges()

bool WX_GRID::CommitPendingChanges ( bool  aQuietMode = false)

Close any open cell edit controls.

Parameters
aQuietModeif true don't send events (ie: for row/col delete operations)
Returns
false if validation failed

Definition at line 637 of file wx_grid.cpp.

References editor.

Referenced by PANEL_DESIGN_BLOCK_LIB_TABLE::appendRowHandler(), PANEL_SYM_LIB_TABLE::appendRowHandler(), PANEL_FP_LIB_TABLE::appendRowHandler(), PANEL_DESIGN_BLOCK_LIB_TABLE::browseLibrariesHandler(), PANEL_FP_LIB_TABLE::browseLibrariesHandler(), PANEL_DESIGN_BLOCK_LIB_TABLE::deleteRowHandler(), PANEL_SYM_LIB_TABLE::deleteRowHandler(), PANEL_FP_LIB_TABLE::deleteRowHandler(), DestroyTable(), GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), PANEL_SETUP_TEXT_AND_GRAPHICS::ImportSettingsFrom(), PANEL_SETUP_TRACKS_AND_VIAS::ImportSettingsFrom(), PANEL_DESIGN_BLOCK_LIB_TABLE::moveDownHandler(), PANEL_SYM_LIB_TABLE::moveDownHandler(), PANEL_FP_LIB_TABLE::moveDownHandler(), PANEL_DESIGN_BLOCK_LIB_TABLE::moveUpHandler(), PANEL_SYM_LIB_TABLE::moveUpHandler(), PANEL_FP_LIB_TABLE::moveUpHandler(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DRow(), PANEL_SETUP_BUSES::OnAddAlias(), DIALOG_PIN_PROPERTIES::OnAddAlternate(), PANEL_SETUP_NETCLASSES::OnAddAssignmentClick(), PANEL_TEMPLATE_FIELDNAMES::OnAddButtonClick(), PANEL_SETUP_TRACKS_AND_VIAS::OnAddDiffPairsClick(), DIALOG_CONFIGURE_PATHS::OnAddEnvVar(), DIALOG_FOOTPRINT_PROPERTIES::OnAddField(), DIALOG_DESIGN_BLOCK_PROPERTIES::OnAddField(), DIALOG_LABEL_PROPERTIES::OnAddField(), DIALOG_LIB_SYMBOL_PROPERTIES::OnAddField(), DIALOG_SHEET_PROPERTIES::OnAddField(), DIALOG_SYMBOL_PROPERTIES::OnAddField(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddField(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddLayer(), PANEL_SETUP_BUSES::OnAddMember(), PANEL_SETUP_NETCLASSES::OnAddNetclassClick(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddPadGroup(), DIALOG_LIB_EDIT_PIN_TABLE::OnAddRow(), DIALOG_USER_DEFINED_SIGNALS::onAddSignal(), PANEL_FP_EDITOR_DEFAULTS::OnAddTextItem(), PANEL_TEXT_VARIABLES::OnAddTextVar(), PANEL_SETUP_TRACKS_AND_VIAS::OnAddTrackWidthsClick(), PANEL_SETUP_TRACKS_AND_VIAS::OnAddViaSizesClick(), DIALOG_PLUGIN_OPTIONS::onAppendOption(), DIALOG_PLUGIN_OPTIONS::onAppendRow(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), GRID_TRICKS::onCharHook(), DIALOG_SYMBOL_FIELDS_TABLE::OnClose(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), PANEL_SYM_LIB_TABLE::onConvertLegacyLibraries(), PANEL_SETUP_BUSES::OnDeleteAlias(), DIALOG_PIN_PROPERTIES::OnDeleteAlternate(), PANEL_TEMPLATE_FIELDNAMES::OnDeleteButtonClick(), PANEL_GIT_REPOS::onDeleteClick(), DIALOG_FOOTPRINT_PROPERTIES::OnDeleteField(), DIALOG_DESIGN_BLOCK_PROPERTIES::OnDeleteField(), DIALOG_LABEL_PROPERTIES::OnDeleteField(), DIALOG_LIB_SYMBOL_PROPERTIES::OnDeleteField(), DIALOG_SHEET_PROPERTIES::OnDeleteField(), DIALOG_SYMBOL_PROPERTIES::OnDeleteField(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnDeleteField(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnDeleteLayer(), DIALOG_PLUGIN_OPTIONS::onDeleteRow(), DIALOG_LIB_EDIT_PIN_TABLE::OnDeleteRow(), DIALOG_USER_DEFINED_SIGNALS::onDeleteSignal(), PANEL_FP_EDITOR_DEFAULTS::OnDeleteTextItem(), DIALOG_LIB_SYMBOL_PROPERTIES::OnEditSpiceModel(), DIALOG_SYMBOL_PROPERTIES::OnEditSpiceModel(), onGridColMove(), GRID_TRICKS::onGridLabelLeftClick(), PANEL_DESIGN_BLOCK_LIB_TABLE::onMigrateLibraries(), PANEL_FP_LIB_TABLE::onMigrateLibraries(), DIALOG_LABEL_PROPERTIES::OnMoveDown(), DIALOG_LIB_SYMBOL_PROPERTIES::OnMoveDown(), DIALOG_SHEET_PROPERTIES::OnMoveDown(), DIALOG_SYMBOL_PROPERTIES::OnMoveDown(), DIALOG_DESIGN_BLOCK_PROPERTIES::OnMoveFieldDown(), DIALOG_DESIGN_BLOCK_PROPERTIES::OnMoveFieldUp(), PANEL_SETUP_NETCLASSES::OnMoveNetclassDownClick(), PANEL_SETUP_NETCLASSES::OnMoveNetclassUpClick(), DIALOG_LABEL_PROPERTIES::OnMoveUp(), DIALOG_LIB_SYMBOL_PROPERTIES::OnMoveUp(), DIALOG_SHEET_PROPERTIES::OnMoveUp(), DIALOG_SYMBOL_PROPERTIES::OnMoveUp(), DIALOG_LIB_SYMBOL_PROPERTIES::OnPageChanging(), DIALOG_SYMBOL_PROPERTIES::OnPageChanging(), DIALOG_FOOTPRINT_PROPERTIES::OnPageChanging(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnPageChanging(), DIALOG_LIB_EDIT_PIN_TABLE::OnRebuildRows(), PANEL_FP_PROPERTIES_3D_MODEL::OnRemove3DModel(), PANEL_SETUP_NETCLASSES::OnRemoveAssignmentClick(), PANEL_SETUP_TRACKS_AND_VIAS::OnRemoveDiffPairsClick(), DIALOG_CONFIGURE_PATHS::OnRemoveEnvVar(), PANEL_SETUP_BUSES::OnRemoveMember(), PANEL_SETUP_NETCLASSES::OnRemoveNetclassClick(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnRemovePadGroup(), PANEL_TEXT_VARIABLES::OnRemoveTextVar(), PANEL_SETUP_TRACKS_AND_VIAS::OnRemoveTrackWidthsClick(), PANEL_SETUP_TRACKS_AND_VIAS::OnRemoveViaSizesClick(), PANEL_SYM_LIB_TABLE::onReset(), PANEL_FP_LIB_TABLE::onReset(), PANEL_SETUP_NETCLASSES::rebuildNetclassDropdowns(), DIALOG_DESIGN_BLOCK_PROPERTIES::TransferDataFromGrid(), PANEL_TEMPLATE_FIELDNAMES::TransferDataFromGrid(), PANEL_DESIGN_BLOCK_LIB_TABLE::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_LIB_EDIT_PIN_TABLE::TransferDataFromWindow(), DIALOG_LIB_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TABLE_PROPERTIES::TransferDataFromWindow(), DIALOG_USER_DEFINED_SIGNALS::TransferDataFromWindow(), PANEL_SETUP_BUSES::TransferDataFromWindow(), PANEL_SYM_LIB_TABLE::TransferDataFromWindow(), DIALOG_CONFIGURE_PATHS::TransferDataFromWindow(), DIALOG_PLUGIN_OPTIONS::TransferDataFromWindow(), PANEL_TEXT_VARIABLES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow(), DIALOG_SWAP_LAYERS::TransferDataFromWindow(), PANEL_FP_EDITOR_DEFAULTS::TransferDataFromWindow(), PANEL_FP_LIB_TABLE::TransferDataFromWindow(), PANEL_FP_PROPERTIES_3D_MODEL::TransferDataFromWindow(), PANEL_SETUP_TEXT_AND_GRAPHICS::TransferDataFromWindow(), PANEL_SETUP_TRACKS_AND_VIAS::TransferDataFromWindow(), DIALOG_LIB_SYMBOL_PROPERTIES::Validate(), DIALOG_SHEET_PROPERTIES::Validate(), DIALOG_SYMBOL_PROPERTIES::Validate(), PANEL_SETUP_NETCLASSES::Validate(), DIALOG_FOOTPRINT_PROPERTIES::Validate(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::Validate(), PANEL_SETUP_TRACKS_AND_VIAS::Validate(), and DIALOG_EDIT_SYMBOLS_LIBID::validateLibIds().

◆ DestroyTable()

◆ DrawColLabel()

void WX_GRID::DrawColLabel ( wxDC &  dc,
int  col 
)
overrideprotected

A re-implementation of wxGrid::DrawColLabel which left-aligns the first column and draws flat borders.

Definition at line 538 of file wx_grid.cpp.

References WX_GRID_COLUMN_HEADER_RENDERER::DrawBorder(), and MIN_GRIDCELL_MARGIN.

◆ DrawCornerLabel()

void WX_GRID::DrawCornerLabel ( wxDC &  dc)
overrideprotected

A re-implementation of wxGrid::DrawCornerLabel which draws flat borders.

Definition at line 517 of file wx_grid.cpp.

References WX_GRID_CORNER_HEADER_RENDERER::DrawBorder().

◆ DrawRowLabel()

void WX_GRID::DrawRowLabel ( wxDC &  dc,
int  row 
)
overrideprotected

A re-implementation of wxGrid::DrawRowLabel which draws flat borders.

Definition at line 577 of file wx_grid.cpp.

References WX_GRID_ROW_HEADER_RENDERER::DrawBorder(), and MIN_GRIDCELL_MARGIN.

◆ EnableAlternateRowColors()

void WX_GRID::EnableAlternateRowColors ( bool  aEnable = true)

Enable alternate row highlighting, where every odd row has a different background color than the even rows.s.

Parameters
aEnableflag to specify to enable alternate row striping in the grid

Definition at line 305 of file wx_grid.cpp.

References color.

Referenced by PANEL_EMBEDDED_FILES::PANEL_EMBEDDED_FILES(), and SetTable().

◆ EnsureColLabelsVisible()

void WX_GRID::EnsureColLabelsVisible ( )

Ensure the height of the row displaying the column labels is enough, even if labels are multiline texts.

Definition at line 809 of file wx_grid.cpp.

References SetColLabelSize().

Referenced by DIALOG_BOARD_STATISTICS::adjustDrillGridColumns(), GetVisibleWidth(), and PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES().

◆ GetOptionalUnitValue()

std::optional< int > WX_GRID::GetOptionalUnitValue ( int  aRow,
int  aCol 
)

Apply standard KiCad unit and eval services to a numeric cell.

Parameters
aRowthe cell row index to fetch
aColthe cell column index to fetch
Returns
the value held by the cell in internal units

Definition at line 719 of file wx_grid.cpp.

References alg::contains(), UNITS_PROVIDER::GetUserUnits(), m_autoEvalCols, m_eval, m_unitsProviders, UNITS_PROVIDER::NullUiString, and UNITS_PROVIDER::OptionalValueFromString().

Referenced by PANEL_SETUP_NETCLASSES::TransferDataFromWindow().

◆ GetShownColumns()

◆ GetShownColumnsAsString()

◆ GetUnitValue()

int WX_GRID::GetUnitValue ( int  aRow,
int  aCol 
)

Apply standard KiCad unit and eval services to a numeric cell.

Parameters
aRowthe cell row index to fetch
aColthe cell column index to fetch
aIsOptionalif true, indicates to the unit provider the value is optional
Returns
the value held by the cell in internal units

Definition at line 698 of file wx_grid.cpp.

References alg::contains(), UNITS_PROVIDER::GetUserUnits(), m_autoEvalCols, m_eval, m_unitsProviders, and UNITS_PROVIDER::ValueFromString().

Referenced by PANEL_FP_EDITOR_DEFAULTS::TransferDataFromWindow(), PANEL_SETUP_TEXT_AND_GRAPHICS::TransferDataFromWindow(), and PANEL_SETUP_TRACKS_AND_VIAS::TransferDataFromWindow().

◆ GetVisibleWidth()

int WX_GRID::GetVisibleWidth ( int  aCol,
bool  aHeader = true,
bool  aContents = true,
bool  aKeep = false 
)

◆ onCellEditorHidden()

◆ onCellEditorShown()

void WX_GRID::onCellEditorShown ( wxGridEvent &  aEvent)
protected

Definition at line 351 of file wx_grid.cpp.

References alg::contains(), m_autoEvalCols, and m_evalBeforeAfter.

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

◆ onDPIChanged()

void WX_GRID::onDPIChanged ( wxDPIChangedEvent &  event)
protected

This terrible hack is a way to avoid the incredibly disruptive resizing of grids that happens on Macs when moving a window between monitors of different DPIs.

Definition at line 233 of file wx_grid.cpp.

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

◆ onGridCellSelect()

void WX_GRID::onGridCellSelect ( wxGridEvent &  aEvent)
protected

Definition at line 324 of file wx_grid.cpp.

Referenced by DestroyTable(), and SetTable().

◆ onGridColMove()

void WX_GRID::onGridColMove ( wxGridEvent &  aEvent)
protected

Definition at line 762 of file wx_grid.cpp.

References CommitPendingChanges().

Referenced by DestroyTable(), and SetTable().

◆ SetAutoEvalCols()

◆ SetColLabelSize()

void WX_GRID::SetColLabelSize ( int  aHeight)

Hide wxGrid's SetColLabelSize() method with one which makes sure the size is tall enough for the system GUI font.

Parameters
height

Definition at line 249 of file wx_grid.cpp.

References MIN_GRIDCELL_MARGIN.

Referenced by APPEARANCE_CONTROLS::APPEARANCE_CONTROLS(), APPEARANCE_CONTROLS_BASE::APPEARANCE_CONTROLS_BASE(), DIALOG_BOARD_STATISTICS_BASE::DIALOG_BOARD_STATISTICS_BASE(), DIALOG_CONFIG_EQUFILES_BASE::DIALOG_CONFIG_EQUFILES_BASE(), DIALOG_CONFIGURE_PATHS_BASE::DIALOG_CONFIGURE_PATHS_BASE(), DIALOG_COPPER_LAYER_PAIR_SELECTION_BASE::DIALOG_COPPER_LAYER_PAIR_SELECTION_BASE(), DIALOG_DESIGN_BLOCK_PROPERTIES_BASE::DIALOG_DESIGN_BLOCK_PROPERTIES_BASE(), DIALOG_EDIT_SYMBOLS_LIBID_BASE::DIALOG_EDIT_SYMBOLS_LIBID_BASE(), DIALOG_FOOTPRINT_ASSOCIATIONS_BASE::DIALOG_FOOTPRINT_ASSOCIATIONS_BASE(), DIALOG_FOOTPRINT_PROPERTIES_BASE::DIALOG_FOOTPRINT_PROPERTIES_BASE(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE(), DIALOG_LABEL_PROPERTIES_BASE::DIALOG_LABEL_PROPERTIES_BASE(), DIALOG_LIB_EDIT_PIN_TABLE_BASE::DIALOG_LIB_EDIT_PIN_TABLE_BASE(), DIALOG_LIB_SYMBOL_PROPERTIES_BASE::DIALOG_LIB_SYMBOL_PROPERTIES_BASE(), DIALOG_MANAGE_REPOSITORIES_BASE::DIALOG_MANAGE_REPOSITORIES_BASE(), DIALOG_PCM_BASE::DIALOG_PCM_BASE(), DIALOG_PIN_PROPERTIES_BASE::DIALOG_PIN_PROPERTIES_BASE(), DIALOG_PLUGIN_OPTIONS_BASE::DIALOG_PLUGIN_OPTIONS_BASE(), DIALOG_SHEET_PROPERTIES_BASE::DIALOG_SHEET_PROPERTIES_BASE(), DIALOG_SIM_MODEL_BASE::DIALOG_SIM_MODEL_BASE(), DIALOG_SWAP_LAYERS_BASE::DIALOG_SWAP_LAYERS_BASE(), DIALOG_SYMBOL_FIELDS_TABLE_BASE::DIALOG_SYMBOL_FIELDS_TABLE_BASE(), DIALOG_SYMBOL_PROPERTIES_BASE::DIALOG_SYMBOL_PROPERTIES_BASE(), DIALOG_TABLE_PROPERTIES::DIALOG_TABLE_PROPERTIES(), DIALOG_USER_DEFINED_SIGNALS_BASE::DIALOG_USER_DEFINED_SIGNALS_BASE(), EnsureColLabelsVisible(), FOOTPRINT_WIZARD_FRAME::initParameterGrid(), PANEL_BOM_PRESETS_BASE::PANEL_BOM_PRESETS_BASE(), PANEL_DESIGN_BLOCK_LIB_TABLE_BASE::PANEL_DESIGN_BLOCK_LIB_TABLE_BASE(), PANEL_EMBEDDED_FILES_BASE::PANEL_EMBEDDED_FILES_BASE(), PANEL_FP_EDITOR_DEFAULTS_BASE::PANEL_FP_EDITOR_DEFAULTS_BASE(), PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE(), PANEL_FP_PROPERTIES_3D_MODEL_BASE::PANEL_FP_PROPERTIES_3D_MODEL_BASE(), PANEL_GIT_REPOS_BASE::PANEL_GIT_REPOS_BASE(), PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE(), PANEL_PCBNEW_ACTION_PLUGINS_BASE::PANEL_PCBNEW_ACTION_PLUGINS_BASE(), PANEL_SETUP_BUSES_BASE::PANEL_SETUP_BUSES_BASE(), PANEL_SETUP_NETCLASSES_BASE::PANEL_SETUP_NETCLASSES_BASE(), PANEL_SETUP_TEXT_AND_GRAPHICS_BASE::PANEL_SETUP_TEXT_AND_GRAPHICS_BASE(), PANEL_SETUP_TRACKS_AND_VIAS_BASE::PANEL_SETUP_TRACKS_AND_VIAS_BASE(), PANEL_SYM_LIB_TABLE_BASE::PANEL_SYM_LIB_TABLE_BASE(), PANEL_TEMPLATE_FIELDNAMES_BASE::PANEL_TEMPLATE_FIELDNAMES_BASE(), PANEL_TEXT_VARIABLES_BASE::PANEL_TEXT_VARIABLES_BASE(), and SIMULATOR_FRAME_UI_BASE::SIMULATOR_FRAME_UI_BASE().

◆ SetLabelFont()

void WX_GRID::SetLabelFont ( const wxFont &  aFont)

Hide wxGrid's SetLabelFont() because for some reason on MSW it's a one-shot and subsequent calls to it have no effect.

Definition at line 264 of file wx_grid.cpp.

References KIUI::GetControlFont().

Referenced by WX_GRID().

◆ SetOptionalUnitValue()

void WX_GRID::SetOptionalUnitValue ( int  aRow,
int  aCol,
std::optional< int >  aValue 
)

Set a unitized cell's optional value.

Definition at line 751 of file wx_grid.cpp.

References m_unitsProviders, and UNITS_PROVIDER::StringFromOptionalValue().

Referenced by PANEL_SETUP_NETCLASSES::loadNetclasses().

◆ SetTable()

◆ SetUnitsProvider()

void WX_GRID::SetUnitsProvider ( UNITS_PROVIDER aProvider,
int  aCol = 0 
)

◆ SetUnitValue()

◆ ShowEditorOnMouseUp()

void WX_GRID::ShowEditorOnMouseUp ( )
inline

WxWidgets has a bunch of bugs in its handling of wxGrid mouse events which close cell editors right after opening them.

Helpfully, it already has a bunch of work-arounds in place (such as the SetInSetFocus() hack), including one to make slow clicks work. We re-purpose this hack to work-around the bugs when we want to open an editor.

Definition at line 177 of file wx_grid.h.

Referenced by GRID_TRICKS::showEditor().

◆ ShowHideColumns() [1/2]

void WX_GRID::ShowHideColumns ( const std::bitset< 64 > &  aShownColumns)

A more performant version of ShowHideColumns (primarily for OnUpdateUI handlers).

Definition at line 505 of file wx_grid.cpp.

◆ ShowHideColumns() [2/2]

Member Data Documentation

◆ m_autoEvalCols

std::vector<int> WX_GRID::m_autoEvalCols
protected

◆ m_eval

std::unique_ptr<NUMERIC_EVALUATOR> WX_GRID::m_eval
protected

◆ m_evalBeforeAfter

std::map< std::pair<int, int>, std::pair<wxString, wxString> > WX_GRID::m_evalBeforeAfter
protected

Definition at line 231 of file wx_grid.h.

Referenced by onCellEditorHidden(), and onCellEditorShown().

◆ m_unitsProviders

std::map<int, UNITS_PROVIDER*> WX_GRID::m_unitsProviders
protected

◆ m_weOwnTable

bool WX_GRID::m_weOwnTable
protected

Definition at line 225 of file wx_grid.h.

Referenced by SetTable(), and ~WX_GRID().


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