25#include <wx/textdlg.h>
53 m_checkGridOverrideConnected->SetLabel( _(
"Pads:" ) );
54 m_checkGridOverrideWires->Show( false );
55 m_gridOverrideWiresChoice->Show( false );
56 m_checkGridOverrideVias->Show( false );
57 m_gridOverrideViasChoice->Show( false );
61 m_checkGridOverrideConnected->SetLabel( _(
"Footprints/pads:" ) );
62 m_checkGridOverrideWires->SetLabel( _(
"Tracks:" ) );
66 m_gridOverrideViasChoice->SetSelection( 0 );
67 m_gridOverrideViasChoice->Show( false );
68 m_checkGridOverrideVias->Show( false );
70 if( m_frameType != FRAME_SCH
71 && m_frameType != FRAME_SCH_SYMBOL_EDITOR
72 && m_frameType != FRAME_SCH_VIEWER
73 && m_frameType != FRAME_SIMULATOR )
75 m_checkGridOverrideConnected->Show( false );
76 m_gridOverrideConnectedChoice->Show( false );
78 m_checkGridOverrideWires->Show( false );
79 m_gridOverrideWiresChoice->Show( false );
84 m_overridesLabel->Show( false );
85 m_staticline3->Show( false );
87 m_checkGridOverrideText->Show( false );
88 m_gridOverrideTextChoice->Show( false );
90 m_checkGridOverrideGraphics->Show( false );
91 m_gridOverrideGraphicsChoice->Show( false );
97 m_grid1HotKey->SetLabel( wxString::Format( wxT(
"(%s)" ),
KeyNameFromKeyCode( hk1 ) ) );
98 m_grid2HotKey->SetLabel( wxString::Format( wxT(
"(%s)" ),
KeyNameFromKeyCode( hk2 ) ) );
121 wxString savedGrid1 =
m_grid1Ctrl->GetStringSelection();
122 wxString savedGrid2 =
m_grid2Ctrl->GetStringSelection();
142 if( !
name.IsEmpty() )
145 msg.Printf(
_(
"%s%s (%s)" ),
name,
grid.MessageText(
scale, primaryUnit,
true ),
146 grid.MessageText(
scale, secondaryUnit,
true ) );
165 if( !
m_grid1Ctrl->SetStringSelection( savedGrid1 ) )
168 if( !
m_grid2Ctrl->SetStringSelection( savedGrid2 ) )
211 return RESETTABLE_PANEL::TransferDataFromWindow();
220 auto safeGrid = [
this](
int idx ) ->
int
222 if( idx < 0 || idx >= (
int)
m_grids.size() )
250 return RESETTABLE_PANEL::TransferDataToWindow();
256 GRID newGrid =
GRID{ wxEmptyString,
"",
"" };
269 wxWindow* topLevelParent = wxGetTopLevelParent(
this );
272 wxString::Format(
_(
"Grid size '%s' already exists." ),
313 wxWindow* topLevelParent = wxGetTopLevelParent(
this );
316 wxString::Format(
_(
"Grid size '%s' already exists." ),
348 if(
m_grids.size() <= 1 || row == 0 )
384 int numRows = (int)
m_grids.size();
387 event.Enable( ( numRows > 1 ) && ( curRow > 0 ) );
394 int numRows = (int)
m_grids.size();
397 event.Enable( ( numRows > 1 ) && ( curRow < ( numRows - 1 ) ) );
404 event.Enable(
m_grids.size() > 1 );
wxBitmapBundle KiBitmapBundle(BITMAPS aBitmap, int aMinHeight)
static TOOL_ACTION gridFast1
static TOOL_ACTION gridFast2
APP_SETTINGS_BASE is a settings class that should be derived for each standalone KiCad application.
wxCheckBox * m_checkGridOverrideConnected
wxCheckBox * m_checkGridOverrideText
wxChoice * m_gridOverrideConnectedChoice
wxCheckBox * m_checkGridOverrideGraphics
wxChoice * m_gridOverrideWiresChoice
wxChoice * m_gridOverrideTextChoice
wxCheckBox * m_checkGridOverrideVias
wxListBox * m_currentGridCtrl
wxChoice * m_gridOverrideGraphicsChoice
wxChoice * m_gridOverrideViasChoice
wxCheckBox * m_checkGridOverrideWires
PANEL_GRID_SETTINGS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
void ResetPanel() override
Reset the contents of this panel.
bool TransferDataToWindow() override
void OnEditGrid(wxCommandEvent &event) override
void OnRemoveGrid(wxCommandEvent &event) override
void OnMoveGridDown(wxCommandEvent &event) override
void OnUpdateEditGrid(wxUpdateUIEvent &event) override
bool TransferDataFromWindow() override
APP_SETTINGS_BASE * m_cfg
void OnUpdateMoveDown(wxUpdateUIEvent &event) override
void OnUpdateMoveUp(wxUpdateUIEvent &event) override
void OnMoveGridUp(wxCommandEvent &event) override
std::vector< GRID > m_grids
PANEL_GRID_SETTINGS(wxWindow *aParent, UNITS_PROVIDER *aUnitsProvider, wxWindow *aEventSource, APP_SETTINGS_BASE *aCfg, FRAME_T aFrameType)
This has no dependencies on calling wxFrame derivative, such as PCB_BASE_FRAME.
UNITS_PROVIDER * m_unitsProvider
void OnUpdateRemove(wxUpdateUIEvent &event) override
void OnAddGrid(wxCommandEvent &event) override
void DisplayError(wxWindow *aParent, const wxString &aText)
Display an error or warning message box with aMessage.
This file is part of the common library.
FRAME_T
The set of EDA_BASE_FRAME derivatives, typically stored in EDA_BASE_FRAME::m_Ident.
wxString KeyNameFromKeyCode(int aKeycode, bool *aIsFound)
Return the key name from the key code.
int override_connected_idx
std::vector< GRID > grids
int override_graphics_idx
Common grid settings, available to every frame.