00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _SNAP_H_
00013 #define _SNAP_H_
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef wxCLOSE_BOX
00024 #define wxCLOSE_BOX 0x1000
00025 #endif
00026 #ifndef wxFIXED_MINSIZE
00027 #define wxFIXED_MINSIZE 0
00028 #endif
00029
00030 #include "wx/general/generaldef.h"
00031 #include "wx/canextobj/eval.h"
00032
00033 #define ID_SNAP 10011
00034 #define SYMBOL_A2DSNAPSETTINGS_TITLE _("Dialog")
00035 #define SYMBOL_A2DSNAPSETTINGS_POSITION wxDefaultPosition
00036 #define SYMBOL_A2DSNAPSETTINGS_IDNAME ID_SNAP
00037 #define SYMBOL_A2DSNAPSETTINGS_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
00038 #define SYMBOL_A2DSNAPSETTINGS_SIZE wxSize(400, 300)
00039
00040 class A2DEDITORDLLEXP a2dRestrictionEngine;
00041
00042
00043
00044
00045 class a2dSnapSettings: public wxDialog
00046 {
00047 DECLARE_DYNAMIC_CLASS( a2dSnapSettings )
00048 DECLARE_EVENT_TABLE()
00049
00050 public:
00051
00052 a2dSnapSettings( );
00053 a2dSnapSettings( wxWindow* parent, wxWindowID id = SYMBOL_A2DSNAPSETTINGS_IDNAME, const wxString& caption = SYMBOL_A2DSNAPSETTINGS_TITLE, const wxPoint& pos = SYMBOL_A2DSNAPSETTINGS_POSITION, const wxSize& size = SYMBOL_A2DSNAPSETTINGS_SIZE, long style = SYMBOL_A2DSNAPSETTINGS_STYLE );
00054
00055
00056 bool Create( wxWindow* parent, wxWindowID id = SYMBOL_A2DSNAPSETTINGS_IDNAME, const wxString& caption = SYMBOL_A2DSNAPSETTINGS_TITLE, const wxPoint& pos = SYMBOL_A2DSNAPSETTINGS_POSITION, const wxSize& size = SYMBOL_A2DSNAPSETTINGS_SIZE, long style = SYMBOL_A2DSNAPSETTINGS_STYLE );
00057
00058
00059 void CreateControls();
00060
00061
00062
00063
00064 void OnCloseWindow( wxCloseEvent& event );
00065
00066
00067 void OnIdle( wxIdleEvent& event );
00068
00069
00070 void OnSnapallClick( wxCommandEvent& event );
00071
00072
00073 void OnSnapallUpdate( wxUpdateUIEvent& event );
00074
00075
00076 void OnVisibleonlyClick( wxCommandEvent& event );
00077
00078
00079 void OnVisibleonlyUpdate( wxUpdateUIEvent& event );
00080
00081
00082 void OnPosXClick( wxCommandEvent& event );
00083
00084
00085 void OnPosXUpdate( wxUpdateUIEvent& event );
00086
00087
00088 void OnPosYClick( wxCommandEvent& event );
00089
00090
00091 void OnPosYUpdate( wxUpdateUIEvent& event );
00092
00093
00094 void OnPosPinClick( wxCommandEvent& event );
00095
00096
00097 void OnPosPinUpdate( wxUpdateUIEvent& event );
00098
00099
00100 void OnPosPinUnconnClick( wxCommandEvent& event );
00101
00102
00103 void OnPosPinUnconnUpdate( wxUpdateUIEvent& event );
00104
00105
00106 void OnBboxvertexesClick( wxCommandEvent& event );
00107
00108
00109 void OnBboxvertexesUpdate( wxUpdateUIEvent& event );
00110
00111
00112 void OnVertexesClick( wxCommandEvent& event );
00113
00114
00115 void OnVertexesUpdate( wxUpdateUIEvent& event );
00116
00117
00118 void OnPosXObjClick( wxCommandEvent& event );
00119
00120
00121 void OnPosXObjUpdate( wxUpdateUIEvent& event );
00122
00123
00124 void OnPosYObjClick( wxCommandEvent& event );
00125
00126
00127 void OnPosYObjUpdate( wxUpdateUIEvent& event );
00128
00129
00130 void OnPosPointXClick( wxCommandEvent& event );
00131
00132
00133 void OnPosPointXUpdate( wxUpdateUIEvent& event );
00134
00135
00136 void OnPosPointYClick( wxCommandEvent& event );
00137
00138
00139 void OnPosPointYUpdate( wxUpdateUIEvent& event );
00140
00141
00142 void OnPosPointXyClick( wxCommandEvent& event );
00143
00144
00145 void OnPosPointXyUpdate( wxUpdateUIEvent& event );
00146
00147
00148 void OnSnapgridXEnter( wxCommandEvent& event );
00149
00150
00151 void OnSnapgridXUpdate( wxUpdateUIEvent& event );
00152
00153
00154 void OnSnapgridYEnter( wxCommandEvent& event );
00155
00156
00157 void OnSnapgridYUpdate( wxUpdateUIEvent& event );
00158
00159
00160 void OnSnaporiginXEnter( wxCommandEvent& event );
00161
00162
00163 void OnSnaporiginXUpdate( wxUpdateUIEvent& event );
00164
00165
00166 void OnSnaporiginYEnter( wxCommandEvent& event );
00167
00168
00169 void OnSnaporiginYUpdate( wxUpdateUIEvent& event );
00170
00171
00172 void OnRotsnapangleEnter( wxCommandEvent& event );
00173
00174
00175 void OnRotsnapangleUpdate( wxUpdateUIEvent& event );
00176
00177
00178 void OnSnapthresholdEnter( wxCommandEvent& event );
00179
00180
00181 void OnSnapthresholdUpdate( wxUpdateUIEvent& event );
00182
00183
00184 void OnSnappointxEnter( wxCommandEvent& event );
00185
00186
00187 void OnSnappointxUpdate( wxUpdateUIEvent& event );
00188
00189
00190 void OnSnappointyEnter( wxCommandEvent& event );
00191
00192
00193 void OnSnappointyUpdate( wxUpdateUIEvent& event );
00194
00195
00196
00197
00198
00199
00200 wxBitmap GetBitmapResource( const wxString& name );
00201
00202
00203 wxIcon GetIconResource( const wxString& name );
00204
00205
00206
00207 static bool ShowToolTips();
00208
00209
00210 wxCheckBox* m_snapEnabled;
00211 wxCheckBox* m_visibleOnly;
00212 wxCheckBox* m_gridX;
00213 wxCheckBox* m_gridY;
00214 wxCheckBox* m_pins;
00215 wxCheckBox* m_pinsConn;
00216 wxCheckBox* m_bboxvertexes;
00217 wxCheckBox* m_vertexes;
00218 wxCheckBox* m_objPosX;
00219 wxCheckBox* m_objPosY;
00220 wxCheckBox* m_pointPosX;
00221 wxCheckBox* m_pointPosY;
00222 wxCheckBox* m_pointPosXY;
00223 wxTextCtrl* m_gridDistX;
00224 wxTextCtrl* m_gridDistY;
00225 wxTextCtrl* m_orgX;
00226 wxTextCtrl* m_orgY;
00227 wxTextCtrl* m_rotation;
00228 wxTextCtrl* m_threshold;
00229 wxTextCtrl* m_snapPointX;
00230 wxTextCtrl* m_snapPointY;
00231 a2dRestrictionEngine* m_restrict;
00232
00233 };
00234
00235 #endif
00236