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* bMargins;
 
  191    bMargins = 
new wxBoxSizer( wxHORIZONTAL );
 
  193    wxBoxSizer* bSizerLeft;
 
  194    bSizerLeft = 
new wxBoxSizer( wxVERTICAL );
 
  197    bSizer4 = 
new wxBoxSizer( wxHORIZONTAL );
 
  199    m_staticText21 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Vertical touchpad or scroll wheel movement:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  201    bSizer4->Add( 
m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
 
  203    m_scrollWarning = 
new wxStaticBitmap( 
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
 
  204    m_scrollWarning->SetToolTip( 
_(
"Only one action can be assigned to each column") );
 
  209    bSizerLeft->Add( bSizer4, 0, wxEXPAND, 5 );
 
  211    wxFlexGridSizer* fgSizer2;
 
  212    fgSizer2 = 
new wxFlexGridSizer( 0, 6, 8, 0 );
 
  213    fgSizer2->AddGrowableCol( 0 );
 
  214    fgSizer2->SetFlexibleDirection( wxBOTH );
 
  215    fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  217    m_staticText19 = 
new wxStaticText( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  219    fgSizer2->Add( 
m_staticText19, 0, wxALIGN_RIGHT|wxTOP|wxRIGHT|wxLEFT, 5 );
 
  221    m_staticText17 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"--"), wxDefaultPosition, wxDefaultSize, 0 );
 
  223    fgSizer2->Add( 
m_staticText17, 0, wxTOP|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
 
  225    m_lblCtrl = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Ctrl"), wxDefaultPosition, wxDefaultSize, 0 );
 
  227    fgSizer2->Add( 
m_lblCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
 
  229    m_staticText8 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Shift"), wxDefaultPosition, wxDefaultSize, 0 );
 
  231    fgSizer2->Add( 
m_staticText8, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
 
  233    m_lblAlt = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Alt"), wxDefaultPosition, wxDefaultSize, 0 );
 
  235    fgSizer2->Add( 
m_lblAlt, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
 
  237    m_staticText18 = 
new wxStaticText( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  239    fgSizer2->Add( 
m_staticText18, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
 
  241    m_staticText10 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Zoom:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  243    fgSizer2->Add( 
m_staticText10, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  245    m_rbZoomNone = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
 
  246    fgSizer2->Add( 
m_rbZoomNone, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
 
  248    m_rbZoomCtrl = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  249    fgSizer2->Add( 
m_rbZoomCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
 
  251    m_rbZoomShift = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  252    fgSizer2->Add( 
m_rbZoomShift, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 
  254    m_rbZoomAlt = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  255    fgSizer2->Add( 
m_rbZoomAlt, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 
  257    m_checkZoomReverse = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Reverse"), wxDefaultPosition, wxDefaultSize, 0 );
 
  260    m_staticText11 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Pan up/down:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  262    fgSizer2->Add( 
m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  264    m_rbPanVNone = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
 
  265    fgSizer2->Add( 
m_rbPanVNone, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
 
  267    m_rbPanVCtrl = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  268    fgSizer2->Add( 
m_rbPanVCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
 
  270    m_rbPanVShift = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  271    fgSizer2->Add( 
m_rbPanVShift, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
 
  273    m_rbPanVAlt = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  274    fgSizer2->Add( 
m_rbPanVAlt, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
 
  276    m_staticText211 = 
new wxStaticText( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  280    m_staticText20 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Pan left/right:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  282    fgSizer2->Add( 
m_staticText20, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 
  284    m_rbPanHNone = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
 
  285    fgSizer2->Add( 
m_rbPanHNone, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
 
  287    m_rbPanHCtrl = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  288    fgSizer2->Add( 
m_rbPanHCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
 
  290    m_rbPanHShift = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  291    fgSizer2->Add( 
m_rbPanHShift, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 
  293    m_rbPanHAlt = 
new wxRadioButton( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
  294    fgSizer2->Add( 
m_rbPanHAlt, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 
  296    m_checkPanHReverse = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Reverse"), wxDefaultPosition, wxDefaultSize, 0 );
 
  297    fgSizer2->Add( 
m_checkPanHReverse, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
 
  300    fgSizer2->Add( 0, 10, 1, wxEXPAND, 5 );
 
  303    fgSizer2->Add( 42, 0, 1, wxEXPAND, 5 );
 
  306    fgSizer2->Add( 42, 0, 1, wxEXPAND, 5 );
 
  309    fgSizer2->Add( 42, 0, 1, wxEXPAND, 5 );
 
  312    fgSizer2->Add( 42, 0, 1, wxEXPAND, 5 );
 
  315    bSizerLeft->Add( fgSizer2, 0, wxRIGHT|wxLEFT, 24 );
 
  317    m_checkEnablePanH = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Pan left/right with horizontal movement"), wxDefaultPosition, wxDefaultSize, 0 );
 
  318    m_checkEnablePanH->SetToolTip( 
_(
"Pan the canvas left and right when scrolling left to right on the touchpad") );
 
  323    bMargins->Add( bSizerLeft, 1, wxEXPAND|wxLEFT, 5 );
 
  325    wxBoxSizer* bSizerRight;
 
  326    bSizerRight = 
new wxBoxSizer( wxVERTICAL );
 
  328    m_mouseDefaults = 
new wxButton( 
this, wxID_ANY, 
_(
"Reset to Mouse Defaults"), wxDefaultPosition, wxDefaultSize, 0 );
 
  329    bSizerRight->Add( 
m_mouseDefaults, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  331    m_trackpadDefaults = 
new wxButton( 
this, wxID_ANY, 
_(
"Reset to Trackpad Defaults"), wxDefaultPosition, wxDefaultSize, 0 );
 
  335    bMargins->Add( bSizerRight, 0, wxEXPAND|wxLEFT, 5 );
 
  338    bSizer1->Add( bMargins, 1, wxEXPAND|wxTOP|wxRIGHT, 10 );
 
  341    bSizer10->Add( bSizer1, 1, 0, 5 );
 
  344    this->SetSizer( bSizer10 );
 
  346    bSizer10->Fit( 
this );