12PANEL_MOUSE_SETTINGS_BASE::PANEL_MOUSE_SETTINGS_BASE( wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString&
name ) :
RESETTABLE_PANEL( parent, id, pos, size, style,
name )
15 bSizer10 =
new wxBoxSizer( wxVERTICAL );
18 bSizer1 =
new wxBoxSizer( wxVERTICAL );
20 m_panZoomLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Pan and Zoom"), wxDefaultPosition, wxDefaultSize, 0 );
24 m_staticline1 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
28 bSizer8 =
new wxBoxSizer( wxVERTICAL );
30 wxGridBagSizer* gbSizer1;
31 gbSizer1 =
new wxGridBagSizer( 0, 0 );
32 gbSizer1->SetFlexibleDirection( wxBOTH );
33 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
35 m_checkZoomCenter =
new wxCheckBox(
this, wxID_ANY,
_(
"Center and warp cursor on zoom"), wxDefaultPosition, wxDefaultSize, 0 );
38 gbSizer1->Add(
m_checkZoomCenter, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
41 gbSizer1->Add( 30, 0, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
43 m_checkAutoPan =
new wxCheckBox(
this, wxID_ANY,
_(
"Automatically pan while moving object"), wxDefaultPosition, wxDefaultSize, 0 );
44 m_checkAutoPan->SetToolTip(
_(
"When drawing a track or moving an item, pan when approaching the edge of the display.") );
46 gbSizer1->Add(
m_checkAutoPan, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALL, 5 );
48 m_checkZoomAcceleration =
new wxCheckBox(
this, wxID_ANY,
_(
"Use zoom acceleration"), wxDefaultPosition, wxDefaultSize, 0 );
55 m_staticText1 =
new wxStaticText(
this, wxID_ANY,
_(
"Zoom speed:"), wxDefaultPosition, wxDefaultSize, 0 );
59 m_zoomSpeed =
new wxSlider(
this, wxID_ANY, 5, 1, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL );
61 m_zoomSpeed->SetToolTip(
_(
"How far to zoom in for each rotation of the mouse wheel") );
66 m_checkAutoZoomSpeed =
new wxCheckBox(
this, wxID_ANY,
_(
"Automatic"), wxDefaultPosition, wxDefaultSize, 0 );
73 gbSizer1->Add(
m_zoomSizer, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxEXPAND|wxTOP, 5 );
77 m_staticText22 =
new wxStaticText(
this, wxID_ANY,
_(
"Auto pan speed:"), wxDefaultPosition, wxDefaultSize, 0 );
81 m_autoPanSpeed =
new wxSlider(
this, wxID_ANY, 5, 1, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL );
82 m_autoPanSpeed->SetToolTip(
_(
"How fast to pan when moving an object off the edge of the screen") );
88 gbSizer1->Add(
m_panSizer, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxEXPAND|wxTOP, 5 );
91 gbSizer1->AddGrowableCol( 0 );
92 gbSizer1->AddGrowableCol( 1 );
93 gbSizer1->AddGrowableCol( 2 );
95 bSizer8->Add( gbSizer1, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
98 bSizer1->Add( bSizer8, 0, wxEXPAND|wxRIGHT, 10 );
101 bSizer1->Add( 0, 15, 0, wxEXPAND, 5 );
103 m_dragLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Drag Gestures"), wxDefaultPosition, wxDefaultSize, 0 );
105 bSizer1->Add(
m_dragLabel, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 13 );
107 m_staticline3 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
108 bSizer1->Add(
m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
111 bSizer9 =
new wxBoxSizer( wxVERTICAL );
114 bSizer9->Add( 0, 5, 0, wxEXPAND, 5 );
116 wxFlexGridSizer* fgSizer1;
117 fgSizer1 =
new wxFlexGridSizer( 0, 3, 5, 5 );
118 fgSizer1->AddGrowableCol( 2 );
119 fgSizer1->SetFlexibleDirection( wxHORIZONTAL );
120 fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
122 m_leftButtonDragLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Left button drag:"), wxDefaultPosition, wxDefaultSize, 0 );
126 wxString m_choiceLeftButtonDragChoices[] = {
_(
"Draw selection rectangle"),
_(
"Drag selected objects; otherwise draw selection rectangle"),
_(
"Drag any object (selected or not)") };
127 int m_choiceLeftButtonDragNChoices =
sizeof( m_choiceLeftButtonDragChoices ) /
sizeof( wxString );
128 m_choiceLeftButtonDrag =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceLeftButtonDragNChoices, m_choiceLeftButtonDragChoices, 0 );
133 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
135 m_staticText3 =
new wxStaticText(
this, wxID_ANY,
_(
"Middle button drag:"), wxDefaultPosition, wxDefaultSize, 0 );
137 fgSizer1->Add(
m_staticText3, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
139 wxString m_choiceMiddleButtonDragChoices[] = {
_(
"Pan"),
_(
"Zoom"),
_(
"None") };
140 int m_choiceMiddleButtonDragNChoices =
sizeof( m_choiceMiddleButtonDragChoices ) /
sizeof( wxString );
141 m_choiceMiddleButtonDrag =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceMiddleButtonDragNChoices, m_choiceMiddleButtonDragChoices, 0 );
146 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
148 m_staticText31 =
new wxStaticText(
this, wxID_ANY,
_(
"Right button drag:"), wxDefaultPosition, wxDefaultSize, 0 );
150 fgSizer1->Add(
m_staticText31, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
152 wxString m_choiceRightButtonDragChoices[] = {
_(
"Pan"),
_(
"Zoom"),
_(
"None") };
153 int m_choiceRightButtonDragNChoices =
sizeof( m_choiceRightButtonDragChoices ) /
sizeof( wxString );
154 m_choiceRightButtonDrag =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceRightButtonDragNChoices, m_choiceRightButtonDragChoices, 0 );
159 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
161 m_panMoveKeyLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Pan on mouse movement with key:"), wxDefaultPosition, wxDefaultSize, 0 );
163 fgSizer1->Add(
m_panMoveKeyLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
165 wxString m_choicePanMoveKeyChoices[] = {
_(
"None"),
_(
"Alt"),
_(
"Ctrl"),
_(
"Shift") };
166 int m_choicePanMoveKeyNChoices =
sizeof( m_choicePanMoveKeyChoices ) /
sizeof( wxString );
167 m_choicePanMoveKey =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choicePanMoveKeyNChoices, m_choicePanMoveKeyChoices, 0 );
169 fgSizer1->Add(
m_choicePanMoveKey, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
172 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
175 bSizer9->Add( fgSizer1, 1, wxEXPAND|wxALL, 5 );
178 bSizer1->Add( bSizer9, 0, wxEXPAND|wxLEFT, 5 );
181 bSizer1->Add( 0, 15, 0, wxEXPAND, 5 );
183 m_scrollLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Scroll Gestures"), wxDefaultPosition, wxDefaultSize, 0 );
185 bSizer1->Add(
m_scrollLabel, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 13 );
187 m_staticline2 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
188 bSizer1->Add(
m_staticline2, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
190 wxBoxSizer* bTouchpadModeSizer;
191 bTouchpadModeSizer =
new wxBoxSizer( wxHORIZONTAL );
193 m_touchpadModeLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Touchpad navigation:"), wxDefaultPosition, wxDefaultSize, 0 );
197 wxString m_choiceTouchpadModeChoices[] = {
_(
"Native gestures (recommended)"),
_(
"Configurable scroll gestures") };
198 int m_choiceTouchpadModeNChoices =
sizeof( m_choiceTouchpadModeChoices ) /
sizeof( wxString );
199 m_choiceTouchpadMode =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceTouchpadModeNChoices, m_choiceTouchpadModeChoices, 0 );
201 m_choiceTouchpadMode->SetToolTip(
_(
"Native gestures use two-finger movement to pan and pinch to zoom. Mouse wheel mappings remain active in both modes.") );
206 bSizer1->Add( bTouchpadModeSizer, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
208 wxBoxSizer* bMargins;
209 bMargins =
new wxBoxSizer( wxHORIZONTAL );
211 wxBoxSizer* bSizerLeft;
212 bSizerLeft =
new wxBoxSizer( wxVERTICAL );
215 bSizer4 =
new wxBoxSizer( wxHORIZONTAL );
217 m_staticText21 =
new wxStaticText(
this, wxID_ANY,
_(
"Vertical touchpad or scroll wheel movement:"), wxDefaultPosition, wxDefaultSize, 0 );
219 bSizer4->Add(
m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
221 m_scrollWarning =
new wxStaticBitmap(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
222 m_scrollWarning->SetToolTip(
_(
"Only one action can be assigned to each column") );
227 bSizerLeft->Add( bSizer4, 0, wxEXPAND, 5 );
229 wxFlexGridSizer* fgSizer2;
230 fgSizer2 =
new wxFlexGridSizer( 0, 6, 8, 0 );
231 fgSizer2->AddGrowableCol( 0 );
232 fgSizer2->SetFlexibleDirection( wxBOTH );
233 fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
235 m_staticText19 =
new wxStaticText(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
237 fgSizer2->Add(
m_staticText19, 0, wxALIGN_RIGHT|wxTOP|wxRIGHT|wxLEFT, 5 );
239 m_staticText17 =
new wxStaticText(
this, wxID_ANY,
_(
"--"), wxDefaultPosition, wxDefaultSize, 0 );
241 fgSizer2->Add(
m_staticText17, 0, wxTOP|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
243 m_lblCtrl =
new wxStaticText(
this, wxID_ANY,
_(
"Ctrl"), wxDefaultPosition, wxDefaultSize, 0 );
245 fgSizer2->Add(
m_lblCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
247 m_staticText8 =
new wxStaticText(
this, wxID_ANY,
_(
"Shift"), wxDefaultPosition, wxDefaultSize, 0 );
249 fgSizer2->Add(
m_staticText8, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
251 m_lblAlt =
new wxStaticText(
this, wxID_ANY,
_(
"Alt"), wxDefaultPosition, wxDefaultSize, 0 );
253 fgSizer2->Add(
m_lblAlt, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
255 m_staticText18 =
new wxStaticText(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
257 fgSizer2->Add(
m_staticText18, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
259 m_staticText10 =
new wxStaticText(
this, wxID_ANY,
_(
"Zoom:"), wxDefaultPosition, wxDefaultSize, 0 );
261 fgSizer2->Add(
m_staticText10, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
263 m_rbZoomNone =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
264 fgSizer2->Add(
m_rbZoomNone, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
266 m_rbZoomCtrl =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
267 fgSizer2->Add(
m_rbZoomCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
269 m_rbZoomShift =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
270 fgSizer2->Add(
m_rbZoomShift, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
272 m_rbZoomAlt =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
273 fgSizer2->Add(
m_rbZoomAlt, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
275 m_checkZoomReverse =
new wxCheckBox(
this, wxID_ANY,
_(
"Reverse"), wxDefaultPosition, wxDefaultSize, 0 );
278 m_staticText11 =
new wxStaticText(
this, wxID_ANY,
_(
"Pan up/down:"), wxDefaultPosition, wxDefaultSize, 0 );
280 fgSizer2->Add(
m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
282 m_rbPanVNone =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
283 fgSizer2->Add(
m_rbPanVNone, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
285 m_rbPanVCtrl =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
286 fgSizer2->Add(
m_rbPanVCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
288 m_rbPanVShift =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
289 fgSizer2->Add(
m_rbPanVShift, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
291 m_rbPanVAlt =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
292 fgSizer2->Add(
m_rbPanVAlt, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
294 m_staticText211 =
new wxStaticText(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
298 m_staticText20 =
new wxStaticText(
this, wxID_ANY,
_(
"Pan left/right:"), wxDefaultPosition, wxDefaultSize, 0 );
300 fgSizer2->Add(
m_staticText20, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
302 m_rbPanHNone =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
303 fgSizer2->Add(
m_rbPanHNone, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
305 m_rbPanHCtrl =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
306 fgSizer2->Add(
m_rbPanHCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
308 m_rbPanHShift =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
309 fgSizer2->Add(
m_rbPanHShift, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
311 m_rbPanHAlt =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
312 fgSizer2->Add(
m_rbPanHAlt, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
314 m_checkPanHReverse =
new wxCheckBox(
this, wxID_ANY,
_(
"Reverse"), wxDefaultPosition, wxDefaultSize, 0 );
315 fgSizer2->Add(
m_checkPanHReverse, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
318 fgSizer2->Add( 0, 10, 1, wxEXPAND, 5 );
321 fgSizer2->Add( 42, 0, 1, wxEXPAND, 5 );
324 fgSizer2->Add( 42, 0, 1, wxEXPAND, 5 );
327 fgSizer2->Add( 42, 0, 1, wxEXPAND, 5 );
330 fgSizer2->Add( 42, 0, 1, wxEXPAND, 5 );
333 bSizerLeft->Add( fgSizer2, 0, wxRIGHT|wxLEFT, 24 );
335 m_checkEnablePanH =
new wxCheckBox(
this, wxID_ANY,
_(
"Pan left/right with horizontal movement"), wxDefaultPosition, wxDefaultSize, 0 );
336 m_checkEnablePanH->SetToolTip(
_(
"Pan the canvas left and right when scrolling left to right on the touchpad") );
341 bMargins->Add( bSizerLeft, 1, wxEXPAND|wxLEFT, 5 );
343 wxBoxSizer* bSizerRight;
344 bSizerRight =
new wxBoxSizer( wxVERTICAL );
346 m_mouseDefaults =
new wxButton(
this, wxID_ANY,
_(
"Reset to Mouse Defaults"), wxDefaultPosition, wxDefaultSize, 0 );
347 bSizerRight->Add(
m_mouseDefaults, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
349 m_trackpadDefaults =
new wxButton(
this, wxID_ANY,
_(
"Reset to Configurable Touchpad Defaults"), wxDefaultPosition, wxDefaultSize, 0 );
353 bMargins->Add( bSizerRight, 0, wxEXPAND|wxLEFT, 5 );
356 bSizer1->Add( bMargins, 1, wxEXPAND|wxTOP|wxRIGHT, 10 );
359 bSizer10->Add( bSizer1, 1, 0, 5 );
362 this->SetSizer( bSizer10 );
364 bSizer10->Fit(
this );