kicad/eeschema/dialogs/dialog_eeschema_options_base.h

138 lines
4.7 KiB
C
Raw Normal View History

///////////////////////////////////////////////////////////////////////////
- Changed mousewheel handling to pan more smoothly rather than in larger steps to better support devices with precise scrolling deltas (trackpads). Scrolling is done in the handler rather than creating and firing cmd events. This is intended to support two-finger scrolling on the Magic Trackpad. - Added a preference, 'Use mousewheel to pan', to allow panning by default on mousewheel events. This reverses the existing behavior where unmodified mousewheel zooms and Shift/Cmd modified pans. The old behavior was: - Unmodified scrollwheel performed zoom in/out - Shift modified scrollwheel performed pan up/down - Cmd modified scrollwheel performed pan left/right - Shift+Cmd modified scrollwheel performed zoom in/out with no cursor warp With the new preference checked, this changes to: - Unmodified scrollwheel performs pan up/down - Shift modified scrollwheel performs pan left/right - Cmd modified scrollwheel performs zoom in/out - Shift+Cmd modified scrollwheel performs zoom in/out with no cursor warp With the preference unchecked, this is now: - Unmodified scrollwheel performed zoom in/out - Shift modified scrollwheel performed pan left/right - Cmd modified scrollwheel performed pan up/down - Shift+Cmd modified scrollwheel performed zoom in/out with no cursor warp It should be noted that for the last case, the behavior has changed. This is not arbitrary. This now matches expected behavior for an OS X application. This also matches what wxWidgets expects on this platform as wxWidgets changes the axis of mousewheel events to horizontal when the event is shift-modified. The preference is added everwhere that mouse preferences previously existed, i.e., eeschema, pcbnew and gerbview. The 3D Viewer does not yet honor this preference, but behaves as if it was checked. The pl_editor does not currently have any preferences to honor. As with the magnify event support, this covers canvases for all current tools, EDA_DRAW_PANEL, EDA_3D_CANVAS and EDA_DRAW_PANEL_GAL. This does NOT modify the behavior of mousewheel zooming, though it probably should. This remains unsuitable for use with a trackpad, use pinch-to-zoom instead.
2014-10-30 18:53:08 +00:00
// C++ code generated with wxFormBuilder (version Oct 17 2014)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __DIALOG_EESCHEMA_OPTIONS_BASE_H__
#define __DIALOG_EESCHEMA_OPTIONS_BASE_H__
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h>
2014-09-16 19:34:52 +00:00
class DIALOG_SHIM;
#include "dialog_shim.h"
#include <wx/string.h>
#include <wx/stattext.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/choice.h>
#include <wx/spinctrl.h>
#include <wx/sizer.h>
#include <wx/statline.h>
#include <wx/checkbox.h>
#include <wx/panel.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
2014-02-14 23:45:58 +00:00
#include <wx/listctrl.h>
2014-09-16 19:34:52 +00:00
#include <wx/textctrl.h>
#include <wx/statbox.h>
#include <wx/button.h>
2014-02-14 23:45:58 +00:00
#include <wx/notebook.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_EESCHEMA_OPTIONS_BASE
///////////////////////////////////////////////////////////////////////////////
class DIALOG_EESCHEMA_OPTIONS_BASE : public DIALOG_SHIM
{
DECLARE_EVENT_TABLE()
private:
2014-10-08 20:47:42 +00:00
// Private event handlers
2014-09-30 19:55:18 +00:00
void _wxFB_OnSize( wxSizeEvent& event ){ OnSize( event ); }
void _wxFB_OnChooseUnits( wxCommandEvent& event ){ OnChooseUnits( event ); }
void _wxFB_OnMiddleBtnPanEnbl( wxCommandEvent& event ){ OnMiddleBtnPanEnbl( event ); }
2014-09-16 19:34:52 +00:00
void _wxFB_OnTemplateFieldDeselected( wxListEvent& event ){ OnTemplateFieldDeselected( event ); }
void _wxFB_OnTemplateFieldSelected( wxListEvent& event ){ OnTemplateFieldSelected( event ); }
2014-03-07 17:52:43 +00:00
void _wxFB_OnAddButtonClick( wxCommandEvent& event ){ OnAddButtonClick( event ); }
void _wxFB_OnDeleteButtonClick( wxCommandEvent& event ){ OnDeleteButtonClick( event ); }
2014-10-08 20:47:42 +00:00
protected:
enum
{
ID_M_SPINAUTOSAVEINTERVAL = 1000,
2014-03-07 17:52:43 +00:00
xwID_ANY,
wxID_ADD_FIELD,
wxID_DELETE_FIELD
};
2014-10-08 20:47:42 +00:00
wxNotebook* m_notebook1;
wxPanel* m_panel1;
wxStaticText* m_staticText2;
wxChoice* m_choiceUnits;
wxStaticText* m_staticText3;
wxChoice* m_choiceGridSize;
wxStaticText* m_staticGridUnits;
wxStaticText* m_staticText51;
wxSpinCtrl* m_spinBusWidth;
wxStaticText* m_staticBusWidthUnits;
wxStaticText* m_staticText5;
wxSpinCtrl* m_spinLineWidth;
wxStaticText* m_staticLineWidthUnits;
wxStaticText* m_staticText7;
wxSpinCtrl* m_spinTextSize;
wxStaticText* m_staticTextSizeUnits;
wxStaticText* m_staticText9;
wxSpinCtrl* m_spinRepeatHorizontal;
wxStaticText* m_staticRepeatXUnits;
wxStaticText* m_staticText12;
wxSpinCtrl* m_spinRepeatVertical;
wxStaticText* m_staticRepeatYUnits;
wxStaticText* m_staticText16;
wxSpinCtrl* m_spinRepeatLabel;
wxStaticText* m_staticText221;
wxSpinCtrl* m_spinAutoSaveInterval;
wxStaticText* m_staticText23;
wxStaticText* m_staticText26;
wxChoice* m_choiceSeparatorRefId;
wxStaticLine* m_staticline1;
wxCheckBox* m_checkShowGrid;
wxCheckBox* m_checkShowHiddenPins;
wxCheckBox* m_checkEnableZoomNoCenter;
wxCheckBox* m_checkEnableMiddleButtonPan;
wxCheckBox* m_checkMiddleButtonPanLimited;
- Changed mousewheel handling to pan more smoothly rather than in larger steps to better support devices with precise scrolling deltas (trackpads). Scrolling is done in the handler rather than creating and firing cmd events. This is intended to support two-finger scrolling on the Magic Trackpad. - Added a preference, 'Use mousewheel to pan', to allow panning by default on mousewheel events. This reverses the existing behavior where unmodified mousewheel zooms and Shift/Cmd modified pans. The old behavior was: - Unmodified scrollwheel performed zoom in/out - Shift modified scrollwheel performed pan up/down - Cmd modified scrollwheel performed pan left/right - Shift+Cmd modified scrollwheel performed zoom in/out with no cursor warp With the new preference checked, this changes to: - Unmodified scrollwheel performs pan up/down - Shift modified scrollwheel performs pan left/right - Cmd modified scrollwheel performs zoom in/out - Shift+Cmd modified scrollwheel performs zoom in/out with no cursor warp With the preference unchecked, this is now: - Unmodified scrollwheel performed zoom in/out - Shift modified scrollwheel performed pan left/right - Cmd modified scrollwheel performed pan up/down - Shift+Cmd modified scrollwheel performed zoom in/out with no cursor warp It should be noted that for the last case, the behavior has changed. This is not arbitrary. This now matches expected behavior for an OS X application. This also matches what wxWidgets expects on this platform as wxWidgets changes the axis of mousewheel events to horizontal when the event is shift-modified. The preference is added everwhere that mouse preferences previously existed, i.e., eeschema, pcbnew and gerbview. The 3D Viewer does not yet honor this preference, but behaves as if it was checked. The pl_editor does not currently have any preferences to honor. As with the magnify event support, this covers canvases for all current tools, EDA_DRAW_PANEL, EDA_3D_CANVAS and EDA_DRAW_PANEL_GAL. This does NOT modify the behavior of mousewheel zooming, though it probably should. This remains unsuitable for use with a trackpad, use pinch-to-zoom instead.
2014-10-30 18:53:08 +00:00
wxCheckBox* m_checkEnableMousewheelPan;
wxCheckBox* m_checkAutoPan;
wxCheckBox* m_checkHVOrientation;
wxCheckBox* m_checkPageLimits;
wxPanel* m_panel2;
2014-02-14 23:45:58 +00:00
wxListCtrl* templateFieldListCtrl;
2014-09-16 19:34:52 +00:00
wxStaticText* fieldNameLabel;
wxTextCtrl* fieldNameTextCtrl;
wxStaticText* fieldDefaultValueLabel;
wxTextCtrl* fieldDefaultValueTextCtrl;
wxCheckBox* fieldVisibleCheckbox;
2014-02-14 23:45:58 +00:00
wxButton* addFieldButton;
wxButton* deleteFieldButton;
wxStdDialogButtonSizer* m_sdbSizer1;
wxButton* m_sdbSizer1OK;
wxButton* m_sdbSizer1Cancel;
2014-10-08 20:47:42 +00:00
// Virtual event handlers, overide them in your derived class
2014-09-30 19:55:18 +00:00
virtual void OnSize( wxSizeEvent& event ) { event.Skip(); }
virtual void OnChooseUnits( wxCommandEvent& event ) { event.Skip(); }
virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event ) { event.Skip(); }
2014-09-16 19:34:52 +00:00
virtual void OnTemplateFieldDeselected( wxListEvent& event ) { event.Skip(); }
virtual void OnTemplateFieldSelected( wxListEvent& event ) { event.Skip(); }
2014-03-07 17:52:43 +00:00
virtual void OnAddButtonClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnDeleteButtonClick( wxCommandEvent& event ) { event.Skip(); }
2014-10-08 20:47:42 +00:00
public:
2014-10-08 20:47:42 +00:00
DIALOG_EESCHEMA_OPTIONS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Schematic Editor Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
~DIALOG_EESCHEMA_OPTIONS_BASE();
2014-10-08 20:47:42 +00:00
};
#endif //__DIALOG_EESCHEMA_OPTIONS_BASE_H__