16 #ifndef __WXDRAWING_H__
17 #define __WXDRAWING_H__
24 #include <wx/numdlg.h>
25 #include "a2dprivate.h"
46 DECLARE_MENU_ITEMID( CmdMenu_ChangeCanvasObjectStyle )
47 DECLARE_MENU_ITEMID( CmdMenu_ChangeCentralStyle )
48 DECLARE_MENU_ITEMID( CmdMenu_SetLayer )
49 DECLARE_MENU_ITEMID( CmdMenu_SetTarget )
50 DECLARE_MENU_ITEMID( CmdMenu_SetDrawWireFrame )
51 DECLARE_MENU_ITEMID( CmdMenu_DrawGridLines )
52 DECLARE_MENU_ITEMID( CmdMenu_DrawGridAtFront )
53 DECLARE_MENU_ITEMID( CmdMenu_SetYAxis )
54 DECLARE_MENU_ITEMID( CmdMenu_Option_SplinePoly )
55 DECLARE_MENU_ITEMID( CmdMenu_Option_CursorCrosshair )
56 DECLARE_MENU_ITEMID( CmdMenu_Option_RescaleAtReSize )
57 DECLARE_MENU_ITEMID( CmdMenu_Option_ReverseLayers )
59 DECLARE_MENU_ITEMID( CmdMenu_RouteMethod_StraightEndSegment )
60 DECLARE_MENU_ITEMID( CmdMenu_RouteMethod_StraightEndSegmentUnlessPins )
61 DECLARE_MENU_ITEMID( CmdMenu_RouteMethod_StraightSegment )
62 DECLARE_MENU_ITEMID( CmdMenu_RouteMethod_StraightSegmentUnlessPins )
63 DECLARE_MENU_ITEMID( CmdMenu_RouteMethod_GridRouting )
64 DECLARE_MENU_ITEMID( CmdMenu_RouteMethod_ManhattanSegments )
65 DECLARE_MENU_ITEMID( CmdMenu_RouteMethod_ManhattanEndSegments )
66 DECLARE_MENU_ITEMID( CmdMenu_RouteMethod_ManhattanEndSegmentsStay )
67 DECLARE_MENU_ITEMID( CmdMenu_RouteMethod_ManhattanEndSegmentsConvertAndStay )
69 DECLARE_MENU_ITEMID( CmdMenu_RotateObject90Left )
70 DECLARE_MENU_ITEMID( CmdMenu_RotateObject90Right )
72 DECLARE_MENU_ITEMID( CmdMenu_Refresh )
73 DECLARE_MENU_ITEMID( CmdMenu_ZoomOut )
74 DECLARE_MENU_ITEMID( CmdMenu_ZoomOut2 )
75 DECLARE_MENU_ITEMID( CmdMenu_ZoomIn2 )
76 DECLARE_MENU_ITEMID( CmdMenu_ZoomOut2CondSelected )
77 DECLARE_MENU_ITEMID( CmdMenu_ZoomIn2CondSelected )
78 DECLARE_MENU_ITEMID( CmdMenu_EmptyShownObject )
79 DECLARE_MENU_ITEMID( CmdMenu_DrawGrid )
80 DECLARE_MENU_ITEMID( CmdMenu_SetSnap )
81 DECLARE_MENU_ITEMID( CmdMenu_SetSnapFeatures )
82 DECLARE_MENU_ITEMID( CmdMenu_SetSnapFeature )
83 DECLARE_MENU_ITEMID( CmdMenu_SetStroke )
84 DECLARE_MENU_ITEMID( CmdMenu_SetFill )
85 DECLARE_MENU_ITEMID( CmdMenu_SetStrokeColour )
86 DECLARE_MENU_ITEMID( CmdMenu_SetFillColour )
87 DECLARE_MENU_ITEMID( CmdMenu_SetContourWidth )
88 DECLARE_MENU_ITEMID( CmdMenu_SetPathType )
89 DECLARE_MENU_ITEMID( CmdMenu_SetNormalizeFactor )
91 DECLARE_MENU_ITEMID( CmdMenu_ShowDiagram )
92 DECLARE_MENU_ITEMID( CmdMenu_ShowSymbol )
93 DECLARE_MENU_ITEMID( CmdMenu_ShowGui )
96 DECLARE_MENU_ITEMID( CmdMenu_PushInto )
97 DECLARE_MENU_ITEMID( CmdMenu_PopOut )
98 DECLARE_MENU_ITEMID( CmdMenu_NewGroup )
99 DECLARE_MENU_ITEMID( CmdMenu_NewPin )
100 DECLARE_MENU_ITEMID( CmdMenu_SaveLayersDrawing )
101 DECLARE_MENU_ITEMID( CmdMenu_SaveLayersDrawingHome )
102 DECLARE_MENU_ITEMID( CmdMenu_SaveLayersDrawingLastDir )
103 DECLARE_MENU_ITEMID( CmdMenu_SaveLayersDrawingCurrentDir )
104 DECLARE_MENU_ITEMID( CmdMenu_LoadLayersDrawing )
105 DECLARE_MENU_ITEMID( CmdMenu_LoadLayersDrawingHome )
106 DECLARE_MENU_ITEMID( CmdMenu_LoadLayersDrawingLastDir )
107 DECLARE_MENU_ITEMID( CmdMenu_LoadLayersDrawingCurrentDir )
109 DECLARE_MENU_ITEMID( CmdMenu_SetCursor )
110 DECLARE_MENU_ITEMID( CmdMenu_SetRelativeStart )
111 DECLARE_MENU_ITEMID( CmdMenu_AddMeasurement )
112 DECLARE_MENU_ITEMID( CmdMenu_ClearMeasurements )
114 DECLARE_MENU_ITEMID( CmdMenu_Selected_SelectAll )
115 DECLARE_MENU_ITEMID( CmdMenu_Selected_DeSelectAll )
116 DECLARE_MENU_ITEMID( CmdMenu_Selected_SelectAll_NoUndo )
117 DECLARE_MENU_ITEMID( CmdMenu_Selected_DeSelectAll_NoUndo )
118 DECLARE_MENU_ITEMID( CmdMenu_Selected_Delete )
119 DECLARE_MENU_ITEMID( CmdMenu_Selected_Group )
120 DECLARE_MENU_ITEMID( CmdMenu_Selected_ImageToRectangles )
121 DECLARE_MENU_ITEMID( CmdMenu_Selected_ToTop )
122 DECLARE_MENU_ITEMID( CmdMenu_Selected_ToBack )
123 DECLARE_MENU_ITEMID( CmdMenu_Selected_SetStyle )
124 DECLARE_MENU_ITEMID( CmdMenu_Selected_SetExtStyle )
125 DECLARE_MENU_ITEMID( CmdMenu_Selected_SetTextChanges )
126 DECLARE_MENU_ITEMID( CmdMenu_Selected_SetTextChanges2 )
127 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertToPolygonPolylinesWithArcs )
128 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertToPolygonPolylinesWithoutArcs )
129 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertToPolylines )
130 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertLinesArcs )
131 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertToVPaths )
132 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertPolygonToArcs )
133 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertPolylineToArcs )
134 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertPolygonToSurface )
135 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertSurfaceToPolygon )
136 DECLARE_MENU_ITEMID( CmdMenu_Selected_ConvertPathToPolygon )
137 DECLARE_MENU_ITEMID( CmdMenu_Selected_UnGroup )
138 DECLARE_MENU_ITEMID( CmdMenu_Selected_UnGroupDeep )
139 DECLARE_MENU_ITEMID( CmdMenu_Selected_Merge )
140 DECLARE_MENU_ITEMID( CmdMenu_Selected_Offset )
141 DECLARE_MENU_ITEMID( CmdMenu_Selected_CreateRing )
142 DECLARE_MENU_ITEMID( CmdMenu_Selected_CameleonDiagram )
143 DECLARE_MENU_ITEMID( CmdMenu_Selected_CameleonSymbol )
144 DECLARE_MENU_ITEMID( CmdMenu_Selected_FlattenCameleon )
145 DECLARE_MENU_ITEMID( CmdMenu_Selected_CloneCameleonFromInst )
146 DECLARE_MENU_ITEMID( CmdMenu_Selected_MoveXY )
147 DECLARE_MENU_ITEMID( CmdMenu_Selected_MoveLayer )
148 DECLARE_MENU_ITEMID( CmdMenu_Selected_CopyXY )
149 DECLARE_MENU_ITEMID( CmdMenu_Selected_CopyLayer )
150 DECLARE_MENU_ITEMID( CmdMenu_Selected_Transform )
151 DECLARE_MENU_ITEMID( CmdMenu_Selected_Rotate )
153 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MinX )
154 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MaxX )
155 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MinY )
156 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MaxY )
157 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MidX )
158 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MidY )
159 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorVert )
160 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorHorz )
161 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorVertBbox )
162 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorHorzBbox )
163 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_DistributeVert )
164 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_DistributeHorz )
165 DECLARE_MENU_ITEMID( CmdMenu_Selected_RotateObject90Left )
166 DECLARE_MENU_ITEMID( CmdMenu_Selected_RotateObject90Right )
167 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MinX_Dest )
168 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MaxX_Dest )
169 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MinY_Dest )
170 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MaxY_Dest )
171 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MidX_Dest )
172 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MidY_Dest )
173 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorVert_Dest )
174 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorHorz_Dest )
175 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorVertBbox_Dest )
176 DECLARE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorHorzBbox_Dest )
179 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_Offset )
180 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_Smooth )
181 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_CreateRing )
182 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_Delete )
183 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_Move )
184 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_Copy )
185 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_ToArcs )
186 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_Or )
187 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_And )
188 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_Exor )
189 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_AsubB )
190 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_BsubA )
191 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_ConvertPolygonToSurface )
192 DECLARE_MENU_ITEMID( CmdMenu_GroupAB_ConvertSurfaceToPolygon )
196 DECLARE_MENU_ITEMID( CmdMenu_PopTool )
199 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Zoom_OneShot )
200 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastZoom_OneShot )
201 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Select_OneShot )
202 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Select2_OneShot )
203 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastSelect_OneShot )
204 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastSelect2_OneShot )
205 DECLARE_MENU_ITEMID( CmdMenu_PushTool_RecursiveEdit_OneShot )
206 DECLARE_MENU_ITEMID( CmdMenu_PushTool_MultiEdit_OneShot )
207 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Drag_OneShot )
208 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DragOriginal_OneShot )
209 DECLARE_MENU_ITEMID( CmdMenu_PushTool_RenderImageZoom_OneShot )
210 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Copy_OneShot )
211 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Rotate_OneShot )
212 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Delete_OneShot )
213 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawText_OneShot )
214 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Image_OneShot )
215 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawRectangleFast_OneShot )
216 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawRectangle_OneShot )
217 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawCircle_OneShot )
218 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawCircleFast_OneShot )
219 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawLine_OneShot )
220 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawLineScaledArrow_OneShot )
221 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawEllipse_OneShot )
222 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawEllipticArc_OneShot )
223 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawEllipticArc_Chord_OneShot )
224 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawArc_OneShot )
225 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawArc_Chord_OneShot )
226 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolylineL_OneShot )
227 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolylineL_Splined_OneShot )
228 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolylineLFast_OneShot )
229 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolygonL_OneShot )
230 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolygonL_Splined_OneShot )
231 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolygonLFast_OneShot )
232 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Property_OneShot )
233 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DragMulti_OneShot )
234 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastDragMulti_OneShot )
235 DECLARE_MENU_ITEMID( CmdMenu_PushTool_CopyMulti_OneShot )
236 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastCopyMulti_OneShot )
237 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Measure_OneShot )
238 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawWirePolylineL_OneShot )
239 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawVPath_OneShot )
241 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Zoom )
242 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastZoom )
243 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Select )
244 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Select2 )
245 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastSelect )
246 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastSelect2 )
247 DECLARE_MENU_ITEMID( CmdMenu_PushTool_RecursiveEdit )
248 DECLARE_MENU_ITEMID( CmdMenu_PushTool_MultiEdit )
249 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Drag )
250 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DragOriginal )
251 DECLARE_MENU_ITEMID( CmdMenu_PushTool_RenderImageZoom )
252 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Copy )
253 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Rotate )
254 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Delete )
255 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawText )
256 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Image )
257 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawRectangleFast )
258 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawRectangle )
259 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawCircle )
260 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawCircleFast )
261 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawLine )
262 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawLineScaledArrow )
263 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawEllipse )
264 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawEllipticArc )
265 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawEllipticArc_Chord )
266 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawArc )
267 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawArc_Chord )
268 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolylineL )
269 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolylineL_Splined )
270 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolylineLFast )
271 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolygonL )
272 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolygonL_Splined )
273 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawPolygonLFast )
274 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Property )
275 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DragMulti )
276 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastDragMulti )
277 DECLARE_MENU_ITEMID( CmdMenu_PushTool_CopyMulti )
278 DECLARE_MENU_ITEMID( CmdMenu_PushTool_FastCopyMulti )
279 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Measure )
280 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawWirePolylineL )
281 DECLARE_MENU_ITEMID( CmdMenu_PushTool_DrawVPath )
282 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Port )
283 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Cameleon )
284 DECLARE_MENU_ITEMID( CmdMenu_PushTool_Cameleon_BuildIn )
285 DECLARE_MENU_ITEMID( CmdMenu_PushTool_CameleonInst )
286 DECLARE_MENU_ITEMID( CmdMenu_PushTool_CameleonInstDlg )
287 DECLARE_MENU_ITEMID( CmdMenu_PushTool_CameleonRefDlg )
288 DECLARE_MENU_ITEMID( CmdMenu_PushTool_CameleonRefDlg_Diagram )
289 DECLARE_MENU_ITEMID( CmdMenu_PushTool_CameleonRefDlg_Symbol )
290 DECLARE_MENU_ITEMID( CmdMenu_PushTool_TagGroups )
291 DECLARE_MENU_ITEMID( CmdMenu_PushTool_TagGroups_WireMode )
292 DECLARE_MENU_ITEMID( CmdMenu_PushTool_TagGroups_DlgMode )
293 DECLARE_MENU_ITEMID( CmdMenu_PushTool_TagGroups_WireMode_DlgMode )
294 DECLARE_MENU_ITEMID( CmdMenu_PushTool_SingleClick )
296 DECLARE_MENU_ITEMID( CmdMenu_InsertGroupRef )
298 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgLayersDrawing )
299 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgLayersGlobal )
300 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgLayerOrderDrawing )
301 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgLayerOrderGlobal )
302 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgTools )
303 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgStyle )
304 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgSnap )
305 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgGroups )
306 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgIdentify )
307 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgCoordEntry )
308 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgMeasure )
309 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgStructure )
310 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgStructureModal )
311 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgCameleonModal )
312 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgPathSettings )
313 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgSettings )
314 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgTrans )
315 DECLARE_MENU_ITEMID( CmdMenu_ShowDlgPropEdit )
317 DECLARE_MENU_ITEMID( CmdMenu_SetFont )
319 DECLARE_MENU_ITEMID( CmdMenu_SetMasterTool_SelectFirst )
320 DECLARE_MENU_ITEMID( CmdMenu_SetMasterTool_ZoomFirst )
321 DECLARE_MENU_ITEMID( CmdMenu_SetMasterTool_TagGroups )
322 DECLARE_MENU_ITEMID( CmdMenu_SetMasterTool_TagGroups_WireMode )
323 DECLARE_MENU_ITEMID( CmdMenu_SetMasterTool_TagGroups_WireMode_DlgMode )
324 DECLARE_MENU_ITEMID( CmdMenu_SetMasterTool_TagGroups_DlgMode )
325 DECLARE_MENU_ITEMID( CmdMenu_SetMasterTool_SingleClick )
326 DECLARE_MENU_ITEMID( CmdMenu_LineBegin )
327 DECLARE_MENU_ITEMID( CmdMenu_LineEnd )
328 DECLARE_MENU_ITEMID( CmdMenu_LineScale )
330 DECLARE_MENU_ITEMID( CmdMenu_SetLayerDlg )
331 DECLARE_MENU_ITEMID( CmdMenu_SetTargetDlg )
332 DECLARE_MENU_ITEMID( CmdMenu_SetLayerDlgModeless )
333 DECLARE_MENU_ITEMID( CmdMenu_SetBackgroundStyle )
335 DECLARE_MENU_ITEMID( CmdMenu_PrintDrawing )
336 DECLARE_MENU_ITEMID( CmdMenu_PreviewDrawing )
337 DECLARE_MENU_ITEMID( CmdMenu_PrintDrawingPart )
338 DECLARE_MENU_ITEMID( CmdMenu_PreviewDrawingPart )
355 const wxString& message,
356 const wxString& prompt,
357 const wxString& caption,
358 double value,
double min,
double max,
359 const wxPoint& pos = wxDefaultPosition );
365 void OnOK( wxCommandEvent& event );
367 void OnCancel( wxCommandEvent& event );
381 DECLARE_EVENT_TABLE()
391 double A2DCANVASDLLEXP
393 const wxString& prompt,
394 const wxString& caption,
398 wxWindow* parent = ( wxWindow* )NULL,
399 const wxPoint& pos = wxDefaultPosition );
402 typedef wxUint16 a2dDrawingId;
436 DECLARE_EVENT_TABLE()
440 static const a2dDrawingId sm_cameleonrefs;
441 static const a2dDrawingId sm_normal;
442 static const a2dDrawingId sm_physical;
443 static const a2dDrawingId sm_programming;
444 static const a2dDrawingId sm_appearances;
454 a2dHabitat* GetHabitat()
const {
return m_habitat; }
456 void SetHabitat(
a2dHabitat* habitat ) { m_habitat = habitat; }
461 void SetParent( a2dObject* parent ) { m_parent = parent; }
471 void SetRootRecursive();
499 void SetLayerSetup(
a2dLayers* layersetup );
513 static void SetSaveLayersInit(
bool saveLayers ) { m_saveLayersInit = saveLayers; }
515 void SetInitLayersGlobal(
bool initLayersGlobal ) { m_initLayersGlobal = initLayersGlobal; }
517 static void SetInitLayersGlobalInit(
bool initLayersGlobal ) { m_initLayersGlobalInit = initLayersGlobal; }
531 { m_initialSizeX = sizeX; m_initialSizeY = sizeY; }
546 virtual void CreateCommandProcessor();
583 void SetUpdatesPending(
bool onoff );
590 void DependencyPending();
593 bool GetUpdatesPending();
605 void SetIgnorePendingObjects(
bool onoff );
615 void UpdateAllViews(
unsigned int hint, wxObject* objecthint = NULL );
639 bool AddPendingUpdatesOldNew();
651 void Modify(
bool increment );
718 void SetUnits(
const wxString& unitString ) { m_units = unitString; }
735 void SetTitle(
const wxString& title );
763 #if wxART2D_USE_CVGIO
766 #endif //wxART2D_USE_CVGIO
768 bool LinkReference( a2dObject* other );
789 bool ProcessEvent( wxEvent& event );
793 virtual a2dObject* DoClone( CloneOptions options,
a2dRefMap* refs )
const;
804 void OnChangeDrawings( a2dDrawingEvent& event );
818 void OnIdle( wxIdleEvent& event );
822 #if wxART2D_USE_CVGIO
827 #endif //wxART2D_USE_CVGIO
829 a2dDrawingId m_drawingId;
854 long m_documentModified;
882 wxDateTime m_lastCheck;
890 static bool m_saveLayersInit;
892 bool m_initLayersGlobal;
894 static bool m_initLayersGlobalInit;
898 wxString m_description;
904 virtual a2dObject* SmrtPtrOwn();
911 virtual bool SmrtPtrRelease();
919 BEGIN_DECLARE_EVENT_TYPES()
921 DECLARE_EXPORTED_EVENT_TYPE( A2DCANVASDLLEXP, wxEVT_UPDATE_DRAWING, 1 )
922 DECLARE_EXPORTED_EVENT_TYPE( A2DCANVASDLLEXP, wxEVT_CHANGEDMODIFY_DRAWING, 1 )
924 END_DECLARE_EVENT_TYPES()
933 class A2DCANVASDLLEXP a2dDrawingEvent : public
a2dEvent
945 : a2dEvent( 0, wxEVT_UPDATE_DRAWING )
947 m_updateHint = updateHint;
948 SetEventObject( drawing );
951 a2dDrawingEvent(
int theId, wxEventType commandType,
a2dDrawing* drawing )
952 : a2dEvent( theId, commandType )
955 SetEventObject( drawing );
962 m_updateHint =
event.m_updateHint;
965 virtual wxEvent* Clone()
const {
return new a2dDrawingEvent( *
this ); }
967 unsigned int GetUpdateHint() {
return m_updateHint; }
971 int GetModified() {
return m_modified; }
973 void SetModified(
int modifications ) { m_modified = modifications; }
979 unsigned int m_updateHint;
983 typedef void ( wxEvtHandler::*a2dDrawingEventFunction )( a2dDrawingEvent& );
984 #define a2dDrawingEventHandler(func) \
985 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(a2dDrawingEventFunction, &func)
988 #define EVT_UPDATE_DRAWING(func) wx__DECLARE_EVT0( wxEVT_UPDATE_DRAWING, a2dDrawingEventHandler( func ))
991 #define EVT_CHANGEDMODIFY_DRAWING(func) wx__DECLARE_EVT0( wxEVT_CHANGEDMODIFY_DRAWING, a2dDrawingEventHandler( func ))
1006 class A2DCANVASDLLEXP ExecDlg;
1027 #define DECLARE_CMH_HABITAT() \
1029 inline a2dCanvasCommandProcessor* GetCanvasCmp() { return wxStaticCast( m_cmp, a2dCanvasCommandProcessor ); } \
1030 a2dHabitat* GetDrawHabitat() \
1032 assert( GetCanvasCmp() ); \
1033 assert( GetCanvasCmp()->m_drawing ); \
1034 return GetCanvasCmp()->m_drawing->GetHabitat(); \
1048 DECLARE_EVENT_TABLE()
1057 static const a2dCommandId COMID_ShowDlgLayerOrderDocument;
1058 static const a2dCommandId COMID_ShowDlgLayerOrderGlobal;
1076 static bool StaticProcessEvent( wxUpdateUIEvent& event );
1078 void OnUpdateMenu( wxUpdateUIEvent& event );
1080 static void DefaultOnUpdateMenu( wxUpdateUIEvent& event );
1082 void OnPushToolUpdateMenu( wxUpdateUIEvent& event );
1091 void OnMenu( wxCommandEvent& event );
1094 void OnPushToolMenu( wxCommandEvent& event );
1096 bool Print( wxUint16 printWhat );
1097 bool Preview( wxUint16 printWhat );
1103 wxString AskFile(
const wxString& message,
const wxString& default_path =
"",
1104 const wxString& default_filename =
"",
const wxString& default_extension =
"",
1105 const wxString& wildcard =
"*.*",
int flags = 0,
1106 int x = -1,
int y = -1 );
1109 void SetUndo(
bool withUndo ) { m_withUndo = withUndo; }
1121 virtual bool Undo();
1123 virtual bool Redo();
1128 #if wxUSE_PRINTING_ARCHITECTURE
1129 wxPageSetupDialogData* GetPageSetupData(
void )
const {
return m_pageSetupData; }
1130 void SetPageSetupData(
const wxPageSetupDialogData& pageSetupData ) { *m_pageSetupData = pageSetupData; }
1131 void SetPageSetupData( wxPageSetupDialogData* pageSetupData );
1141 bool IsShownToolDlg();
1143 bool IsShowna2dStyleDialog();
1145 bool IsShownLayerPropertiesDialog();
1147 bool IsShownLayerOrderDialog();
1149 bool IsShownIdentifyDialog();
1151 bool IsShowna2dSnapSettings();
1153 bool IsShowna2dCoordinateEntry();
1155 bool IsShowna2dMeasureDlg();
1157 bool IsShowna2dPathSettings();
1159 bool IsShowna2dSettings();
1161 bool IsShowna2dTransDlg();
1165 bool IsShownStructureDlg();
1168 bool ShowDlgStyle(
bool onOff );
1170 bool SaveLayers(
const wxFileName& fileName );
1172 bool LoadLayers(
const wxFileName& fileName );
1176 virtual bool PushTool(
const a2dCommandId& whichTool,
bool shiftadd =
false,
bool oneshot =
false );
1213 void SetCurrentCanvasObject(
a2dCanvasObject* currentcanvasobject,
bool takeOverProperties =
true );
1234 a2dOrigin* Add_a2dOrigin(
double w,
double h );
1237 a2dHandle* Add_a2dHandle(
double xc,
double yc,
int w,
int h,
double angle = 0 ,
int radius = 0 );
1240 a2dRectC* Add_a2dRectC(
double xc,
double yc,
double w,
double h,
double angle = 0 ,
double radius = 0 );
1243 a2dArrow* Add_a2dArrow(
double xt,
double yt,
double l1,
double l2,
double b,
bool spline =
false );
1246 a2dRect* Add_a2dRect(
double x,
double y,
double w,
double h ,
double radius = 0 );
1249 a2dCircle* Add_a2dCircle(
double x,
double y,
double radius );
1252 a2dEllipse* Add_a2dEllipse(
double xc,
double yc,
double width,
double height );
1255 a2dEllipticArc* Add_a2dEllipticArc(
double xc,
double yc,
double width,
double height,
double start,
double end );
1258 a2dArc* Add_a2dArc(
double xc,
double yc,
double radius,
double start,
double end );
1261 a2dSLine* Add_a2dSLine(
double x1,
double y1,
double x2,
double y2 );
1264 a2dEndsLine* Add_a2dEndsLine(
double x1,
double y1,
double x2,
double y2 );
1267 a2dImage* Add_a2dImage(
const wxImage& image,
double xc,
double yc,
double w,
double h );
1270 a2dImage* Add_a2dImage(
const wxString& imagefile, wxBitmapType type,
double xc,
double yc,
double w,
double h );
1273 a2dText* Add_a2dText(
const wxString& text,
double x,
double y,
double angle,
const a2dFont& font );
1282 bool Add_Point(
double x,
double y );
1285 bool Move_Point(
int index ,
double x,
double y );
1287 void SetZoomFactor(
double zoomfactor ) { m_zoomfactor = zoomfactor; }
1288 double GetZoomFactor() {
return m_zoomfactor; }
1291 bool Zoom(
double x1,
double y1,
double x2,
double y2,
bool upp );
1300 bool ZoomRealSize(
double scaleFromRealSize,
bool selected );
1305 bool Select(
double x1,
double y1,
double x2,
double y2 );
1308 bool DeSelect(
double x1,
double y1,
double x2,
double y2 );
1325 void ClearMeasurements();
1326 void AddMeasurement(
double x,
double y );
1327 void SetRelativeStart(
double x,
double y );
1329 static const a2dSignal sig_ClearMeasurements;
1330 static const a2dSignal sig_AddMeasurement;
1331 static const a2dSignal sig_SetRelativeStart;
1357 double m_meas_x, m_meas_y;
1359 double m_zoomfactor;
1361 bool InsertGroupRef();
1391 #if wxUSE_PRINTING_ARCHITECTURE
1422 DECLARE_CMH_HABITAT()
1461 DECLARE_CMH_HABITAT()
1497 DECLARE_CMH_HABITAT()
1530 DECLARE_CMH_HABITAT()
1562 DECLARE_CMH_HABITAT()
1600 virtual a2dCommand* CloneAndBind( a2dObject*
object );
1605 DECLARE_CMH_HABITAT()
1635 virtual a2dCommand* CloneAndBind( a2dObject*
object );
1640 DECLARE_CMH_HABITAT()
1646 a2dPin::a2dPinFlagsMask m_which;
1648 a2dPin::a2dPinFlagsMask m_oldmask;
1663 bool index =
false,
bool rewire =
false,
1665 const a2dCommandId& commandTypeId = sm_noCommandTypeId,
1666 const wxString& menuString = wxEmptyString
1672 inline a2dCommand* TClone(
CloneOptions options = clone_deep,
a2dRefMap* refs = NULL ) {
return ( a2dCommand* ) Clone( options, refs ); }
1680 DECLARE_CMH_HABITAT()
1730 virtual a2dCommand* CloneAndBind( a2dObject*
object );
1736 DECLARE_CMH_HABITAT()
1769 virtual a2dCommand* CloneAndBind( a2dObject*
object );
1775 DECLARE_CMH_HABITAT()
1787 #include <wx/listimpl.cpp>
1803 m_transform = transform;
1835 bool PostDo(
void );
1839 DECLARE_CMH_HABITAT()
1848 a2dObjectMatrixList m_objectsMatrix;
1874 DECLARE_CMH_HABITAT()
1883 a2dObjectMatrixList m_objectsMatrix;
1905 MirrorVert = 0x00000020,
1906 MirrorHorz = 0x00000040,
1907 MirrorVertBbox = 0x00000080,
1908 MirrorHorzBbox = 0x00000100,
1909 DistributeVert = 0x00000200,
1910 DistributeHorz = 0x00000400,
1911 MIDY_Dest = 0x00010000,
1912 MIDX_Dest = 0x00020000,
1913 MINX_Dest = 0x00040000,
1914 MAXX_Dest = 0x00080000,
1915 MINY_Dest = 0x00100000,
1916 MAXY_Dest = 0x00200000,
1917 MirrorVert_Dest = 0x00400000,
1918 MirrorHorz_Dest = 0x00800000,
1919 MirrorVertBbox_Dest = 0x01000000,
1920 MirrorHorzBbox_Dest = 0x02000000,
1921 DistributeVert_Dest = 0x04000000,
1922 DistributeHorz_Dest = 0x08000000
1936 bool PostDo(
void );
1940 DECLARE_CMH_HABITAT()
1949 a2dObjectMatrixList m_objectsMatrix;
1977 DECLARE_CMH_HABITAT()
1988 bool m_afterinversion;
2014 DECLARE_CMH_HABITAT()
2024 bool m_afterinversion;
2050 DECLARE_CMH_HABITAT()
2058 bool m_afterinversion;
2087 DECLARE_CMH_HABITAT()
2090 unsigned
int m_index;
2118 DECLARE_CMH_HABITAT()
2146 DECLARE_CMH_HABITAT()
2157 bool m_afterinversion;
2178 int caret,
const a2dFont& font,
double linespace,
unsigned int textflags );
2184 a2dText* GetTextObject() {
return m_canvasobject; }
2186 DECLARE_CMH_HABITAT()
2194 unsigned int m_textflags;
2225 DECLARE_CMH_HABITAT()
2262 : a2dCommand_SetProperty( object, property ) {}
2273 : a2dCommand_SetProperty( object, id, value ) {}
2285 : a2dCommand_SetProperty( object, id, value ) {}
2297 : a2dCommand_SetProperty( object, id, value ) {}
2309 : a2dCommand_SetProperty( object, id, value ) {}
2321 : a2dCommand_SetProperty( object, id, value ) {}
2333 : a2dCommand_SetProperty( object, id, value ) {}
2345 : a2dCommand_SetProperty( object, id, value ) {}
2357 : a2dCommand_SetProperty( object, id, value ) {}
2397 virtual a2dCommand* CloneAndBind( a2dObject*
object );
2402 DECLARE_CMH_HABITAT()
2428 DECLARE_CMH_HABITAT()
2456 DECLARE_CMH_HABITAT()
2513 A2D_ARGUMENT_SETTER( wxUint16, layer )
2514 A2D_ARGUMENT_SETTER(
double, x1 )
2515 A2D_ARGUMENT_SETTER(
double, y1 )
2516 A2D_ARGUMENT_SETTER(
double, x2 )
2517 A2D_ARGUMENT_SETTER(
double, y2 )
2518 A2D_ARGUMENT_SETTER(
bool, layervisible )
2519 A2D_ARGUMENT_SETTER(
bool, layerselectable )
2530 bool layerselectable;
2542 bool layerselectable;
2558 delete m_oldobjects;
2561 DECLARE_CMH_HABITAT()
2581 virtual bool Undo();
2625 Boolean_Surface2Polygon
2635 argSet.clearTarget =
false;
2636 argSet.selectedA =
false;
2637 argSet.selectedB =
false;
2638 argSet.fileNameOut =
false;
2639 argSet.detectCircle =
false;
2648 A2D_ARGUMENT_SETTER( wxUint16, target )
2649 A2D_ARGUMENT_SETTER(
bool, clearTarget )
2650 A2D_ARGUMENT_SETTER(
bool, selectedA )
2651 A2D_ARGUMENT_SETTER(
bool, selectedB )
2652 A2D_ARGUMENT_SETTER( wxString, fileNameOut )
2653 A2D_ARGUMENT_SETTER(
bool, detectCircle )
2663 wxString fileNameOut;
2684 DECLARE_CMH_HABITAT()
2697 virtual bool Undo();
2731 A2D_ARGUMENT_SETTER( wxString, name )
2732 A2D_ARGUMENT_SETTER( wxUint16, layer )
2733 A2D_ARGUMENT_SETTER(
double, x )
2734 A2D_ARGUMENT_SETTER(
double, y )
2759 DECLARE_CMH_HABITAT()
2778 wxString groupname = m_args.argValue.name;
2779 if ( groupname.IsEmpty() )
2781 wxTextEntryDialog getname( NULL, wxT(
"Give group name:" ), wxT(
"Group name" ) );
2782 if ( wxID_OK == getname.ShowModal() )
2783 groupname = getname.GetValue();
2785 groupname = wxT(
"Not Specified" );
2789 group->
SetLayer( m_args.argValue.layer );
2791 group->SetIgnoreLayer(
true );
2793 m_parent->
Prepend( groupref );
2829 A2D_ARGUMENT_SETTER( wxString, name )
2830 A2D_ARGUMENT_SETTER(
double, x )
2831 A2D_ARGUMENT_SETTER(
double, y )
2854 DECLARE_CMH_HABITAT()
2870 if ( !m_args.argSet.name )
2871 m_args.argValue.name = wxGetTextFromUser( _(
"give name of new pin:" ) );
2872 long ang = wxGetNumberFromUser( _(
"Give pin angle:" ), _(
"angle:" ), _(
"pin angle" ), 0, -360, 360 );
2914 DECLARE_CMH_HABITAT()
2954 DECLARE_CMH_HABITAT()
2985 DECLARE_CMH_HABITAT()
3016 DECLARE_CMH_HABITAT()
3043 m_toTarget = toTarget;
3057 DECLARE_CMH_HABITAT()
3090 m_toTarget = toTarget;
3104 DECLARE_CMH_HABITAT()
3149 DECLARE_CMH_HABITAT()
3193 DECLARE_CMH_HABITAT()
3219 long target = -1,
bool layerFirstObject =
false,
bool clearorg =
true,
3220 int depth = 20 ): a2dCommand(
true, Id )
3224 m_takeLayerFirstObject = layerFirstObject;
3226 m_clearorg = clearorg;
3237 delete m_mergedObjects;
3244 DECLARE_CMH_HABITAT()
3247 bool m_takeLayerFirstObject;
3260 return new a2dCommand_MergeMask( m_parent, m_mask, m_target, m_takeLayerFirstObject, m_clearorg, m_depth );
3274 long target = -1,
bool layerFirstObject =
false,
bool clearorg =
true,
3275 int depth = 20 ): a2dCommand(
true, Id )
3279 m_takeLayerFirstObject = layerFirstObject;
3281 m_clearorg = clearorg;
3292 delete m_offsetObjects;
3299 DECLARE_CMH_HABITAT()
3302 bool m_takeLayerFirstObject;
3315 return new a2dCommand_OffsetMask( m_parent, m_mask, m_target, m_takeLayerFirstObject, m_clearorg, m_depth );
3329 long target = -1,
bool layerFirstObject =
false,
bool clearorg =
true,
3330 int depth = 20 ): a2dCommand(
true, Id )
3334 m_takeLayerFirstObject = layerFirstObject;
3336 m_clearorg = clearorg;
3347 delete m_offsetObjects;
3354 DECLARE_CMH_HABITAT()
3357 bool m_takeLayerFirstObject;
3384 long target = -1,
bool layerFirstObject =
false,
bool clearorg =
true,
3385 int depth = 20 ): a2dCommand(
true, Id )
3389 m_takeLayerFirstObject = layerFirstObject;
3391 m_clearorg = clearorg;
3402 delete m_offsetObjects;
3409 DECLARE_CMH_HABITAT()
3412 bool m_takeLayerFirstObject;
3452 delete m_oldobjects;
3459 DECLARE_CMH_HABITAT()
3498 delete m_oldobjects;
3505 DECLARE_CMH_HABITAT()
3542 DECLARE_CMH_HABITAT()
3580 DECLARE_CMH_HABITAT()
3620 delete m_oldobjects;
3627 DECLARE_CMH_HABITAT()
3652 enum SetWhat { visible, selectable, readable, filling };
3656 m_layerSetup = layerSetup;
3669 DECLARE_CMH_HABITAT()
3717 argSet.clearTarget =
false;
3719 argSet.deleteOriginal =
false;
3720 argSet.keepLayer =
false;
3721 argSet.clearTarget =
false;
3722 argSet.detectCircle =
false;
3723 argSet.detectCircle =
false;
3737 A2D_ARGUMENT_SETTER(
long, target )
3739 A2D_ARGUMENT_SETTER(
bool, deleteOriginal )
3740 A2D_ARGUMENT_SETTER(
bool, keepLayer )
3741 A2D_ARGUMENT_SETTER(
bool, clearTarget )
3742 A2D_ARGUMENT_SETTER(
bool, detectCircle )
3750 bool deleteOriginal;
3759 bool what, target, mask, deleteOriginal, keepLayer, clearTarget, detectCircle, parent;
3772 bool deleteOriginal =
true,
bool keepLayer =
true )
3773 : a2dCommand( true, Id )
3775 m_args.what( what ).target( target ).mask( mask ).deleteOriginal( deleteOriginal ).keepLayer( keepLayer ).parent( parent );
3783 delete m_newobjects;
3785 delete m_maskobjects;
3794 DECLARE_CMH_HABITAT()
3800 a2dlist<
long > m_objectsIndex;
3828 argSet.canvasobject =
false;
3838 A2D_ARGUMENT_SETTER( wxInt32, index )
3839 A2D_ARGUMENT_SETTER( wxString, name )
3840 A2D_ARGUMENT_SETTER(
bool, selected )
3862 m_drawingPart = drawingPart;
3867 virtual bool Undo();
3869 DECLARE_CMH_HABITAT()
3903 argSet.canvasobject =
false;
3911 A2D_ARGUMENT_SETTER( wxString, name )
3912 A2D_ARGUMENT_SETTER(
bool, selected )
3932 m_drawingPart = drawingPart;
3937 virtual bool Undo();
3939 DECLARE_CMH_HABITAT()
3996 A2D_ARGUMENT_SETTER( wxUint16, layer )
4019 DECLARE_CMH_HABITAT()
4032 if ( m_args.argValue.what == SetGroupA )
4034 GetDrawHabitat()->GetGroupA() = m_args.argValue.group;
4036 else if ( m_args.argValue.what == SetGroupB )
4038 GetDrawHabitat()->GetGroupB() = m_args.argValue.group;
4040 else if ( m_args.argValue.what == AddGroupA )
4042 GetDrawHabitat()->GetGroupA().push_back( m_args.argValue.layer );
4044 else if ( m_args.argValue.what == AddGroupB )
4046 GetDrawHabitat()->GetGroupB().push_back( m_args.argValue.layer );
4048 else if ( m_args.argValue.what == ClearGroupA )
4050 GetDrawHabitat()->GetGroupA().clear();
4052 else if ( m_args.argValue.what == ClearGroupB )
4054 GetDrawHabitat()->GetGroupB().clear();
4091 m_value = GetDrawHabitat()->GetStroke();
4093 a2dStroke val = GetDrawHabitat()->GetStroke();
4094 GetDrawHabitat()->SetStroke( m_value );
4104 DECLARE_CMH_HABITAT()
4125 a2dFill val = GetDrawHabitat()->GetFill();
4126 GetDrawHabitat()->SetFill( m_value );
4136 DECLARE_CMH_HABITAT()
4170 a2dStroke stroke = GetDrawHabitat()->GetStroke();
4182 DECLARE_CMH_HABITAT()
4207 a2dFill fill = GetDrawHabitat()->GetFill();
4219 DECLARE_CMH_HABITAT()
4253 A2D_ARGUMENT_SETTER(
double, x )
4254 A2D_ARGUMENT_SETTER(
double, y )
4255 A2D_ARGUMENT_SETTER(
bool, polar )
4256 A2D_ARGUMENT_SETTER(
bool, relative )
4257 A2D_ARGUMENT_SETTER(
bool, snapped )
4289 double GetX()
const {
return m_args.argValue.x; }
4290 double GetY()
const {
return m_args.argValue.y; }
4296 DECLARE_CMH_HABITAT()
4299 double m_xold, m_yold;
4337 DECLARE_CMH_HABITAT()
static const a2dCanvasObjectFlagsMask SELECTED2
Display Part of a a2dDrawing, in which a2dCanvasObjects are shown.
a2dCircle at x,y, and with radius
a2dCanvasObject * GetCurrentCanvasObject()
get the current canvas object to add to parent as child
a2dCanvasObjectList m_maskedObjects
objects found with required mask
wxPoint2DDouble a2dPoint2D
this to define if coordinate numbers are integer or doubles
used to move points in polygon objects
virtual bool Undo()=0
Override this to undo a command.
bool Undo(void)
Override this to undo a command.
used to move points in polygon objects
(In) Visible property that can be added to Docview Objects.
a2dDoWhat
defines what to do
all basic primitives derived from a2dCanvasObject
wxDateTime m_changedTime
gives time when a change was made to the drawing
Base class for all types of strokes, understood by a2dDrawer2D classes.
for changing boolean select2 flag values inside canvas objects
virtual bool Undo()
Undo one command or command group.
objects which fit the mask to bottom in parent (rendered first)
a2dCanvasObjectList * CreateChildObjectList()
create and get the list where the child objects are stored in.
a2dCanvasObjectReference is a reference to any a2dCanvasObject derived class.
convert segments in polygon/polyline with width objects in group A to Arcs where possible ...
virtual bool Redo()
Redo one command or command group.
used to move start or end point in line objects
a2dDoWhat
defines what to do
a2dCommand_SetCanvasProperty(a2dObject *object, const a2dPropertyIdInt16 *id, wxInt16 value)
Set property on object.
double m_initialSizeY
for new document views what will be the size in userunits in Y
a2dHandle is used inside editing versions of a certain objects.
convert segments in polygon/polyline with width objects in group A to Arcs where possible ...
a2dDoWhat
defines what to do
const a2dPrintWhat a2dPRINT_PreviewDrawing
preview print a2dDrawing
objects which fit the mask are converted to rectangles
a2dDrawingId GetDrawingId()
set special id to differentiate drawings
a2dCommand_SetCanvasProperty(a2dObject *object, const a2dPropertyIdInt32 *id, wxInt32 value)
Set property on object.
a2dCanvasObjectFlagsMask m_which
the mask required for the objects to search
class to map references to objects stored in XML, in order to make the connection later on...
a2dlist< long > m_objectsIndex
indexes of found objects
double GetNormalizeScale()
Normalize objects ( defined in coordinates -1 to 1 ranges ) will be multiplied by this factor...
see a2dCommandProcessorEvent
a2dCanvasObjectPtr m_parentObject
parent of found objects
virtual bool Do()=0
Override this to perform a command.
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
wxPageSetupDialogData * m_pageSetupData
this is the global printer page setup data for printer
a2dCanvasObject * GetRootObject() const
get the root object, which holds the objects in the document
a2dPin is used in a2dCanvasObject to add pins to it.
polygon defined with list of points.
used to add points to polygon objects
a2dCommand_SetCanvasProperty(a2dObject *object, const a2dPropertyIdDouble *id, double value)
Set property on object.
a2dCommand_SetCanvasProperty(a2dObject *object, const a2dPropertyIdString *id, const wxString &value)
Set property on object.
double wxGetDoubleNumberFromUser(const wxString &message, const wxString &prompt, const wxString &caption, double value=0, double min=0, double max=100, wxWindow *parent=(wxWindow *) NULL, const wxPoint &pos=wxDefaultPosition)
get Double from user
used to add objects to a a2dCanvasDocument in the current parent
objects which fit the mask to top in parent (rendered last)
objects which fit the mask are merge into one new object
add a layer to a operation group B
bool m_updatespending
set by object in this a2dCanvasDocument, to tell they have changed and therefore it needs to be reren...
convert segments in polygon/polyline objects in group A to Arcs where possible
a2dDrawingEvent(const a2dDrawingEvent &event)
constructor
Defines a font to be set to a2dDrawer2D or stored in a2dCanvsObject etc.
Input and output handler for the XmlSer format.
a command processor specially designed to work with a a2dCanvasDocument
convert shapes to polylines even if polygons
convert to simple polygons and polylines
objects which fit the mask are offset corrected
bool GetUndo()
get undo storage setting
a2dCommand_SetCanvasProperty(a2dObject *object, const a2dPropertyIdUint32 *id, wxUint32 value)
Set property on object.
a2dRectC is a centered rectangle
wxTextCtrl * m_textctrl
the text control top get the double entry
A trivial base class for a2dSmrtPtr. Non-template class, so that it can.
a2dCanvasObjectList * m_maskedObjects
objects found with required mask
add a layer to a operation group A
The base class for all drawable objects in a a2dCanvasDocument.
using a file stream for input, stream the file into a a2dDocument or other object ...
wxString & GetDescription()
Returns the description of the document.
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
convert shapes to vector paths
bool Undo(void)
Override this to undo a command.
for changing only the alignment of objects for which a certain mask was set
void SetDescription(const wxString &desc)
Sets a description of the drawing.
set layer of objects which fit the mask
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
void SetDrawingId(a2dDrawingId id)
get special id to differentiate drawings
a2dCanvasObject is the base class for Canvas Objects.
wxColour GetColour() const
return colour 1
a2dBoundingBox wxNonValidBbox
global non valid boundingbox to use as default argument etc.
objects which fit the mask are offset corrected
void SetMayEdit(bool mayEdit)
if true, editing drawing is allowed
for changing boolean values inside canvas objects
output handler for the CVG format.
bool m_index
produce index of where masked object are found.
static const a2dCommandId Id
Print the current document or view.
a2dLayers * GetLayerSetup()
Get the layersettings for the canvas.
vertex list of line and arc segments.
special a2dCanvasObject which are used to create hierarchy different from the standard a2dCanvasObjec...
bool m_mayEdit
if true, editing drawing is allowed
static const a2dSignal sig_layersetupChanged
layer info changed id sent around when m_layersetup is changed.
virtual void SetName(const wxString &name)
Creates the a2dStringProperty PROPID_Name.
bool IsModified() const
Has the document been modified.
move object within a a2dDrawing
a2dDrawingPart * GetActiveDrawingPart()
return the currently/last active drawing part.
for changing boolean flag values inside pins
a2dSmrtPtr< a2dCommandProcessor > m_commandProcessor
A pointer to the command processor associated with this document.
used to change style of canvas objects in a a2dCanvasDocument
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
wxDateTime & GetInternalChangedTime()
gives time when a change was made to the drawing
clear all layers in operation group B
double GetValue() const
get the double
objects which fit the mask are grouped into a new object
clear all layers in operation group A
vector path a2dVectorPath derived from a2dCanvasObject
a group of commands, used to group commands together for undo/redo
wxString m_units_measure
measuring unit (e.g. Meters Inch Microns etc.)
wxUint64 a2dCanvasObjectFlagsMask
mask flags for a2dCanvasObject
a2dCommand_SetCanvasProperty(a2dObject *object, const a2dPropertyIdBool *id, bool value)
Set property on object.
Io handler to iterate through a a2dDocument.
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
static const a2dCommandId Id
Print the current document or view.
general style dialog to edit a2dCanvasObject style
add a layer to a operation group B
static const a2dSignal sig_changedLayer
when an object is removed from a layer,
bool GetIgnorePendingObjects()
get setting of ignore pending objects /sa GetUpdatesPending()
bool Do(void)
Override this to perform a command.
a2dText is an abstract base class.
a2dCanvasObjectList * wxNullCanvasObjectList
define a NON a2dCanvasObjectList
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
used to change a property on objects
a2dCanvasObject * m_parent
sets current style object to current canvas object
command on selected objects
void SetSaveLayers(bool saveLayers)
a2dOrigin stays at World Coordinate Zero (0,0) not matter what.
double m_initialSizeX
for new document views what will be the size in userunits in X
void SetColour(const wxColour &col)
set colour used for gradient and wxSTROKE_MASK_OPAQUE filling.
delete objects which fit the mask
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
a2dCommand_SetCanvasProperty(a2dObject *object, const a2dPropertyIdRefObject *id, a2dObject *value)
Set property on object.
a2dEllipse centered at x,y.
polyline defined with list of points.
void SetParent(a2dObject *parent)
set parent object of the drawing ( in case there is always only one )
wxUint16 a2dPrintWhat
defines what to print
double m_units_accuracy
how many decimal places in fraction are valid
used to remove points from polygon objects
wxString m_units
unit (e.g. Meters Inch Microns etc.)
bool Do(void)
Override this to perform a command.
edit properties of a2dCanvasObject's
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
a2dImage (will scale/rotate image when needed)
void SetUnitsAccuracy(double accuracy)
this is the number that defines the number of decimal places in the fraction
double m_value
teh value of the double
bool Do(void)
Override this to perform a command.
a2dCommand_SetCanvasProperty(a2dObject *object, const a2dPropertyIdUint16 *id, wxUint16 value)
Set property on object.
objects which fit the mask are given a new fill and stroke style
objects which fit the mask are given a new fill and stroke style
void SetCommandProcessor(a2dCommandProcessor *proc)
Sets the command processor to be used for this document.
bool m_withUndo
if set, for commands which can undo, will be submitted like that.
a2dSmrtPtr< a2dLayers > m_layersetup
setup for layers in this document
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
static const a2dCommandId Id
Print the current document or view.
used to disconnect two pins
for changing boolean values inside a rectangle of the current parent object.
objects which fit the mask are copied to target and translated
void SetColour(const wxColour &col)
set colour used for gradient and wxSTIPPLE_MASK_OPAQUE filling.
convert to simple polygons and polylines
convert segments in polyline objects in group A to Arcs where possible
void Prepend(a2dCanvasObject *obj)
prepend a a2dCanvasObject to the childobjects
Input and output handler for the XmlSer format.
static const a2dCanvasObjectFlagsMask SELECTED
virtual bool PreDo()
Override this to perform a dependency action before command is done.
used to replace an object in a a2dCanvasDocument in the current parent
convert shapes to polylines even if polygons
double m_units_scale
scaling factor (how many "m_units_measure" is one unit)
a2dCanvasObject * m_parentObject
parent of found objects
const a2dFill * a2dNullFILL
global a2dFill stock object for defining NO filling
a2dCanvasObjectPtr m_target
target object
used to set the complete Segment list/array of polygons
a2dArrow is used for having line begin and ends on specific objects.
void SetNormalizeScale(double scale)
see GetNormalizeScale()
Each a2dCommand is given a command id at construction.
virtual bool Submit(a2dCommand *command, bool storeIt=true)
next to the base class submit, it sets a2DocumentCommandProcessor for a2dCommand
used to add object to a a2dCanvasDocument in the current parent
properties specific for a2dCanvasOject
void SetInitialSize(double sizeX, double sizeY)
set size for view in userunits, when still empty
defines common settinsg for a habitat for a set of a2dCameleons.
bool Undo(void)
Override this to undo a command.
using a file stream for output, stream a a2dDocument or other wxObject into a stream.
const a2dPrintWhat a2dPRINT_PreviewDrawingPart
preview print a2dDrawing Part
A 2x3 affine matrix class for 2D transformations.
a2dCommand_SetCanvasProperty(a2dObject *object, a2dNamedProperty *property)
Set property on object.
static const a2dCommandId Id
used to release object from a a2dCanvasDocument in the current parent
const a2dStroke * a2dNullSTROKE
global a2dStroke stock object for NO stroking
Dialog for displaying/editing layers and properties of layers.
objects which fit the mask are offset corrected
convert segments in polyline objects in group A to Arcs where possible
bool m_rewire
objects connected with pins rewiring is optional
while iterating a a2dCanvasDocument, this holds the context.
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
a2dCanvasObject * m_currentobject
last added object
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
double m_normalize_scale
normalization factor to scale normalized objects.
static const a2dCommandId Id
Print the current document or view.
convert to simple polygons and polylines
a2dDrawingEvent(unsigned int updateHint, a2dDrawing *drawing)
for event types
a2dCommandProcessor * GetCommandProcessor() const
Returns a pointer to the command processor associated with this document.
a2dCanvasObject * GetParentObject()
for changing only the matrix of objects for which a certain mask was set
virtual bool Do()
Override this to perform a command.
a2dDoWhat
defines what to do
used to release object from a a2dCanvasDocument in the current parent
double GetUnitsScale()
this is the number that defines the physical dimension in meters / inch/ etc.
a2dObject * m_parent
in case of a single parent, this can be set.
a2dEndsLine with begin and/or end object.
void SetUnitsScale(double scale)
this is the number that defines the physical dimension in meters / inch/ etc.
wxString GetTitle() const
Returns the title for this document.
static const a2dCommandId Id
used to release object from a a2dCanvasDocument in the current parent
void TriggerChangedTime()
make the changed time Now
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
static a2dPinClass * Standard
Pins of this class can only connect to pins of the same class.
select objects in a rectangle area
wxColour GetColour() const
return colour
bool m_ignorePendingObjects
if set ignore all setting for pendingobjects
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
bool m_AppendOrPrepend
add in front of parent childs or add end
wxString GetUnits()
this string defines the unit e.g. meters / inch/ etc.
layer group A and B commands
convert to simple polygons and polylines
static const a2dCommandId Id
layer group A and B command
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
a2dObject * GetParent() const
bool m_saveLayers
save layers or not
Event sent to a2dCommandProcessor.
objects which fit the mask are given a new font and other text properties
holds a list of layers numbers
void SetUndo(bool withUndo)
set undo storage or not
double GetInitialSizeX()
get size for view in userunits, when still empty
The a2dBoundingBox class stores one a2dBoundingBox of a a2dCanvasObject.
void SetUnits(const wxString &unitString)
this string defines the unit e.g. meters / inch/ etc.
all polygon and polyline a2dCanvasObject are here.
a2dCanvasObjectFlagsMask m_targetMask
target mask for m_target
Input handler for the CVG format.
static const a2dCommandId Id
used to replace an object in a a2dCanvasDocument in the current parent
bool Undo(void)
Override this to undo a command.
double GetUnitsAccuracy()
this is the number that defines the number of decimal places in the fraction
a2dCanvasGlobal * a2dCanvasGlobals
global a2dCanvasGlobal to have easy access to global settings
objects which fit the mask are grouped into a new object
a command wrapper specially designed to work with wxArt2D docview classes and rest.
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
const a2dPrintWhat a2dPRINT_PrintDrawingPart
print a2dDrawing Part
This template class is for property ids with a known data type.
static const a2dCommandId Id
used to add object to a a2dCanvasDocument in the current parent
add a layer to a operation group A
static const a2dCanvasObjectFlagsMask ALL
command on selected objects
virtual bool Undo()
Override this to undo a command.
objects which fit the mask are moved to target and translated
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
bool Do(void)
Override this to perform a command.
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
set all layers visible or not
objects which fit the mask are given an Url property
virtual void SetLayer(wxUint16 layer)
set layer index where this object is drawn upon.
used to change text and caret of canvas text objects in a a2dCanvasDocument
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
objects which fit the mask are converted to polygons or vector paths
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
const a2dPrintWhat a2dPRINT_PrintDrawing
print a2dDrawing
bool GetMayEdit() const
if true, editing drawing is allowed
for changing boolean select flag values inside canvas objects
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
CloneOptions
options for cloning
static const a2dCommandId Id
used to release object from a a2dCanvasDocument in the current parent
convert shapes to seperate lines and arcs
convert shapes to vector paths
double GetInitialSizeY()
get size for view in userunits, when still empty
convert shapes to seperate lines and arcs
Contain one drawing as hierarchical tree of a2dCanvasObject's.
used to change a property on objects
wxDoubleNumberEntryDialog: a dialog with spin control, [ok] and [cancel] buttons
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
a2dEllipticArc centered at x,y
< generate a report of small objects
general canvas module declarations and classes
static const a2dCommandId sm_SetFillStyleCommand
non info.
a base command for the a2dCommandProcessor