12 PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString&
name ) : wxPanel( parent, id, pos, size, style,
name )
14 wxBoxSizer* bPanelSizer;
15 bPanelSizer =
new wxBoxSizer( wxHORIZONTAL );
17 wxBoxSizer* bLeftSizer;
18 bLeftSizer =
new wxBoxSizer( wxVERTICAL );
20 wxGridBagSizer* gbSizer1;
21 gbSizer1 =
new wxGridBagSizer( 4, 4 );
22 gbSizer1->SetFlexibleDirection( wxBOTH );
23 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
24 gbSizer1->SetEmptyCellSize( wxSize( -1,2 ) );
26 m_staticTextautosave =
new wxStaticText(
this, wxID_ANY,
_(
"&Auto save:"), wxDefaultPosition, wxDefaultSize, 0 );
28 gbSizer1->Add(
m_staticTextautosave, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
31 bSizer6 =
new wxBoxSizer( wxHORIZONTAL );
33 m_SaveTime =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10, 0 );
34 m_SaveTime->SetToolTip(
_(
"Delay after the first change to create a backup file of the board on disk.\nIf set to 0, auto backup is disabled") );
36 bSizer6->Add(
m_SaveTime, 0, wxALIGN_CENTER_VERTICAL, 5 );
38 wxStaticText* minutesLabel;
39 minutesLabel =
new wxStaticText(
this, wxID_ANY,
_(
"minutes"), wxDefaultPosition, wxDefaultSize, 0 );
40 minutesLabel->Wrap( -1 );
41 bSizer6->Add( minutesLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
44 gbSizer1->Add( bSizer6, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
50 m_fileHistorySize =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 100, 0 );
51 gbSizer1->Add(
m_fileHistorySize, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
53 wxStaticText* antialiasingLabel;
54 antialiasingLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Accelerated graphics:"), wxDefaultPosition, wxDefaultSize, 0 );
55 antialiasingLabel->Wrap( -1 );
56 gbSizer1->Add( antialiasingLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
58 wxString m_antialiasingChoices[] = {
_(
"No Antialiasing"),
_(
"Subpixel Antialiasing (High Quality)"),
_(
"Subpixel Antialiasing (Ultra Quality)"),
_(
"Supersampling (2x)"),
_(
"Supersampling (4x)") };
59 int m_antialiasingNChoices =
sizeof( m_antialiasingChoices ) /
sizeof( wxString );
60 m_antialiasing =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_antialiasingNChoices, m_antialiasingChoices, 0 );
62 gbSizer1->Add(
m_antialiasing, wxGBPosition( 3, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
64 wxStaticText* antialiasingLabel1;
65 antialiasingLabel1 =
new wxStaticText(
this, wxID_ANY,
_(
"Fallback graphics:"), wxDefaultPosition, wxDefaultSize, 0 );
66 antialiasingLabel1->Wrap( -1 );
67 gbSizer1->Add( antialiasingLabel1, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
69 wxString m_antialiasingFallbackChoices[] = {
_(
"No Antialiasing"),
_(
"Fast Antialiasing"),
_(
"Balanced Antialiasing"),
_(
"High Quality Antialiasing") };
70 int m_antialiasingFallbackNChoices =
sizeof( m_antialiasingFallbackChoices ) /
sizeof( wxString );
71 m_antialiasingFallback =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_antialiasingFallbackNChoices, m_antialiasingFallbackChoices, 0 );
73 gbSizer1->Add(
m_antialiasingFallback, wxGBPosition( 4, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
76 gbSizer1->AddGrowableCol( 1 );
78 bLeftSizer->Add( gbSizer1, 0, wxEXPAND|wxALL, 10 );
80 wxStaticBoxSizer* sizerHelperApps;
81 sizerHelperApps =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Helper Applications") ), wxVERTICAL );
83 wxGridBagSizer* gridHelperApps;
84 gridHelperApps =
new wxGridBagSizer( 3, 3 );
85 gridHelperApps->SetFlexibleDirection( wxBOTH );
86 gridHelperApps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
87 gridHelperApps->SetEmptyCellSize( wxSize( -1,5 ) );
89 wxStaticText* textEditorLabel;
90 textEditorLabel =
new wxStaticText( sizerHelperApps->GetStaticBox(), wxID_ANY,
_(
"Text editor:"), wxDefaultPosition, wxDefaultSize, 0 );
91 textEditorLabel->Wrap( -1 );
92 gridHelperApps->Add( textEditorLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 4 );
94 m_textEditorPath =
new wxTextCtrl( sizerHelperApps->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
97 gridHelperApps->Add(
m_textEditorPath, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
99 m_textEditorBtn =
new wxBitmapButton( sizerHelperApps->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
102 gridHelperApps->Add(
m_textEditorBtn, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
104 m_defaultPDFViewer =
new wxRadioButton( sizerHelperApps->GetStaticBox(), wxID_ANY,
_(
"System default PDF viewer"), wxDefaultPosition, wxDefaultSize, 0 );
105 gridHelperApps->Add(
m_defaultPDFViewer, wxGBPosition( 2, 0 ), wxGBSpan( 1, 3 ), 0, 4 );
107 m_otherPDFViewer =
new wxRadioButton( sizerHelperApps->GetStaticBox(), wxID_ANY,
_(
"Other:"), wxDefaultPosition, wxDefaultSize, 0 );
108 gridHelperApps->Add(
m_otherPDFViewer, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 4 );
110 m_PDFViewerPath =
new wxTextCtrl( sizerHelperApps->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
113 gridHelperApps->Add(
m_PDFViewerPath, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
115 m_pdfViewerBtn =
new wxBitmapButton( sizerHelperApps->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
118 gridHelperApps->Add(
m_pdfViewerBtn, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
121 gridHelperApps->AddGrowableCol( 1 );
123 sizerHelperApps->Add( gridHelperApps, 0, wxEXPAND|wxBOTTOM|wxLEFT, 5 );
126 bLeftSizer->Add( sizerHelperApps, 0, wxEXPAND|wxALL, 5 );
128 wxStaticBoxSizer* sbSizerIconsOpts;
129 sbSizerIconsOpts =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"User Interface") ), wxVERTICAL );
131 wxFlexGridSizer* fgSizer11;
132 fgSizer11 =
new wxFlexGridSizer( 0, 3, 0, 0 );
133 fgSizer11->AddGrowableCol( 1 );
134 fgSizer11->SetFlexibleDirection( wxBOTH );
135 fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
137 m_staticTexticonscale =
new wxStaticText( sbSizerIconsOpts->GetStaticBox(), wxID_ANY,
_(
"Icon scale:"), wxDefaultPosition, wxDefaultSize, 0 );
141 m_iconScaleSlider =
new STEPPED_SLIDER( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, 100, 50, 275, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS );
146 m_iconScaleAuto =
new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY,
_(
"Automatic"), wxDefaultPosition, wxDefaultSize, 0 );
147 fgSizer11->Add(
m_iconScaleAuto, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 25 );
149 m_staticTextCanvasScale =
new wxStaticText( sbSizerIconsOpts->GetStaticBox(), wxID_ANY,
_(
"Canvas scale:"), wxDefaultPosition, wxDefaultSize, 0 );
153 m_canvasScaleCtrl =
new wxSpinCtrlDouble( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 0, 1 );
157 m_canvasScaleAuto =
new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY,
_(
"Automatic"), wxDefaultPosition, wxDefaultSize, 0 );
158 fgSizer11->Add(
m_canvasScaleAuto, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 25 );
161 fgSizer11->Add( 0, 0, 0, wxEXPAND, 5 );
164 sbSizerIconsOpts->Add( fgSizer11, 1, wxEXPAND|wxRIGHT, 5 );
166 m_checkBoxIconsInMenus =
new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY,
_(
"Show icons in menus"), wxDefaultPosition, wxDefaultSize, 0 );
170 bLeftSizer->Add( sbSizerIconsOpts, 1, wxEXPAND|wxALL, 5 );
173 bPanelSizer->Add( bLeftSizer, 1, wxEXPAND|wxBOTTOM, 5 );
175 wxBoxSizer* rightSizer;
176 rightSizer =
new wxBoxSizer( wxVERTICAL );
178 wxStaticBoxSizer* sbSizer51;
179 sbSizer51 =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Pan and Zoom") ), wxVERTICAL );
181 m_ZoomCenterOpt =
new wxCheckBox( sbSizer51->GetStaticBox(), wxID_ANY,
_(
"Ce&nter and warp cursor on zoom"), wxDefaultPosition, wxDefaultSize, 0 );
182 m_ZoomCenterOpt->SetToolTip(
_(
"Center the cursor on screen when zooming.") );
186 m_MousewheelPANOpt =
new wxCheckBox( sbSizer51->GetStaticBox(), wxID_ANY,
_(
"Use touchpad to pan"), wxDefaultPosition, wxDefaultSize, 0 );
187 m_MousewheelPANOpt->SetToolTip(
_(
"Enable touchpad-friendly controls (pan with scroll action, zoom with Ctrl+scroll).") );
191 m_AutoPANOpt =
new wxCheckBox( sbSizer51->GetStaticBox(),
wxID_AUTOPAN,
_(
"&Pan while moving object"), wxDefaultPosition, wxDefaultSize, 0 );
192 m_AutoPANOpt->SetToolTip(
_(
"When drawing a track or moving an item, pan when approaching the edge of the display.") );
194 sbSizer51->Add(
m_AutoPANOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
197 rightSizer->Add( sbSizer51, 0, wxEXPAND|wxALL, 5 );
199 wxStaticBoxSizer* sbSizer4;
200 sbSizer4 =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Editing") ), wxVERTICAL );
202 m_PreferSelectToDrag =
new wxCheckBox( sbSizer4->GetStaticBox(), wxID_ANY,
_(
"Prefer selection to dragging"), wxDefaultPosition, wxDefaultSize, 0 );
205 m_warpMouseOnMove =
new wxCheckBox( sbSizer4->GetStaticBox(), wxID_ANY,
_(
"Warp mouse to origin of moved object"), wxDefaultPosition, wxDefaultSize, 0 );
208 m_NonImmediateActions =
new wxCheckBox( sbSizer4->GetStaticBox(), wxID_ANY,
_(
"First hotkey selects tool"), wxDefaultPosition, wxDefaultSize, 0 );
209 m_NonImmediateActions->SetToolTip(
_(
"If not checked, hotkeys will immediately perform an action even if the relevant tool was not previously selected.") );
214 rightSizer->Add( sbSizer4, 1, wxEXPAND|wxALL, 5 );
217 bPanelSizer->Add( rightSizer, 0, wxEXPAND|wxALL, 5 );
220 this->SetSizer( bPanelSizer );
222 bPanelSizer->Fit(
this );
wxSpinCtrlDouble * m_canvasScaleCtrl
virtual void onUpdateUIPdfPath(wxUpdateUIEvent &event)
wxCheckBox * m_PreferSelectToDrag
wxTextCtrl * m_textEditorPath
wxCheckBox * m_ZoomCenterOpt
wxSpinCtrl * m_fileHistorySize
wxCheckBox * m_checkBoxIconsInMenus
wxRadioButton * m_otherPDFViewer
wxCheckBox * m_AutoPANOpt
wxStaticText * m_staticTextautosave
wxCheckBox * m_canvasScaleAuto
virtual void OnPDFViewerClick(wxCommandEvent &event)
wxBitmapButton * m_pdfViewerBtn
wxChoice * m_antialiasingFallback
STEPPED_SLIDER * m_iconScaleSlider
wxCheckBox * m_warpMouseOnMove
PANEL_COMMON_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)
wxChoice * m_antialiasing
virtual void OnTextEditorClick(wxCommandEvent &event)
virtual void OnScaleSlider(wxScrollEvent &event)
wxRadioButton * m_defaultPDFViewer
wxStaticText * m_staticTextCanvasScale
wxTextCtrl * m_PDFViewerPath
~PANEL_COMMON_SETTINGS_BASE()
wxCheckBox * m_NonImmediateActions
wxCheckBox * m_iconScaleAuto
virtual void OnIconScaleAuto(wxCommandEvent &event)
wxBitmapButton * m_textEditorBtn
wxCheckBox * m_MousewheelPANOpt
Customized wxSlider with forced stepping.
virtual void OnCanvasScaleAuto(wxCommandEvent &event)
wxStaticText * m_staticTextFileHistorySize
wxStaticText * m_staticTexticonscale