21 #include <wx/wfstream.h>
24 #include <wx/tokenzr.h>
28 #if wxUSE_STD_IOSTREAM
29 #include "wx/ioswrap.h"
36 #include "wx/wfstream.h"
51 #include "wx/canvas/pathsettings.h"
58 #include "wx/canvas/transdlg.h"
59 #include "wx/canvas/settingsdlg.h"
60 #include "wx/canvas/snap.h"
61 #include "wx/canvas/canorderdlg.h"
62 #include "wx/canvas/execdlg.h"
65 #include "wx/canvas/camcreate.h"
67 #if defined(__WXMSW__) && defined(__MEMDEBUG__)
68 #include <wx/msw/msvcrt.h>
83 bool a2dDrawing::m_saveLayersInit =
true;
84 bool a2dDrawing::m_initLayersGlobalInit =
true;
88 const a2dSignal
a2dDrawing::sig_layersetupChanged = wxNewId();
89 const a2dSignal
a2dDrawing::sig_changedLayer = wxNewId();
91 const a2dDrawingId
a2dDrawing::sm_cameleonrefs = wxNewId();
92 const a2dDrawingId
a2dDrawing::sm_normal = wxNewId();
93 const a2dDrawingId
a2dDrawing::sm_physical = wxNewId();
94 const a2dDrawingId
a2dDrawing::sm_programming = wxNewId();
95 const a2dDrawingId
a2dDrawing::sm_appearances = wxNewId();
97 DEFINE_EVENT_TYPE( wxEVT_UPDATE_DRAWING )
98 DEFINE_EVENT_TYPE( wxEVT_CHANGEDMODIFY_DRAWING )
103 EVT_IDLE( a2dDrawing::OnIdle )
106 EVT_DO( a2dDrawing::OnDoEvent )
115 if ( event.GetCommand()->Modifies() )
149 m_documentModified++;
151 m_documentModified--;
154 event.SetEventObject(
this );
155 event.SetModified( increment ? +1 : -1 );
156 if ( !ProcessEvent( event ) )
175 m_initLayersGlobal = m_initLayersGlobalInit;
192 m_documentModified = 0;
193 m_drawingId = sm_normal;
197 m_rootObject->SetIgnoreLayer(
true );
198 m_saveStartObject = m_rootObject;
207 m_lastCheck = wxDateTime::Now();
216 m_habitat = other.m_habitat;
224 m_drawingId = other.m_drawingId;
228 m_initLayersGlobal = other.m_initLayersGlobal;
230 m_lastCheck = wxDateTime::Now();
237 m_documentModified = 0;
245 m_rootObject = other.m_rootObject;
247 m_saveStartObject = m_rootObject;
253 m_lastCheck = wxDateTime::Now();
256 a2dDrawing::~a2dDrawing()
267 bool a2dDrawing::SmrtPtrRelease()
271 wxASSERT_MSG(
m_refcount >= 0, wxT(
"a2dDrawing::Release Negative reference count" ) );
295 ProcessEvent( changedlayers );
298 bool a2dDrawing::ProcessEvent( wxEvent& event )
300 bool processed =
false;
303 if ( GetEvtHandlerEnabled() )
309 processed =
m_parent->ProcessEvent( event );
312 processed = a2dObject::ProcessEvent( event );
333 void a2dDrawing::DoAddPending(
a2dIterC& ic )
345 wxString name = other->
GetName();
348 if ( m_rootObject.Get() )
359 return new a2dDrawing( *
this, options, refs );
362 void a2dDrawing::SetAvailable()
370 wxASSERT_MSG( newRoot, wxT(
"a2dDrawing its root object can not be NULL" ) );
371 m_rootObject = newRoot;
413 setflags.SetSkipNotRenderedInDrawing(
true );
414 setflags.
Start( m_rootObject,
false );
437 void a2dDrawing::UpdateAllViews(
unsigned int hint, wxObject* objecthint )
444 ProcessEvent( event );
454 ProcessEvent( event );
476 m_rootObject->
Walker(
this, handler );
535 ProcessEvent( changedlayers );
538 ProcessEvent( eventPreViewUpdate );
547 UpdateAllViews( a2dCANVIEW_UPDATE_ALL );
557 for ( j = 0; j < wxMAXLAYER; j++ )
562 ProcessEvent( eventPreViewUpdate );
570 UpdateAllViews( a2dCANVIEW_UPDATE_ALL );
581 for ( j = 0; j < wxMAXLAYER; j++ )
588 ProcessEvent( eventPreViewUpdate );
596 ProcessEvent( eventPreUpdate );
600 for ( j = 0; j < wxMAXLAYER; j++ )
613 ProcessEvent( eventPostUpdate );
617 for ( j = 0; j < wxMAXLAYER; j++ )
623 for ( j = 0; j < wxMAXLAYER; j++ )
629 ProcessEvent( changedlayer );
643 removep.SetSkipNotRenderedInDrawing(
true );
645 removep.
Start( m_rootObject );
652 #if wxUSE_STD_IOSTREAM
653 a2dDocumentFileInputStream stream( filename.mb_str(), wxSTD ios_base::in | wxSTD ios_base::binary );
654 if ( stream.fail() || stream.bad() )
656 wxFileInputStream stream( filename );
657 if ( !stream.IsOk() )
666 if ( handler->
CanLoad( stream,
this, GetClassInfo() ) )
668 if ( !handler->
Load( stream,
this ) )
692 setp.
Start( m_rootObject );
695 #if wxUSE_STD_IOSTREAM
696 a2dDocumentFileOutputStream stream( filename.mb_str(), wxSTD ios_base::out | wxSTD ios_base::binary );
697 if ( stream.fail() || stream.bad() )
699 wxFileOutputStream stream( filename );
700 if ( stream.GetLastError() != wxSTREAM_NO_ERROR )
711 if ( handler->
CanSave(
this ) )
713 if ( handler->
Save( stream,
this ) )
728 #if wxART2D_USE_CVGIO
737 setp.
Start( m_rootObject );
744 wxString version = wxT(
"1");
757 m_saveStartObject = start;
759 m_saveStartObject = m_rootObject;
784 if ( xmlparts == a2dXmlSer_attrib )
793 out.WriteAttribute( wxT(
"units" ),
m_units );
795 out.WriteAttribute( wxT(
"mayEdit" ),
m_mayEdit );
796 out.WriteAttribute( wxT(
"drawingId" ), m_drawingId );
807 if ( m_saveStartObject && !m_saveStartObject->
GetCheck() )
813 m_saveStartObject->
Save(
this, out, towrite );
823 if ( xmlparts == a2dXmlSer_attrib )
869 if ( parser.
GetTagName() == wxT(
"drawing" ) )
874 m_rootObject->
Load( parent, parser );
882 #endif //wxART2D_USE_CVGIO
888 if ( m_lastCheck + wxTimeSpan ( 0, 0, 4, 0) < wxDateTime::Now() )
891 m_lastCheck = wxDateTime::Now();
910 setflags.
Start( m_rootObject, setOrClear );
922 if ( GetEvtHandlerEnabled() )
977 const a2dCommandId a2dCommand_SetStroke::Id( wxT(
"SetStroke" ) );
978 const a2dCommandId a2dCommand_SetFill::Id( wxT(
"SetFill" ) );
979 const a2dCommandId a2dCommand_SetStrokeColour::Id( wxT(
"SetStrokeColour" ) );
980 const a2dCommandId a2dCommand_SetFillColour::Id( wxT(
"SetFillColour" ) );
985 const a2dCommandId a2dCommand_SetCursor::Id( wxT(
"SetCursor" ) );
987 const a2dCommandId a2dCanvasCommandProcessor::COMID_InsertGroupRef( wxT(
"InsertGroupRef" ) );
989 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgLayers( wxT(
"ShowDlgLayers" ) );
990 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgLayersDocument( wxT(
"ShowDlgLayersDocument" ) );
991 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgLayersGlobal( wxT(
"ShowDlgLayersGlobal" ) );
992 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgLayerOrderDocument( wxT(
"ShowDlgLayerOrderDocument" ) );
993 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgLayerOrderGlobal( wxT(
"ShowDlgLayerOrderGlobal" ) );
994 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgTools( wxT(
"ShowDlgTools" ) );
995 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgStyle( wxT(
"ShowDlgStyle" ) );
996 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgSnap( wxT(
"ShowDlgSnap" ) );
997 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgGroups( wxT(
"ShowDlgGroups" ) );
998 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgIdentify( wxT(
"ShowDlgIdentify" ) );
999 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgCoordEntry( wxT(
"ShowDlgCoordEntry" ) );
1000 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgMeasure( wxT(
"ShowDlgMeasure" ) );
1001 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgStructure( wxT(
"ShowDlgStructure" ) );
1002 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgPathSettings( wxT(
"ShowDlgPathSettings" ) );
1003 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgSettings( wxT(
"ShowDlgSettings" ) );
1004 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgTrans( wxT(
"ShowDlgTrans" ) );
1005 const a2dCommandId a2dCanvasCommandProcessor::COMID_ShowDlgPropEdit( wxT(
"ShowDlgPropEdit" ) );
1015 DEFINE_MENU_ITEMID( CmdMenu_ChangeCanvasObjectStyle, wxTRANSLATE(
"set current object style"), wxTRANSLATE(
"set the style of the current edited or drawn object") )
1016 DEFINE_MENU_ITEMID( CmdMenu_ChangeCentralStyle, wxTRANSLATE("Set Central Style"), wxTRANSLATE("Set central stored style like fill and stroke") )
1017 DEFINE_MENU_ITEMID( CmdMenu_SetLayer, wxTRANSLATE("Set Current layer"), wxTRANSLATE("set the current layer for drawing upon") )
1018 DEFINE_MENU_ITEMID( CmdMenu_SetTarget, wxTRANSLATE("Set Current Target layer"), wxTRANSLATE("set the current target layer for actions involving a target") )
1020 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetDrawWireFrame, wxTRANSLATE("Draw only outlines"), wxTRANSLATE("Document drawn in outlines"), wxITEM_CHECK )
1021 DEFINE_MENU_ITEMID_KIND( CmdMenu_DrawGridLines, wxTRANSLATE("Show Grid as Lines"), wxTRANSLATE("Grid lines instead of points"), wxITEM_CHECK )
1022 DEFINE_MENU_ITEMID_KIND( CmdMenu_DrawGridAtFront, wxTRANSLATE("Grid on top or back"), wxTRANSLATE("draw grid on top or back of drawing"), wxITEM_CHECK )
1023 DEFINE_MENU_ITEMID_KIND( CmdMenu_DrawGrid, wxTRANSLATE("Show Grid"), wxTRANSLATE("Grid On Off"), wxITEM_CHECK )
1024 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetSnap, wxTRANSLATE("Snap wile drawing"), wxTRANSLATE("snap inside tools while drawing"), wxITEM_CHECK )
1025 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetYAxis, wxTRANSLATE("Set YAxis up or down"), wxTRANSLATE("Set YAxis up or down"), wxITEM_CHECK );
1026 DEFINE_MENU_ITEMID_KIND( CmdMenu_Option_SplinePoly, wxTRANSLATE("Spline Poly"), wxTRANSLATE("draw polygons/lines splined or not"), wxITEM_CHECK )
1027 DEFINE_MENU_ITEMID_KIND( CmdMenu_Option_CursorCrosshair, wxTRANSLATE("Crosshair Cursor"), wxTRANSLATE("croshair cursor used in tools"), wxITEM_CHECK )
1028 DEFINE_MENU_ITEMID_KIND( CmdMenu_Option_RescaleAtReSize, wxTRANSLATE("ReScale On ReSize"), wxTRANSLATE("Set rescale after resize"), wxITEM_CHECK )
1029 DEFINE_MENU_ITEMID_KIND( CmdMenu_Option_ReverseLayers, wxTRANSLATE("Reverse layers"), wxTRANSLATE("Draw layers reversed"), wxITEM_CHECK )
1031 DEFINE_MENU_ITEMID_KIND( CmdMenu_RouteMethod_StraightEndSegment, wxTRANSLATE("Routing StraightEndSegment"), wxTRANSLATE("Set routing method to straight end segment"), wxITEM_CHECK )
1032 DEFINE_MENU_ITEMID_KIND( CmdMenu_RouteMethod_StraightEndSegmentUnlessPins, wxTRANSLATE("Routing StraightEndSegmentUnlessPins"), wxTRANSLATE("Set routing method to straight end segment unless pins on it"), wxITEM_CHECK )
1033 DEFINE_MENU_ITEMID_KIND( CmdMenu_RouteMethod_StraightSegment, wxTRANSLATE("Routing StraightSegment"), wxTRANSLATE("Set routing method to straight segment"), wxITEM_CHECK )
1034 DEFINE_MENU_ITEMID_KIND( CmdMenu_RouteMethod_StraightSegmentUnlessPins, wxTRANSLATE("Routing StraightSegmentUnlessPins"), wxTRANSLATE("Set routing method to straight segment unless pins on it"), wxITEM_CHECK )
1035 DEFINE_MENU_ITEMID_KIND( CmdMenu_RouteMethod_GridRouting, wxTRANSLATE("Routing GridRouting"), wxTRANSLATE("Set routing automatic reroute on grid"), wxITEM_CHECK )
1036 DEFINE_MENU_ITEMID_KIND( CmdMenu_RouteMethod_ManhattanSegments, wxTRANSLATE("Routing Manhattan"), wxTRANSLATE("Routing With fast Manhattan lines"), wxITEM_CHECK )
1037 DEFINE_MENU_ITEMID_KIND( CmdMenu_RouteMethod_ManhattanEndSegments, wxTRANSLATE("Routing End Manhattan"), wxTRANSLATE("Routing With fast Manhattan lines for moved ends"), wxITEM_CHECK )
1038 DEFINE_MENU_ITEMID_KIND( CmdMenu_RouteMethod_ManhattanEndSegmentsStay, wxTRANSLATE("Keep End Manhattan"), wxTRANSLATE("Keep Manhattan lines for moved ends"), wxITEM_CHECK )
1039 DEFINE_MENU_ITEMID_KIND( CmdMenu_RouteMethod_ManhattanEndSegmentsConvertAndStay, wxTRANSLATE("conevrt and keep End Manhattan"), wxTRANSLATE("Convert to and keep Manhattan lines for moved ends"), wxITEM_CHECK )
1041 DEFINE_MENU_ITEMID( CmdMenu_RotateObject90Left, wxTRANSLATE("Rotate
object 90 Left"), wxTRANSLATE("rotate
object left 90 degrees") )
1042 DEFINE_MENU_ITEMID( CmdMenu_RotateObject90Right, wxTRANSLATE("Rotate
object 90 Right"), wxTRANSLATE("rotate
object right -90 degrees") )
1044 DEFINE_MENU_ITEMID( CmdMenu_SetSnapFeatures, wxTRANSLATE("n"), wxTRANSLATE("n") )
1045 DEFINE_MENU_ITEMID( CmdMenu_SetSnapFeature, wxTRANSLATE("n"), wxTRANSLATE("n") )
1046 DEFINE_MENU_ITEMID( CmdMenu_SetStroke, wxTRANSLATE("n"), wxTRANSLATE("n") )
1047 DEFINE_MENU_ITEMID( CmdMenu_SetFill, wxTRANSLATE("n"), wxTRANSLATE("n") )
1048 DEFINE_MENU_ITEMID( CmdMenu_SetStrokeColour, wxTRANSLATE("n"), wxTRANSLATE("n") )
1049 DEFINE_MENU_ITEMID( CmdMenu_SetFillColour, wxTRANSLATE("n"), wxTRANSLATE("n") )
1050 DEFINE_MENU_ITEMID( CmdMenu_SetContourWidth, wxTRANSLATE("n"), wxTRANSLATE("n") )
1051 DEFINE_MENU_ITEMID( CmdMenu_SetPathType, wxTRANSLATE("n"), wxTRANSLATE("n") )
1052 DEFINE_MENU_ITEMID( CmdMenu_SetNormalizeFactor, wxTRANSLATE("Set Normalize factor"), wxTRANSLATE("scale normalized objects by this") )
1054 DEFINE_MENU_ITEMID( CmdMenu_ShowDiagram, wxTRANSLATE("Show diagram"), wxTRANSLATE("Show diagram of current Cameleon") )
1055 DEFINE_MENU_ITEMID( CmdMenu_ShowSymbol, wxTRANSLATE("Show symbol"), wxTRANSLATE("Show symbol of current Cameleon") )
1056 DEFINE_MENU_ITEMID( CmdMenu_ShowGui, wxTRANSLATE("Show Gui"), wxTRANSLATE("Show Gui of current Cameleon") )
1058 DEFINE_MENU_ITEMID( CmdMenu_Refresh, wxTRANSLATE("refresh"), wxTRANSLATE("refresh all that is drawn on the canvas") )
1059 DEFINE_MENU_ITEMID( CmdMenu_ZoomOut, wxTRANSLATE("Zoom out"), wxTRANSLATE("zoom out to see whole drawing at currently shown
object") )
1060 DEFINE_MENU_ITEMID( CmdMenu_ZoomOut2, wxTRANSLATE("Zoom out factor n"), wxTRANSLATE("zoom out to see factor n as much") )
1061 DEFINE_MENU_ITEMID( CmdMenu_ZoomIn2, wxTRANSLATE("Zoom in factor n"), wxTRANSLATE("zoom in a factor of n") )
1062 DEFINE_MENU_ITEMID( CmdMenu_ZoomOut2CondSelected, wxTRANSLATE("Zoom out factor n"), wxTRANSLATE("zoom out to see factor n as much, if selected objects use its boundingbox as start") )
1063 DEFINE_MENU_ITEMID( CmdMenu_ZoomIn2CondSelected, wxTRANSLATE("Zoom in factor n"), wxTRANSLATE("zoom in a factor of n, if selected objects use its boundingbox as start") )
1064 DEFINE_MENU_ITEMID( CmdMenu_EmptyShownObject, wxTRANSLATE("Empty Shown Object"), wxTRANSLATE("remove children of shown
object") )
1070 DEFINE_MENU_ITEMID( CmdMenu_PushInto, wxTRANSLATE("push into selected"), wxTRANSLATE("make the
object selected the visible
object") )
1071 DEFINE_MENU_ITEMID( CmdMenu_PopOut, wxTRANSLATE("pop out current to previous"), wxTRANSLATE("make the previous shown
object the visible
object, unless no more") )
1072 DEFINE_MENU_ITEMID( CmdMenu_NewGroup, wxTRANSLATE("new group"), wxTRANSLATE("create new group and set it as the current to show") )
1073 DEFINE_MENU_ITEMID( CmdMenu_NewPin, wxTRANSLATE("new pin"), wxTRANSLATE("insert new pin in group") )
1074 DEFINE_MENU_ITEMID( CmdMenu_SaveLayersDrawing, wxTRANSLATE("SaveLayers"), wxTRANSLATE("Save layers to a layer file") )
1075 DEFINE_MENU_ITEMID( CmdMenu_SaveLayersDrawingHome, wxTRANSLATE("SaveLayers Home"), wxTRANSLATE("Save layers to a layer file") )
1076 DEFINE_MENU_ITEMID( CmdMenu_SaveLayersDrawingLastDir, wxTRANSLATE("SaveLayers LastDir"), wxTRANSLATE("Save layers to a layer file") )
1077 DEFINE_MENU_ITEMID( CmdMenu_SaveLayersDrawingCurrentDir, wxTRANSLATE("SaveLayers Current Dir"), wxTRANSLATE("Save layers to a layer file") )
1079 DEFINE_MENU_ITEMID( CmdMenu_LoadLayersDrawing, wxTRANSLATE("LoadLayersDrawing"), wxTRANSLATE("Load layers to a layer file") )
1080 DEFINE_MENU_ITEMID( CmdMenu_LoadLayersDrawingHome, wxTRANSLATE("LoadLayers Home"), wxTRANSLATE("Load layers to a layer file") )
1081 DEFINE_MENU_ITEMID( CmdMenu_LoadLayersDrawingLastDir, wxTRANSLATE("LoadLayers LastDir"), wxTRANSLATE("Load layers to a layer file") )
1082 DEFINE_MENU_ITEMID( CmdMenu_LoadLayersDrawingCurrentDir, wxTRANSLATE("LoadLayers Current Dir"), wxTRANSLATE("Load layers to a layer file") )
1084 DEFINE_MENU_ITEMID( CmdMenu_SetCursor, wxTRANSLATE("Set cursor X,y"), wxTRANSLATE("Set cursor to given position") )
1085 DEFINE_MENU_ITEMID( CmdMenu_SetRelativeStart, wxTRANSLATE("start measure"), wxTRANSLATE("Set start for measuring") )
1086 DEFINE_MENU_ITEMID( CmdMenu_AddMeasurement, wxTRANSLATE("add measure point"), wxTRANSLATE("Add a point to the path to measure") )
1087 DEFINE_MENU_ITEMID( CmdMenu_ClearMeasurements, wxTRANSLATE("clear measure point"), wxTRANSLATE("clear measurement data") )
1089 DEFINE_MENU_ITEMID( CmdMenu_Selected_SelectAll, wxTRANSLATE("select all objects"), wxTRANSLATE("select all objects visible") )
1090 DEFINE_MENU_ITEMID( CmdMenu_Selected_DeSelectAll, wxTRANSLATE("deselect all objects"), wxTRANSLATE("deselect all objects visible") )
1091 DEFINE_MENU_ITEMID( CmdMenu_Selected_SelectAll_NoUndo, wxTRANSLATE("select all objects"), wxTRANSLATE("select all objects visible") )
1092 DEFINE_MENU_ITEMID( CmdMenu_Selected_DeSelectAll_NoUndo, wxTRANSLATE("deselect all objects"), wxTRANSLATE("deselect all objects visible") )
1093 DEFINE_MENU_ITEMID( CmdMenu_Selected_Delete, wxTRANSLATE("delete selected"), wxTRANSLATE("delete selected objects") )
1094 DEFINE_MENU_ITEMID( CmdMenu_Selected_Group, wxTRANSLATE("group selected"), wxTRANSLATE("group selected objects") )
1095 DEFINE_MENU_ITEMID( CmdMenu_Selected_ImageToRectangles, wxTRANSLATE("selected images to rectangle"), wxTRANSLATE("selected images are converted to rectangles per pixel") )
1096 DEFINE_MENU_ITEMID( CmdMenu_Selected_ToTop, wxTRANSLATE("selected to top"), wxTRANSLATE("selected drawn first") )
1097 DEFINE_MENU_ITEMID( CmdMenu_Selected_ToBack, wxTRANSLATE("selected to back"), wxTRANSLATE("selected drawn last") )
1098 DEFINE_MENU_ITEMID( CmdMenu_Selected_SetStyle, wxTRANSLATE("set fill stroke selected"), wxTRANSLATE("selected objects get the current fill and stroke") )
1099 DEFINE_MENU_ITEMID( CmdMenu_Selected_SetExtStyle, wxTRANSLATE("set extended fill stroke selected"), wxTRANSLATE("selected objects get the current extended fill and stroke") )
1100 DEFINE_MENU_ITEMID( CmdMenu_Selected_SetTextChanges, wxTRANSLATE("set text properties extended selected"), wxTRANSLATE("set text properties via dialog on selected objects") )
1101 DEFINE_MENU_ITEMID( CmdMenu_Selected_SetTextChanges2, wxTRANSLATE("set text properties selected"), wxTRANSLATE("set text properties via dialog on selected objects") )
1102 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertToPolygonPolylinesWithArcs, wxTRANSLATE("convert shapes to polylines and polygons with Arcs"), wxTRANSLATE("selected primitive shapes will be converted to polygons/polylines if possible") )
1103 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertToPolygonPolylinesWithoutArcs, wxTRANSLATE("convert shapes to polylines and polygons"), wxTRANSLATE("selected primitive shapes will be converted to polygons/polylines if possible") )
1104 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertToPolylines, wxTRANSLATE("convert shapes to polylines"), wxTRANSLATE("selected primitive shapes will be converted to polylines if possible") )
1105 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertLinesArcs, wxTRANSLATE("convert shapes to lines and arcs"), wxTRANSLATE("selected primitive shapes will be converted to arcs and lines if possible") )
1106 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertToVPaths, wxTRANSLATE("convert shapes to vector path"), wxTRANSLATE("selected primitive shapes will be converted to vector paths if possible") )
1107 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertPolygonToArcs, wxTRANSLATE("detect arcs in polygons"), wxTRANSLATE("selected polygon shapes to polygons with arcs") )
1108 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertPolylineToArcs, wxTRANSLATE("detect arcs in polylines"), wxTRANSLATE("selected polyline shapes to polylines with arcs") )
1109 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertPathToPolygon, wxTRANSLATE("Path2Polygon"), wxTRANSLATE("Convert Path to polygons") )
1110 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertSurfaceToPolygon, wxTRANSLATE("Surface to Polygons"), wxTRANSLATE("convert selected surfaces shapes to polygons") )
1111 DEFINE_MENU_ITEMID( CmdMenu_Selected_ConvertPolygonToSurface, wxTRANSLATE("Polygons to Surface"), wxTRANSLATE("convert selected polygon shapes to surfaces") )
1112 DEFINE_MENU_ITEMID( CmdMenu_Selected_UnGroup, wxTRANSLATE("ungroup selected one level"), wxTRANSLATE("ungroup selected one level") )
1113 DEFINE_MENU_ITEMID( CmdMenu_Selected_UnGroupDeep, wxTRANSLATE("ungroup selected deep"), wxTRANSLATE("ungroup selected deep") )
1114 DEFINE_MENU_ITEMID( CmdMenu_Selected_Merge, wxTRANSLATE("MergeSelected"), wxTRANSLATE("Merge selected objects") )
1115 DEFINE_MENU_ITEMID( CmdMenu_Selected_Offset, wxTRANSLATE("OffsetSelected"), wxTRANSLATE("Offset selected objects") )
1116 DEFINE_MENU_ITEMID( CmdMenu_Selected_CreateRing, wxTRANSLATE("Create Ring"), wxTRANSLATE("Ring creation operation") )
1117 DEFINE_MENU_ITEMID( CmdMenu_Selected_CameleonDiagram, wxTRANSLATE("selected to Cameleon + Diagram"), wxTRANSLATE("group selected objects into a Cameleon with a
a2dDiagram") )
1118 DEFINE_MENU_ITEMID( CmdMenu_Selected_CameleonSymbol, wxTRANSLATE("selected to Cameleon + Symbol"), wxTRANSLATE("group selected objects into a Cameleon with a
a2dSymbol") )
1119 DEFINE_MENU_ITEMID( CmdMenu_Selected_FlattenCameleon, wxTRANSLATE("selected flatten Cameleon"), wxTRANSLATE("selected objects Cameleon objects in diagram") )
1120 DEFINE_MENU_ITEMID( CmdMenu_Selected_CloneCameleonFromInst, wxTRANSLATE("selected Cameleon Clone"), wxTRANSLATE("selected Cameleon is Cloned to a new Cameleon") )
1121 DEFINE_MENU_ITEMID( CmdMenu_Selected_MoveXY, wxTRANSLATE("move selected relative X,Y"), wxTRANSLATE("move selected objects with X,Y") )
1122 DEFINE_MENU_ITEMID( CmdMenu_Selected_MoveLayer, wxTRANSLATE("move selected to Layer"), wxTRANSLATE("move selected objects to layer") )
1123 DEFINE_MENU_ITEMID( CmdMenu_Selected_CopyXY, wxTRANSLATE("copy selected relative X,Y"), wxTRANSLATE("copy selected objects with X,Y") )
1124 DEFINE_MENU_ITEMID( CmdMenu_Selected_CopyLayer, wxTRANSLATE("copy selected to Layer"), wxTRANSLATE("copy selected objects to layer") )
1125 DEFINE_MENU_ITEMID( CmdMenu_Selected_Transform, wxTRANSLATE("transform selected"), wxTRANSLATE("transform selected objects") )
1126 DEFINE_MENU_ITEMID( CmdMenu_Selected_Rotate, wxTRANSLATE("rotate selected"), wxTRANSLATE("rotate selected objects") )
1127 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MinX, wxTRANSLATE("Align selected left"), wxTRANSLATE("Align selected objects left side of boundingbox") )
1128 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MaxX, wxTRANSLATE("Align selected right"), wxTRANSLATE("Align selected objects right side of boundingbox") )
1129 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MinY, wxTRANSLATE("Align selected bottom"), wxTRANSLATE("Align selected objects bottom side of boundingbox") )
1130 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MaxY, wxTRANSLATE("Align selected top"), wxTRANSLATE("Align selected objects top side of boundingbox") )
1131 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MidX, wxTRANSLATE("Align selected middle X"), wxTRANSLATE("Align selected objects middle of boundingbox in X") )
1132 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MidY, wxTRANSLATE("Align selected middle Y"), wxTRANSLATE("Align selected objects middle of boundingbox in Y") )
1133 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorVert, wxTRANSLATE("Mirror selected vertical"), wxTRANSLATE("Mirror selected objects vertical") )
1134 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorHorz, wxTRANSLATE("Mirror selected horizontal"), wxTRANSLATE("Mirror selected objects horizontal") )
1135 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorVertBbox, wxTRANSLATE("Mirror selected vertical boundingbox"), wxTRANSLATE("Mirror selected objects vertical around centre boundingbox") )
1136 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorHorzBbox, wxTRANSLATE("Mirror selected horizontal boundingbox"), wxTRANSLATE("Mirror selected objects horizontal around centre boundingbox") )
1137 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_DistributeVert, wxTRANSLATE("Distribute selected vertical"), wxTRANSLATE("Distribute selected objects vertical") )
1138 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_DistributeHorz, wxTRANSLATE("Distribute selected horizontal"), wxTRANSLATE("Distribute selected objects horizontal") )
1140 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MinX_Dest, wxTRANSLATE("Align selected left destination"), wxTRANSLATE("Align selected objects left side of boundingbox destination") )
1141 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MaxX_Dest, wxTRANSLATE("Align selected right destination"), wxTRANSLATE("Align selected objects right side of boundingbox destination") )
1142 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MinY_Dest, wxTRANSLATE("Align selected bottom destination"), wxTRANSLATE("Align selected objects bottom side of boundingbox destination") )
1143 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MaxY_Dest, wxTRANSLATE("Align selected top destination"), wxTRANSLATE("Align selected objects top side of boundingbox destination") )
1144 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MidX_Dest, wxTRANSLATE("Align selected middle X destination"), wxTRANSLATE("Align selected objects middle of boundingbox in X destination") )
1145 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MidY_Dest, wxTRANSLATE("Align selected middle Y destination"), wxTRANSLATE("Align selected objects middle of boundingbox in Y destination") )
1146 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorVert_Dest, wxTRANSLATE("Mirror selected vertical destination"), wxTRANSLATE("Mirror selected objects vertical destination") )
1147 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorHorz_Dest, wxTRANSLATE("Mirror selected horizontal destination"), wxTRANSLATE("Mirror selected objects horizontal destination") )
1148 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorVertBbox_Dest, wxTRANSLATE("Mirror selected vertical boundingbox destination"), wxTRANSLATE("Mirror selected objects vertical around centre boundingbox destination") )
1149 DEFINE_MENU_ITEMID( CmdMenu_Selected_Align_MirrorHorzBbox_Dest, wxTRANSLATE("Mirror selected horizontal boundingbox destination"), wxTRANSLATE("Mirror selected objects horizontal around centre boundingbox destination") )
1151 DEFINE_MENU_ITEMID( CmdMenu_Selected_RotateObject90Left, wxTRANSLATE("Rotate selected 90 Left"), wxTRANSLATE("rotate selected left 90 degrees") )
1152 DEFINE_MENU_ITEMID( CmdMenu_Selected_RotateObject90Right, wxTRANSLATE("Rotate selected 90 Right"), wxTRANSLATE("rotate selected right -90 degrees") )
1155 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_Offset, wxTRANSLATE("Offset"), wxTRANSLATE("Boolean Offset operation") )
1156 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_Smooth, wxTRANSLATE("Smooth"), wxTRANSLATE("Smooth operation") )
1157 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_CreateRing, wxTRANSLATE("Create Ring"), wxTRANSLATE("Ring creation operation") )
1158 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_Delete, wxTRANSLATE("delete groupA"), wxTRANSLATE("delete groupA Objects") )
1159 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_Move, wxTRANSLATE("move groupA"), wxTRANSLATE("move groupA Objects") )
1160 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_Copy, wxTRANSLATE("copy groupA"), wxTRANSLATE("copy groupA Objects") )
1161 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_ToArcs, wxTRANSLATE("toArcs groupA"), wxTRANSLATE("convert lines to arcs if possible in groupA Objects") )
1162 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_Or, wxTRANSLATE("Boolean Or"), wxTRANSLATE("Boolean Or operation group A-B") )
1163 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_And, wxTRANSLATE("Boolean And"), wxTRANSLATE("Boolean And operation group A-B") )
1164 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_Exor, wxTRANSLATE("Boolean Exor"), wxTRANSLATE("Boolean Exor operation group A-B") )
1165 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_AsubB, wxTRANSLATE("Boolean A-B"), wxTRANSLATE("Boolean Subtract operation group A-B") )
1166 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_BsubA, wxTRANSLATE("Boolean B-A"), wxTRANSLATE("Boolean Subtract operation group A-B") )
1167 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_ConvertSurfaceToPolygon, wxTRANSLATE("Surface to Polygons"), wxTRANSLATE("convert GroupA surfaces shapes to polygons") )
1168 DEFINE_MENU_ITEMID( CmdMenu_GroupAB_ConvertPolygonToSurface, wxTRANSLATE("Polygons to Surface"), wxTRANSLATE("convert GroupA polygon shapes to surfaces") )
1170 DEFINE_MENU_ITEMID( CmdMenu_PopTool, wxTRANSLATE("Pop tool"), wxTRANSLATE("Pop the last pushed tool from the tool stack") )
1173 DEFINE_MENU_ITEMID( CmdMenu_PushTool_RenderImageZoom_OneShot, wxTRANSLATE("n"), wxTRANSLATE("n") )
1174 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Zoom_OneShot, wxTRANSLATE("Zoom in and out"), wxTRANSLATE("Zoom in to the regtangle dragged") )
1175 DEFINE_MENU_ITEMID( CmdMenu_PushTool_FastZoom_OneShot, wxTRANSLATE("Zoom in and out"), wxTRANSLATE("Zoom in to the regtangle dragged") )
1176 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Select_OneShot, wxTRANSLATE("Select Objects"), wxTRANSLATE("select
object using mouse") )
1177 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Select2_OneShot, wxTRANSLATE("Select Objects 2"), wxTRANSLATE("select
object using mouse") )
1178 DEFINE_MENU_ITEMID( CmdMenu_PushTool_FastSelect_OneShot, wxTRANSLATE("Select Objects"), wxTRANSLATE("select
object using mouse") )
1179 DEFINE_MENU_ITEMID( CmdMenu_PushTool_FastSelect2_OneShot, wxTRANSLATE("Select Objects"), wxTRANSLATE("select
object using mouse") )
1180 DEFINE_MENU_ITEMID( CmdMenu_PushTool_RecursiveEdit_OneShot, wxTRANSLATE("Edit"), wxTRANSLATE("Edit a objects using mouse") )
1181 DEFINE_MENU_ITEMID( CmdMenu_PushTool_MultiEdit_OneShot, wxTRANSLATE("Edit Matrix"), wxTRANSLATE("Edit a matrix of objects using mouse") )
1182 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Drag_OneShot, wxTRANSLATE("Drag Objects"), wxTRANSLATE("Drag objects using mouse also (Ctrl Mouse LD)") )
1183 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DragOriginal_OneShot, wxTRANSLATE("Drag Original Objects"), wxTRANSLATE("Drag original objects using mouse") )
1184 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Copy_OneShot, wxTRANSLATE("Copy Objects"), wxTRANSLATE("Copy objects using mouse") )
1185 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Rotate_OneShot, wxTRANSLATE("Rotate Objects"), wxTRANSLATE("Rotate objects using mouse") )
1186 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Delete_OneShot, wxTRANSLATE("Delete Objects"), wxTRANSLATE("Delete objects using mouse also (Shift Mouse LD)") )
1187 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawText_OneShot, wxTRANSLATE("Insert Text"), wxTRANSLATE("insert text") )
1188 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Image_OneShot, wxTRANSLATE("Insert Image"), wxTRANSLATE("insert
a2dImage in dragged rectangle, from a file") )
1189 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawRectangle_OneShot, wxTRANSLATE("Draw Rectangle"), wxTRANSLATE("draw rectangle") )
1190 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawRectangleFast_OneShot, wxTRANSLATE("Draw Rectangle"), wxTRANSLATE("draw rectangle") )
1191 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawCircle_OneShot, wxTRANSLATE("Draw Circle"), wxTRANSLATE("draw Circle") )
1192 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawCircleFast_OneShot, wxTRANSLATE("Draw Circle"), wxTRANSLATE("draw Circle") )
1193 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawLine_OneShot, wxTRANSLATE("Draw line with ends"), wxTRANSLATE("add a line with ends using mouse") )
1194 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawLineScaledArrow_OneShot, wxTRANSLATE("Draw line with arrows"), wxTRANSLATE("add a line with arrows using mouse") )
1195 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawEllipse_OneShot, wxTRANSLATE("Draw Ellipse"), wxTRANSLATE("add a ellipse using mouse") )
1196 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawEllipticArc_OneShot, wxTRANSLATE("Draw Elliptic Arc"), wxTRANSLATE("add a Elliptic Arc using mouse") )
1198 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawArc_OneShot, wxTRANSLATE("Draw Arc"), wxTRANSLATE("add a arc using mouse") )
1199 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawArc_Chord_OneShot, wxTRANSLATE("Draw Arc Chord"), wxTRANSLATE("add a arc using mouse") )
1200 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawPolylineL_OneShot, wxTRANSLATE("Draw polyline"), wxTRANSLATE("add a polyline using mouse") )
1201 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawPolylineL_Splined_OneShot, wxTRANSLATE("Draw splined polyline"), wxTRANSLATE("add a splined polyline using mouse") )
1202 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawPolylineLFast_OneShot, wxTRANSLATE("Draw polyline"), wxTRANSLATE("add a polyline using mouse") )
1203 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawPolygonL_OneShot, wxTRANSLATE("Draw polygon"), wxTRANSLATE("add a polygon using mouse") )
1204 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawPolygonL_Splined_OneShot, wxTRANSLATE("Draw splined polygon"), wxTRANSLATE("add a splined polygon using mouse") )
1205 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawPolygonLFast_OneShot, wxTRANSLATE("Draw polygon"), wxTRANSLATE("add a polygon using mouse") )
1206 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Property_OneShot, wxTRANSLATE("Edit Properties"), wxTRANSLATE("edit the properties of objects") )
1207 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DragMulti_OneShot, wxTRANSLATE("Drag Selected Objects"), wxTRANSLATE("select
object using mouse") )
1208 DEFINE_MENU_ITEMID( CmdMenu_PushTool_FastDragMulti_OneShot, wxTRANSLATE("Drag Selected Objects"), wxTRANSLATE("select
object using mouse") )
1209 DEFINE_MENU_ITEMID( CmdMenu_PushTool_CopyMulti_OneShot, wxTRANSLATE("Copy Selected Objects"), wxTRANSLATE("select
object using mouse") )
1210 DEFINE_MENU_ITEMID( CmdMenu_PushTool_FastCopyMulti_OneShot, wxTRANSLATE("Copy Selected Objects"), wxTRANSLATE("select
object using mouse") )
1211 DEFINE_MENU_ITEMID( CmdMenu_PushTool_Measure_OneShot, wxTRANSLATE("Measure"), wxTRANSLATE("measure along a polyline using mouse") )
1212 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawWirePolylineL_OneShot, wxTRANSLATE("Wire Tool"), wxTRANSLATE("Add wire between pins") )
1213 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawVPath_OneShot, wxTRANSLATE("Draw vector path"), wxTRANSLATE("add a vector path using mouse") )
1214 DEFINE_MENU_ITEMID( CmdMenu_PushTool_DrawEllipticArc_Chord_OneShot, wxTRANSLATE("Draw Elliptic Arc Chord"), wxTRANSLATE("add a Elliptic Arc using mouse") )
1217 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_RenderImageZoom, wxTRANSLATE("n"), wxTRANSLATE("n") , wxITEM_CHECK )
1218 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Zoom, wxTRANSLATE("Zoom in and out"), wxTRANSLATE("Zoom in to the regtangle dragged"), wxITEM_CHECK )
1219 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_FastZoom, wxTRANSLATE("Zoom in and out"), wxTRANSLATE("Zoom in to the regtangle dragged"), wxITEM_CHECK )
1220 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Select, wxTRANSLATE("Select Objects"), wxTRANSLATE("select
object using mouse"), wxITEM_CHECK )
1221 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Select2, wxTRANSLATE("Select Objects 2"), wxTRANSLATE("select
object using mouse"), wxITEM_CHECK )
1222 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_FastSelect, wxTRANSLATE("Select Objects"), wxTRANSLATE("select
object using mouse"), wxITEM_CHECK )
1223 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_FastSelect2, wxTRANSLATE("Select Objects"), wxTRANSLATE("select
object using mouse"), wxITEM_CHECK )
1224 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_RecursiveEdit, wxTRANSLATE("Edit"), wxTRANSLATE("Edit a objects using mouse"), wxITEM_CHECK )
1225 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_MultiEdit, wxTRANSLATE("Edit Matrix"), wxTRANSLATE("Edit a matrix of objects using mouse"), wxITEM_CHECK )
1226 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Drag, wxTRANSLATE("Drag Objects"), wxTRANSLATE("Drag objects using mouse also (Ctrl Mouse LD)"), wxITEM_CHECK )
1227 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DragOriginal, wxTRANSLATE("Drag Original Objects"), wxTRANSLATE("Drag original objects using mouse"), wxITEM_CHECK )
1228 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Copy, wxTRANSLATE("Copy Objects"), wxTRANSLATE("Copy objects using mouse"), wxITEM_CHECK )
1229 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Rotate, wxTRANSLATE("Rotate Objects"), wxTRANSLATE("Rotate objects using mouse"), wxITEM_CHECK )
1230 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Delete, wxTRANSLATE("Delete Objects"), wxTRANSLATE("Delete objects using mouse also (Shift Mouse LD)"), wxITEM_CHECK )
1231 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawText, wxTRANSLATE("Insert Text"), wxTRANSLATE("insert text"), wxITEM_CHECK )
1232 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Image, wxTRANSLATE("Insert Image"), wxTRANSLATE("insert
a2dImage in dragged rectangle, from a file"), wxITEM_CHECK )
1233 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawRectangle, wxTRANSLATE("Draw Rectangle"), wxTRANSLATE("draw rectangle"), wxITEM_CHECK )
1234 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawRectangleFast, wxTRANSLATE("Draw Rectangle"), wxTRANSLATE("draw rectangle"), wxITEM_CHECK )
1235 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawCircle, wxTRANSLATE("Draw Circle"), wxTRANSLATE("draw Circle"), wxITEM_CHECK )
1236 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawCircleFast, wxTRANSLATE("Draw Circle"), wxTRANSLATE("draw Circle"), wxITEM_CHECK )
1237 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawLine, wxTRANSLATE("Draw line with ends"), wxTRANSLATE("add a line with ends using mouse"), wxITEM_CHECK )
1238 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawLineScaledArrow, wxTRANSLATE("Draw line with arrows"), wxTRANSLATE("add a line with arrows using mouse"), wxITEM_CHECK )
1239 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawEllipse, wxTRANSLATE("Draw Ellipse"), wxTRANSLATE("add a ellipse using mouse"), wxITEM_CHECK )
1240 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawEllipticArc, wxTRANSLATE("Draw Elliptic Arc"), wxTRANSLATE("add a Elliptic Arc using mouse"), wxITEM_CHECK )
1241 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawEllipticArc_Chord, wxTRANSLATE("Draw Elliptic Arc Chord"), wxTRANSLATE("add a Elliptic Arc using mouse"), wxITEM_CHECK )
1242 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawArc, wxTRANSLATE("Draw Arc"), wxTRANSLATE("add a arc using mouse"), wxITEM_CHECK )
1243 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawArc_Chord, wxTRANSLATE("Draw Arc Chord"), wxTRANSLATE("add a arc using mouse"), wxITEM_CHECK )
1244 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawPolylineL, wxTRANSLATE("Draw polyline"), wxTRANSLATE("add a polyline using mouse"), wxITEM_CHECK )
1245 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawPolylineL_Splined, wxTRANSLATE("Draw splined polyline"), wxTRANSLATE("add a splined polyline using mouse"), wxITEM_CHECK )
1246 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawPolylineLFast, wxTRANSLATE("Draw polyline"), wxTRANSLATE("add a polyline using mouse"), wxITEM_CHECK )
1247 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawPolygonL, wxTRANSLATE("Draw polygon"), wxTRANSLATE("add a polygon using mouse"), wxITEM_CHECK )
1248 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawPolygonL_Splined, wxTRANSLATE("Draw splined polygon"), wxTRANSLATE("add a splined polygon using mouse"), wxITEM_CHECK )
1249 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawPolygonLFast, wxTRANSLATE("Draw polygon"), wxTRANSLATE("add a polygon using mouse"), wxITEM_CHECK )
1250 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Property, wxTRANSLATE("Edit Properties"), wxTRANSLATE("edit the properties of objects"), wxITEM_CHECK )
1251 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DragMulti, wxTRANSLATE("Drag Selected Objects"), wxTRANSLATE("select
object using mouse"), wxITEM_CHECK )
1252 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_FastDragMulti, wxTRANSLATE("Drag Selected Objects"), wxTRANSLATE("select
object using mouse"), wxITEM_CHECK )
1253 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_CopyMulti, wxTRANSLATE("Copy Selected Objects"), wxTRANSLATE("select
object using mouse"), wxITEM_CHECK )
1254 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_FastCopyMulti, wxTRANSLATE("Copy Selected Objects"), wxTRANSLATE("select
object using mouse"), wxITEM_CHECK )
1255 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Measure, wxTRANSLATE("Measure"), wxTRANSLATE("measure along a polyline using mouse"), wxITEM_CHECK )
1256 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawWirePolylineL, wxTRANSLATE("Wire Tool"), wxTRANSLATE("Add wire between pins"), wxITEM_CHECK )
1257 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_DrawVPath, wxTRANSLATE("Draw vector path"), wxTRANSLATE("add a vector path using mouse"), wxITEM_CHECK )
1258 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Port, wxTRANSLATE("Add new Ports"), wxTRANSLATE("add Ports objects using mouse"), wxITEM_CHECK )
1259 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Cameleon, wxTRANSLATE("Add new Cameleons"), wxTRANSLATE("add Cameleon objects using mouse"), wxITEM_CHECK )
1260 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_Cameleon_BuildIn, wxTRANSLATE("Add new BuildIn Cameleons"), wxTRANSLATE("add _BuildIn Cameleon objects using mouse"), wxITEM_CHECK )
1261 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_CameleonInst, wxTRANSLATE("Add Cameleon Instance"), wxTRANSLATE("add Cameleon instances using mouse"), wxITEM_CHECK )
1262 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_CameleonInstDlg, wxTRANSLATE("Add Cameleon Instance from a list"), wxTRANSLATE("add Cameleon instance from a list, using mouse"), wxITEM_CHECK )
1263 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_CameleonRefDlg, wxTRANSLATE("Add Cameleon Reference from a list"), wxTRANSLATE("add Cameleon reference from a list, using mouse"), wxITEM_CHECK )
1264 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_CameleonRefDlg_Diagram, wxTRANSLATE("Add Cameleon Reference to
a2dDiagram Instance from a list"), wxTRANSLATE("add Cameleon reference from a list, using mouse"), wxITEM_CHECK )
1265 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_CameleonRefDlg_Symbol, wxTRANSLATE("Add Cameleon Reference to
a2dSymbol Instance from a list"), wxTRANSLATE("add Cameleon reference from a list, using mouse"), wxITEM_CHECK )
1266 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_TagGroups, wxTRANSLATE("Edit Mode Tag Groups"), wxTRANSLATE("push tool Tag Groups"), wxITEM_CHECK )
1267 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_TagGroups_WireMode, wxTRANSLATE("Edit Mode Tag Groups in Wire Mode"), wxTRANSLATE("push tool Tag Groups in its wire mode"), wxITEM_CHECK )
1268 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_TagGroups_WireMode_DlgMode, wxTRANSLATE("Edit Mode Tag Groups in Wire Mode"), wxTRANSLATE("push tool Tag Groups in its wire mode with dialog at DC"), wxITEM_CHECK )
1269 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_TagGroups_DlgMode, wxTRANSLATE("Edit Mode Tag Groups in Dlg Mode"), wxTRANSLATE("push tool Tag Groups in its dlg mode"), wxITEM_CHECK )
1270 DEFINE_MENU_ITEMID_KIND( CmdMenu_PushTool_SingleClick, wxTRANSLATE("Single click Edit Mode"), wxTRANSLATE("Single click Edit Mode wxITEM_CHECK"), wxITEM_CHECK )
1272 DEFINE_MENU_ITEMID( CmdMenu_InsertGroupRef, wxTRANSLATE("&Insert Reference to canvas
object"), wxTRANSLATE("Insert Reference to canvas
object") )
1274 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetMasterTool_SelectFirst, wxTRANSLATE("Edit Mode select first"), wxTRANSLATE("set the main tool in mode zselect first"), wxITEM_CHECK )
1275 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetMasterTool_ZoomFirst, wxTRANSLATE("Edit Mode zoom first"), wxTRANSLATE("set the main tool in mode zoom first"), wxITEM_CHECK )
1276 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetMasterTool_TagGroups, wxTRANSLATE("Edit Mode Tag Groups"), wxTRANSLATE("set the main tool in mode Tag Groups"), wxITEM_CHECK )
1277 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetMasterTool_TagGroups_DlgMode, wxTRANSLATE("Edit Mode Tag Groups in Dlg Mode"), wxTRANSLATE("set the main tool in mode Tag Groups in its dlg mode"), wxITEM_CHECK )
1278 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetMasterTool_TagGroups_WireMode, wxTRANSLATE("Edit Mode Tag Groups in Wire Mode"), wxTRANSLATE("set the main tool in mode Tag Groups in its wire mode"), wxITEM_CHECK )
1279 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetMasterTool_TagGroups_WireMode_DlgMode, wxTRANSLATE("Edit Mode Tag Groups in Wire and Dlg Mode"), wxTRANSLATE("set the main tool in mode Tag Groups in its wire & dlg mode"), wxITEM_CHECK )
1280 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetMasterTool_SingleClick, wxTRANSLATE("Single Click Edit Mode "), wxTRANSLATE("set the main tool in mode single click edit mode"), wxITEM_CHECK )
1282 DEFINE_MENU_ITEMID( CmdMenu_LineBegin, wxTRANSLATE("begin
object"), wxTRANSLATE("(poly)Line tool begin Object") )
1283 DEFINE_MENU_ITEMID( CmdMenu_LineEnd, wxTRANSLATE("end
object"), wxTRANSLATE("(poly)Line tool end Object") )
1284 DEFINE_MENU_ITEMID( CmdMenu_LineScale, wxTRANSLATE("scaling of point
object"), wxTRANSLATE("(poly)Line tool begin&end Object scalling") )
1286 DEFINE_MENU_ITEMID( CmdMenu_SetLayerDlg, wxTRANSLATE("Set Current layer"), wxTRANSLATE("set the current layer for drawing upon") )
1287 DEFINE_MENU_ITEMID_KIND( CmdMenu_SetLayerDlgModeless, wxTRANSLATE("layer dialog"), wxTRANSLATE("set the current layer for drawing upon"), wxITEM_CHECK );
1288 DEFINE_MENU_ITEMID( CmdMenu_SetTargetDlg, wxTRANSLATE("Set Current Target layer"), wxTRANSLATE("set the current target layer for actions involving a target") )
1289 DEFINE_MENU_ITEMID( CmdMenu_SetBackgroundStyle, wxTRANSLATE("Set BackGround"), wxTRANSLATE("Set Style for Background of canvas") )
1291 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgLayersDrawing, wxTRANSLATE("&Init Layers Drawing"), wxTRANSLATE("layer dialog initialized for editing layers drawing"), wxITEM_CHECK );
1292 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgLayersGlobal, wxTRANSLATE("&Init Layer Global"), wxTRANSLATE("layer dialog initialized for editing layers global"), wxITEM_CHECK );
1293 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgTools, wxTRANSLATE("&Tools Dialog"), wxTRANSLATE("tools dialog") , wxITEM_CHECK );
1294 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgStyle, wxTRANSLATE("&Style Dialog"), wxTRANSLATE("style dialog") , wxITEM_CHECK )
1295 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgSnap, wxTRANSLATE("&Snap Settings Dialog"), wxTRANSLATE("Snap Settings dialog") , wxITEM_CHECK )
1296 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgGroups, wxTRANSLATE("Set Groups Dialog"), wxTRANSLATE("To set groups of layers for use in
boolean operations etc.") , wxITEM_CHECK )
1297 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgIdentify, wxTRANSLATE("&Identify Dialog"), wxTRANSLATE("Identify selected objects") , wxITEM_CHECK )
1298 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgCoordEntry, wxTRANSLATE("&Coordinate Entry Dialog"), wxTRANSLATE("Coordinate Entry Dialog"), wxITEM_CHECK )
1299 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgMeasure, wxTRANSLATE("&Measure Dialog"), wxTRANSLATE("Measure Dialog"), wxITEM_CHECK )
1300 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgStructure, wxTRANSLATE("&Structure Dialog"), wxTRANSLATE("shows structure dialog") , wxITEM_CHECK )
1301 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgCameleonModal, wxTRANSLATE("&Cameleon Dialog"), wxTRANSLATE("shows Cameleon dialog") , wxITEM_CHECK )
1302 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgStructureModal, wxTRANSLATE("&Structure Dialog"), wxTRANSLATE("shows structure dialog modal") , wxITEM_CHECK )
1303 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgPathSettings, wxTRANSLATE("&Path Dialog"), wxTRANSLATE("path settings dialog"), wxITEM_CHECK )
1304 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgSettings, wxTRANSLATE("&Settings Dialog"), wxTRANSLATE("settings dialog") , wxITEM_CHECK )
1305 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgTrans, wxTRANSLATE("&Transformation Dialog"), wxTRANSLATE("transform selected dialog") , wxITEM_CHECK )
1306 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgPropEdit, wxTRANSLATE("&Property Edit Dialog"), wxTRANSLATE("property edit dialog") , wxITEM_CHECK )
1307 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgLayerOrderDrawing, wxTRANSLATE("&Order Layers Document"), wxTRANSLATE("order layer dialog initialized for layers drawing") , wxITEM_CHECK )
1308 DEFINE_MENU_ITEMID_KIND( CmdMenu_ShowDlgLayerOrderGlobal, wxTRANSLATE("&Order Layers Global"), wxTRANSLATE("order layer dialog initialized for layers global") , wxITEM_CHECK )
1310 DEFINE_MENU_ITEMID( CmdMenu_SetFont, wxTRANSLATE("Set Current font"), wxTRANSLATE("used in
a2dText object" ) )
1312 DEFINE_MENU_ITEMID( CmdMenu_PrintDrawing, wxTRANSLATE("Print Drawing"), wxTRANSLATE("Print Drawing" ) )
1313 DEFINE_MENU_ITEMID( CmdMenu_PreviewDrawing, wxTRANSLATE("Preview Drawing"), wxTRANSLATE("Preview Print Drawing" ) )
1314 DEFINE_MENU_ITEMID( CmdMenu_PrintDrawingPart, wxTRANSLATE("Print Drawing Part"), wxTRANSLATE("Print Drawing Part" ) )
1315 DEFINE_MENU_ITEMID( CmdMenu_PreviewDrawingPart, wxTRANSLATE("Preview Drawing Part"), wxTRANSLATE("Preview Print Drawing Part" ) )
1380 BEGIN_EVENT_TABLE( a2dCanvasCommandProcessor, a2dCommandProcessor )
1383 EVT_ENDBUSY( a2dCanvasCommandProcessor::OnBusyEnd )
1385 EVT_MENU( CmdMenu_Selected_Merge().GetId(), a2dCanvasCommandProcessor::OnMenu )
1386 EVT_MENU( CmdMenu_ChangeCanvasObjectStyle().GetId() , a2dCanvasCommandProcessor::OnMenu )
1388 EVT_MENU( CmdMenu_SetLayer().GetId() , a2dCanvasCommandProcessor::OnMenu )
1389 EVT_MENU( CmdMenu_SetTarget().GetId() , a2dCanvasCommandProcessor::OnMenu )
1390 EVT_MENU( CmdMenu_SetDrawWireFrame().GetId() , a2dCanvasCommandProcessor::OnMenu )
1391 EVT_MENU( CmdMenu_DrawGridLines().GetId() , a2dCanvasCommandProcessor::OnMenu )
1392 EVT_MENU( CmdMenu_DrawGridAtFront().GetId() , a2dCanvasCommandProcessor::OnMenu )
1393 EVT_MENU( CmdMenu_DrawGrid().GetId() , a2dCanvasCommandProcessor::OnMenu )
1394 EVT_MENU( CmdMenu_SetSnap().GetId() , a2dCanvasCommandProcessor::OnMenu )
1395 EVT_MENU( CmdMenu_SetYAxis().GetId() , a2dCanvasCommandProcessor::OnMenu )
1396 EVT_MENU( CmdMenu_Option_SplinePoly().GetId() , a2dCanvasCommandProcessor::OnMenu )
1397 EVT_MENU( CmdMenu_Option_CursorCrosshair().GetId() , a2dCanvasCommandProcessor::OnMenu )
1398 EVT_MENU( CmdMenu_Option_RescaleAtReSize().GetId() , a2dCanvasCommandProcessor::OnMenu )
1399 EVT_MENU( CmdMenu_Option_ReverseLayers().GetId() , a2dCanvasCommandProcessor::OnMenu )
1401 EVT_MENU( CmdMenu_RouteMethod_StraightEndSegment().GetId() , a2dCanvasCommandProcessor::OnMenu )
1402 EVT_MENU( CmdMenu_RouteMethod_StraightEndSegmentUnlessPins().GetId() , a2dCanvasCommandProcessor::OnMenu )
1403 EVT_MENU( CmdMenu_RouteMethod_StraightSegment().GetId() , a2dCanvasCommandProcessor::OnMenu )
1404 EVT_MENU( CmdMenu_RouteMethod_StraightSegmentUnlessPins().GetId() , a2dCanvasCommandProcessor::OnMenu )
1405 EVT_MENU( CmdMenu_RouteMethod_GridRouting().GetId() , a2dCanvasCommandProcessor::OnMenu )
1406 EVT_MENU( CmdMenu_RouteMethod_ManhattanSegments().GetId() , a2dCanvasCommandProcessor::OnMenu )
1407 EVT_MENU( CmdMenu_RouteMethod_ManhattanEndSegments().GetId() , a2dCanvasCommandProcessor::OnMenu )
1408 EVT_MENU( CmdMenu_RouteMethod_ManhattanEndSegmentsStay().GetId() , a2dCanvasCommandProcessor::OnMenu )
1409 EVT_MENU( CmdMenu_RouteMethod_ManhattanEndSegmentsConvertAndStay().GetId() , a2dCanvasCommandProcessor::OnMenu )
1411 EVT_MENU( CmdMenu_RotateObject90Left().GetId() , a2dCanvasCommandProcessor::OnMenu )
1412 EVT_MENU( CmdMenu_RotateObject90Right().GetId() , a2dCanvasCommandProcessor::OnMenu )
1414 EVT_MENU( CmdMenu_SetSnapFeatures().GetId() , a2dCanvasCommandProcessor::OnMenu )
1415 EVT_MENU( CmdMenu_SetSnapFeature().GetId() , a2dCanvasCommandProcessor::OnMenu )
1416 EVT_MENU( CmdMenu_SetStroke().GetId() , a2dCanvasCommandProcessor::OnMenu )
1417 EVT_MENU( CmdMenu_SetFill().GetId() , a2dCanvasCommandProcessor::OnMenu )
1418 EVT_MENU( CmdMenu_SetStrokeColour().GetId() , a2dCanvasCommandProcessor::OnMenu )
1419 EVT_MENU( CmdMenu_SetFillColour().GetId() , a2dCanvasCommandProcessor::OnMenu )
1420 EVT_MENU( CmdMenu_SetContourWidth().GetId() , a2dCanvasCommandProcessor::OnMenu )
1421 EVT_MENU( CmdMenu_SetPathType().GetId() , a2dCanvasCommandProcessor::OnMenu )
1422 EVT_MENU( CmdMenu_SetNormalizeFactor().GetId() , a2dCanvasCommandProcessor::OnMenu )
1424 EVT_MENU( CmdMenu_ShowDiagram().GetId() , a2dCanvasCommandProcessor::OnMenu )
1425 EVT_MENU( CmdMenu_ShowSymbol().GetId() , a2dCanvasCommandProcessor::OnMenu )
1426 EVT_MENU( CmdMenu_ShowGui().GetId() , a2dCanvasCommandProcessor::OnMenu )
1428 EVT_MENU( CmdMenu_Refresh().GetId() , a2dCanvasCommandProcessor::OnMenu )
1429 EVT_MENU( CmdMenu_ZoomOut().GetId() , a2dCanvasCommandProcessor::OnMenu )
1430 EVT_MENU( CmdMenu_ZoomOut2().GetId() , a2dCanvasCommandProcessor::OnMenu )
1431 EVT_MENU( CmdMenu_ZoomIn2().GetId() , a2dCanvasCommandProcessor::OnMenu )
1432 EVT_MENU( CmdMenu_ZoomOut2CondSelected().GetId() , a2dCanvasCommandProcessor::OnMenu )
1433 EVT_MENU( CmdMenu_ZoomIn2CondSelected().GetId() , a2dCanvasCommandProcessor::OnMenu )
1435 EVT_MENU( CmdMenu_EmptyShownObject().GetId() , a2dCanvasCommandProcessor::OnMenu )
1441 EVT_MENU( CmdMenu_PushInto().GetId() , a2dCanvasCommandProcessor::OnMenu )
1442 EVT_MENU( CmdMenu_PopOut().GetId() , a2dCanvasCommandProcessor::OnMenu )
1443 EVT_MENU( CmdMenu_NewGroup().GetId() , a2dCanvasCommandProcessor::OnMenu )
1444 EVT_MENU( CmdMenu_NewPin().GetId() , a2dCanvasCommandProcessor::OnMenu )
1445 EVT_MENU( CmdMenu_SaveLayersDrawing().GetId() , a2dCanvasCommandProcessor::OnMenu )
1446 EVT_MENU( CmdMenu_SaveLayersDrawingHome().GetId() , a2dCanvasCommandProcessor::OnMenu )
1447 EVT_MENU( CmdMenu_SaveLayersDrawingLastDir().GetId() , a2dCanvasCommandProcessor::OnMenu )
1448 EVT_MENU( CmdMenu_SaveLayersDrawingCurrentDir().GetId() , a2dCanvasCommandProcessor::OnMenu )
1449 EVT_MENU( CmdMenu_LoadLayersDrawing().GetId() , a2dCanvasCommandProcessor::OnMenu )
1450 EVT_MENU( CmdMenu_LoadLayersDrawingHome().GetId() , a2dCanvasCommandProcessor::OnMenu )
1451 EVT_MENU( CmdMenu_LoadLayersDrawingLastDir().GetId() , a2dCanvasCommandProcessor::OnMenu )
1452 EVT_MENU( CmdMenu_LoadLayersDrawingCurrentDir().GetId() , a2dCanvasCommandProcessor::OnMenu )
1454 EVT_MENU( CmdMenu_SetCursor().GetId() , a2dCanvasCommandProcessor::OnMenu )
1455 EVT_MENU( CmdMenu_SetRelativeStart().GetId() , a2dCanvasCommandProcessor::OnMenu )
1456 EVT_MENU( CmdMenu_AddMeasurement().GetId() , a2dCanvasCommandProcessor::OnMenu )
1457 EVT_MENU( CmdMenu_ClearMeasurements().GetId() , a2dCanvasCommandProcessor::OnMenu )
1459 EVT_MENU( CmdMenu_Selected_SelectAll().GetId() , a2dCanvasCommandProcessor::OnMenu )
1460 EVT_MENU( CmdMenu_Selected_DeSelectAll().GetId() , a2dCanvasCommandProcessor::OnMenu )
1461 EVT_MENU( CmdMenu_Selected_SelectAll_NoUndo().GetId() , a2dCanvasCommandProcessor::OnMenu )
1462 EVT_MENU( CmdMenu_Selected_DeSelectAll_NoUndo().GetId() , a2dCanvasCommandProcessor::OnMenu )
1464 EVT_MENU( CmdMenu_Selected_Delete().GetId() , a2dCanvasCommandProcessor::OnMenu )
1465 EVT_MENU( CmdMenu_Selected_Group().GetId() , a2dCanvasCommandProcessor::OnMenu )
1466 EVT_MENU( CmdMenu_Selected_ImageToRectangles().GetId() , a2dCanvasCommandProcessor::OnMenu )
1467 EVT_MENU( CmdMenu_Selected_ToTop().GetId() , a2dCanvasCommandProcessor::OnMenu )
1468 EVT_MENU( CmdMenu_Selected_ToBack().GetId() , a2dCanvasCommandProcessor::OnMenu )
1469 EVT_MENU( CmdMenu_Selected_SetStyle().GetId() , a2dCanvasCommandProcessor::OnMenu )
1470 EVT_MENU( CmdMenu_Selected_SetExtStyle().GetId() , a2dCanvasCommandProcessor::OnMenu )
1471 EVT_MENU( CmdMenu_Selected_SetTextChanges().GetId() , a2dCanvasCommandProcessor::OnMenu )
1472 EVT_MENU( CmdMenu_Selected_SetTextChanges2().GetId() , a2dCanvasCommandProcessor::OnMenu )
1473 EVT_MENU( CmdMenu_Selected_ConvertToPolygonPolylinesWithArcs().GetId() , a2dCanvasCommandProcessor::OnMenu )
1474 EVT_MENU( CmdMenu_Selected_ConvertToPolygonPolylinesWithoutArcs().GetId() , a2dCanvasCommandProcessor::OnMenu )
1475 EVT_MENU( CmdMenu_Selected_ConvertToPolylines().GetId() , a2dCanvasCommandProcessor::OnMenu )
1476 EVT_MENU( CmdMenu_Selected_ConvertLinesArcs().GetId() , a2dCanvasCommandProcessor::OnMenu )
1477 EVT_MENU( CmdMenu_Selected_ConvertToVPaths().GetId() , a2dCanvasCommandProcessor::OnMenu )
1478 EVT_MENU( CmdMenu_Selected_ConvertPolygonToArcs().GetId() , a2dCanvasCommandProcessor::OnMenu )
1479 EVT_MENU( CmdMenu_Selected_ConvertPolylineToArcs().GetId() , a2dCanvasCommandProcessor::OnMenu )
1480 EVT_MENU( CmdMenu_Selected_ConvertPathToPolygon().GetId() , a2dCanvasCommandProcessor::OnMenu )
1481 EVT_MENU( CmdMenu_Selected_ConvertPolygonToSurface().GetId() , a2dCanvasCommandProcessor::OnMenu )
1482 EVT_MENU( CmdMenu_Selected_ConvertSurfaceToPolygon().GetId() , a2dCanvasCommandProcessor::OnMenu )
1483 EVT_MENU( CmdMenu_Selected_UnGroup().GetId() , a2dCanvasCommandProcessor::OnMenu )
1484 EVT_MENU( CmdMenu_Selected_UnGroupDeep().GetId() , a2dCanvasCommandProcessor::OnMenu )
1485 EVT_MENU( CmdMenu_Selected_Merge().GetId() , a2dCanvasCommandProcessor::OnMenu )
1486 EVT_MENU( CmdMenu_Selected_Offset().GetId() , a2dCanvasCommandProcessor::OnMenu )
1487 EVT_MENU( CmdMenu_Selected_CreateRing().GetId() , a2dCanvasCommandProcessor::OnMenu )
1488 EVT_MENU( CmdMenu_Selected_CameleonDiagram().GetId() , a2dCanvasCommandProcessor::OnMenu )
1489 EVT_MENU( CmdMenu_Selected_CameleonSymbol().GetId() , a2dCanvasCommandProcessor::OnMenu )
1490 EVT_MENU( CmdMenu_Selected_FlattenCameleon().GetId() , a2dCanvasCommandProcessor::OnMenu )
1491 EVT_MENU( CmdMenu_Selected_CloneCameleonFromInst().GetId() , a2dCanvasCommandProcessor::OnMenu )
1492 EVT_MENU( CmdMenu_Selected_MoveXY().GetId() , a2dCanvasCommandProcessor::OnMenu )
1493 EVT_MENU( CmdMenu_Selected_MoveLayer().GetId() , a2dCanvasCommandProcessor::OnMenu )
1494 EVT_MENU( CmdMenu_Selected_CopyXY().GetId() , a2dCanvasCommandProcessor::OnMenu )
1495 EVT_MENU( CmdMenu_Selected_CopyLayer().GetId() , a2dCanvasCommandProcessor::OnMenu )
1496 EVT_MENU( CmdMenu_Selected_Transform().GetId() , a2dCanvasCommandProcessor::OnMenu )
1497 EVT_MENU( CmdMenu_Selected_Rotate().GetId() , a2dCanvasCommandProcessor::OnMenu )
1499 EVT_MENU( CmdMenu_Selected_Align_MinX().GetId() , a2dCanvasCommandProcessor::OnMenu )
1500 EVT_MENU( CmdMenu_Selected_Align_MaxX().GetId() , a2dCanvasCommandProcessor::OnMenu )
1501 EVT_MENU( CmdMenu_Selected_Align_MinY().GetId() , a2dCanvasCommandProcessor::OnMenu )
1502 EVT_MENU( CmdMenu_Selected_Align_MaxY().GetId() , a2dCanvasCommandProcessor::OnMenu )
1503 EVT_MENU( CmdMenu_Selected_Align_MidX().GetId() , a2dCanvasCommandProcessor::OnMenu )
1504 EVT_MENU( CmdMenu_Selected_Align_MidY().GetId() , a2dCanvasCommandProcessor::OnMenu )
1505 EVT_MENU( CmdMenu_Selected_Align_MirrorVert().GetId() , a2dCanvasCommandProcessor::OnMenu )
1506 EVT_MENU( CmdMenu_Selected_Align_MirrorHorz().GetId() , a2dCanvasCommandProcessor::OnMenu )
1507 EVT_MENU( CmdMenu_Selected_Align_MirrorVertBbox().GetId() , a2dCanvasCommandProcessor::OnMenu )
1508 EVT_MENU( CmdMenu_Selected_Align_MirrorHorzBbox().GetId() , a2dCanvasCommandProcessor::OnMenu )
1509 EVT_MENU( CmdMenu_Selected_Align_DistributeVert().GetId() , a2dCanvasCommandProcessor::OnMenu )
1510 EVT_MENU( CmdMenu_Selected_Align_DistributeHorz().GetId() , a2dCanvasCommandProcessor::OnMenu )
1511 EVT_MENU( CmdMenu_Selected_Align_MinX_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1512 EVT_MENU( CmdMenu_Selected_Align_MaxX_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1513 EVT_MENU( CmdMenu_Selected_Align_MinY_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1514 EVT_MENU( CmdMenu_Selected_Align_MaxY_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1515 EVT_MENU( CmdMenu_Selected_Align_MidX_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1516 EVT_MENU( CmdMenu_Selected_Align_MidY_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1517 EVT_MENU( CmdMenu_Selected_Align_MirrorVert_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1518 EVT_MENU( CmdMenu_Selected_Align_MirrorHorz_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1519 EVT_MENU( CmdMenu_Selected_Align_MirrorVertBbox_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1520 EVT_MENU( CmdMenu_Selected_Align_MirrorHorzBbox_Dest().GetId() , a2dCanvasCommandProcessor::OnMenu )
1522 EVT_MENU( CmdMenu_Selected_RotateObject90Left().GetId() , a2dCanvasCommandProcessor::OnMenu )
1523 EVT_MENU( CmdMenu_Selected_RotateObject90Right().GetId() , a2dCanvasCommandProcessor::OnMenu )
1525 EVT_MENU( CmdMenu_GroupAB_Offset().GetId() , a2dCanvasCommandProcessor::OnMenu )
1526 EVT_MENU( CmdMenu_GroupAB_Smooth().GetId() , a2dCanvasCommandProcessor::OnMenu )
1527 EVT_MENU( CmdMenu_GroupAB_CreateRing().GetId() , a2dCanvasCommandProcessor::OnMenu )
1528 EVT_MENU( CmdMenu_GroupAB_Delete().GetId() , a2dCanvasCommandProcessor::OnMenu )
1529 EVT_MENU( CmdMenu_GroupAB_Move().GetId() , a2dCanvasCommandProcessor::OnMenu )
1530 EVT_MENU( CmdMenu_GroupAB_Copy().GetId() , a2dCanvasCommandProcessor::OnMenu )
1531 EVT_MENU( CmdMenu_GroupAB_ToArcs().GetId() , a2dCanvasCommandProcessor::OnMenu )
1532 EVT_MENU( CmdMenu_GroupAB_Or().GetId() , a2dCanvasCommandProcessor::OnMenu )
1533 EVT_MENU( CmdMenu_GroupAB_And().GetId() , a2dCanvasCommandProcessor::OnMenu )
1534 EVT_MENU( CmdMenu_GroupAB_Exor().GetId() , a2dCanvasCommandProcessor::OnMenu )
1535 EVT_MENU( CmdMenu_GroupAB_AsubB().GetId() , a2dCanvasCommandProcessor::OnMenu )
1536 EVT_MENU( CmdMenu_GroupAB_BsubA().GetId() , a2dCanvasCommandProcessor::OnMenu )
1537 EVT_MENU( CmdMenu_GroupAB_ConvertPolygonToSurface().GetId() , a2dCanvasCommandProcessor::OnMenu )
1538 EVT_MENU( CmdMenu_GroupAB_ConvertSurfaceToPolygon().GetId() , a2dCanvasCommandProcessor::OnMenu )
1542 EVT_MENU( CmdMenu_PushTool_Zoom_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1543 EVT_MENU( CmdMenu_PushTool_FastZoom_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1544 EVT_MENU( CmdMenu_PushTool_Select_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1545 EVT_MENU( CmdMenu_PushTool_Select2_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1546 EVT_MENU( CmdMenu_PushTool_FastSelect_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1547 EVT_MENU( CmdMenu_PushTool_FastSelect2_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1548 EVT_MENU( CmdMenu_PushTool_RecursiveEdit_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1549 EVT_MENU( CmdMenu_PushTool_MultiEdit_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1550 EVT_MENU( CmdMenu_PushTool_Drag_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1551 EVT_MENU( CmdMenu_PushTool_DragOriginal_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1552 EVT_MENU( CmdMenu_PushTool_Copy_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1553 EVT_MENU( CmdMenu_PushTool_Rotate_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1554 EVT_MENU( CmdMenu_PushTool_Delete_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1555 EVT_MENU( CmdMenu_PushTool_DrawText_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1556 EVT_MENU( CmdMenu_PushTool_Image_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1557 EVT_MENU( CmdMenu_PushTool_DrawRectangleFast_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1558 EVT_MENU( CmdMenu_PushTool_DrawRectangle_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1559 EVT_MENU( CmdMenu_PushTool_DrawCircle_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1560 EVT_MENU( CmdMenu_PushTool_DrawCircleFast_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1561 EVT_MENU( CmdMenu_PushTool_DrawLine_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1562 EVT_MENU( CmdMenu_PushTool_DrawLineScaledArrow_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1563 EVT_MENU( CmdMenu_PushTool_DrawEllipse_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1564 EVT_MENU( CmdMenu_PushTool_DrawEllipticArc_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1565 EVT_MENU( CmdMenu_PushTool_DrawEllipticArc_Chord_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1566 EVT_MENU( CmdMenu_PushTool_DrawArc_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1567 EVT_MENU( CmdMenu_PushTool_DrawArc_Chord_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1568 EVT_MENU( CmdMenu_PushTool_DrawPolylineL_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1569 EVT_MENU( CmdMenu_PushTool_DrawPolylineL_Splined_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1570 EVT_MENU( CmdMenu_PushTool_DrawPolylineLFast_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1571 EVT_MENU( CmdMenu_PushTool_DrawPolygonL_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1572 EVT_MENU( CmdMenu_PushTool_DrawPolygonL_Splined_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1573 EVT_MENU( CmdMenu_PushTool_DrawPolygonLFast_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1574 EVT_MENU( CmdMenu_PushTool_Property_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1575 EVT_MENU( CmdMenu_PushTool_DragMulti_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1576 EVT_MENU( CmdMenu_PushTool_FastDragMulti_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1577 EVT_MENU( CmdMenu_PushTool_CopyMulti_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1578 EVT_MENU( CmdMenu_PushTool_FastCopyMulti_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1579 EVT_MENU( CmdMenu_PushTool_Measure_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1580 EVT_MENU( CmdMenu_PushTool_DrawWirePolylineL_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1581 EVT_MENU( CmdMenu_PushTool_DrawVPath_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1584 EVT_MENU( CmdMenu_PushTool_Zoom().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1585 EVT_MENU( CmdMenu_PushTool_FastZoom().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1586 EVT_MENU( CmdMenu_PushTool_Select().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1587 EVT_MENU( CmdMenu_PushTool_Select2().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1588 EVT_MENU( CmdMenu_PushTool_FastSelect().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1589 EVT_MENU( CmdMenu_PushTool_FastSelect2().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1590 EVT_MENU( CmdMenu_PushTool_RecursiveEdit().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1591 EVT_MENU( CmdMenu_PushTool_MultiEdit().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1592 EVT_MENU( CmdMenu_PushTool_Drag().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1593 EVT_MENU( CmdMenu_PushTool_DragOriginal().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1594 EVT_MENU( CmdMenu_PushTool_Copy().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1595 EVT_MENU( CmdMenu_PushTool_Rotate().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1596 EVT_MENU( CmdMenu_PushTool_Delete().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1597 EVT_MENU( CmdMenu_PushTool_DrawText().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1598 EVT_MENU( CmdMenu_PushTool_Image().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1599 EVT_MENU( CmdMenu_PushTool_DrawRectangleFast().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1600 EVT_MENU( CmdMenu_PushTool_DrawRectangle().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1601 EVT_MENU( CmdMenu_PushTool_DrawCircle().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1602 EVT_MENU( CmdMenu_PushTool_DrawCircleFast().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1603 EVT_MENU( CmdMenu_PushTool_DrawLine().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1604 EVT_MENU( CmdMenu_PushTool_DrawLineScaledArrow().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1605 EVT_MENU( CmdMenu_PushTool_DrawEllipse().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1606 EVT_MENU( CmdMenu_PushTool_DrawEllipticArc().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1607 EVT_MENU( CmdMenu_PushTool_DrawEllipticArc_Chord().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1608 EVT_MENU( CmdMenu_PushTool_DrawArc().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1609 EVT_MENU( CmdMenu_PushTool_DrawArc_Chord().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1610 EVT_MENU( CmdMenu_PushTool_DrawPolylineL().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1611 EVT_MENU( CmdMenu_PushTool_DrawPolylineL_Splined().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1612 EVT_MENU( CmdMenu_PushTool_DrawPolylineLFast().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1613 EVT_MENU( CmdMenu_PushTool_DrawPolygonL().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1614 EVT_MENU( CmdMenu_PushTool_DrawPolygonL_Splined().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1615 EVT_MENU( CmdMenu_PushTool_DrawPolygonLFast().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1616 EVT_MENU( CmdMenu_PushTool_Property().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1617 EVT_MENU( CmdMenu_PushTool_DragMulti().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1618 EVT_MENU( CmdMenu_PushTool_FastDragMulti().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1619 EVT_MENU( CmdMenu_PushTool_CopyMulti().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1620 EVT_MENU( CmdMenu_PushTool_FastCopyMulti().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1621 EVT_MENU( CmdMenu_PushTool_Measure().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1622 EVT_MENU( CmdMenu_PushTool_DrawWirePolylineL().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1623 EVT_MENU( CmdMenu_PushTool_DrawVPath().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1624 EVT_MENU( CmdMenu_PushTool_Port().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1625 EVT_MENU( CmdMenu_PushTool_Cameleon().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1626 EVT_MENU( CmdMenu_PushTool_Cameleon_BuildIn().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1627 EVT_MENU( CmdMenu_PushTool_CameleonInst().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1628 EVT_MENU( CmdMenu_PushTool_CameleonInstDlg().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1629 EVT_MENU( CmdMenu_PushTool_CameleonRefDlg().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1630 EVT_MENU( CmdMenu_PushTool_CameleonRefDlg_Diagram().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1631 EVT_MENU( CmdMenu_PushTool_CameleonRefDlg_Symbol().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1632 EVT_MENU( CmdMenu_PushTool_TagGroups().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1633 EVT_MENU( CmdMenu_PushTool_TagGroups_WireMode().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1634 EVT_MENU( CmdMenu_PushTool_TagGroups_DlgMode().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1635 EVT_MENU( CmdMenu_PushTool_TagGroups_WireMode_DlgMode().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1636 EVT_MENU( CmdMenu_PushTool_SingleClick().GetId() , a2dCanvasCommandProcessor::OnPushToolMenu )
1638 EVT_MENU( CmdMenu_PopTool().GetId() , a2dCanvasCommandProcessor::OnMenu )
1639 EVT_MENU( CmdMenu_InsertGroupRef().GetId() , a2dCanvasCommandProcessor::OnMenu )
1641 EVT_MENU( CmdMenu_SetMasterTool_SelectFirst().GetId() , a2dCanvasCommandProcessor::OnMenu )
1642 EVT_MENU( CmdMenu_SetMasterTool_ZoomFirst().GetId() , a2dCanvasCommandProcessor::OnMenu )
1643 EVT_MENU( CmdMenu_SetMasterTool_TagGroups().GetId() , a2dCanvasCommandProcessor::OnMenu )
1644 EVT_MENU( CmdMenu_SetMasterTool_TagGroups_WireMode().GetId() , a2dCanvasCommandProcessor::OnMenu )
1645 EVT_MENU( CmdMenu_SetMasterTool_TagGroups_WireMode_DlgMode().GetId() , a2dCanvasCommandProcessor::OnMenu )
1646 EVT_MENU( CmdMenu_SetMasterTool_TagGroups_DlgMode().GetId() , a2dCanvasCommandProcessor::OnMenu )
1647 EVT_MENU( CmdMenu_SetMasterTool_SingleClick().GetId() , a2dCanvasCommandProcessor::OnMenu )
1649 EVT_MENU( CmdMenu_LineBegin().GetId() , a2dCanvasCommandProcessor::OnMenu )
1650 EVT_MENU( CmdMenu_LineEnd().GetId() , a2dCanvasCommandProcessor::OnMenu )
1651 EVT_MENU( CmdMenu_LineScale().GetId() , a2dCanvasCommandProcessor::OnMenu )
1653 EVT_MENU( CmdMenu_SetLayerDlg().GetId() , a2dCanvasCommandProcessor::OnMenu )
1654 EVT_MENU( CmdMenu_SetTargetDlg().GetId() , a2dCanvasCommandProcessor::OnMenu )
1655 EVT_MENU( CmdMenu_SetLayerDlgModeless().GetId() , a2dCanvasCommandProcessor::OnMenu )
1656 EVT_MENU( CmdMenu_SetBackgroundStyle().GetId() , a2dCanvasCommandProcessor::OnMenu )
1658 EVT_MENU( CmdMenu_PrintDrawing().GetId(), a2dCanvasCommandProcessor::OnMenu )
1659 EVT_MENU( CmdMenu_PreviewDrawing().GetId(), a2dCanvasCommandProcessor::OnMenu )
1660 EVT_MENU( CmdMenu_PrintDrawingPart().GetId(), a2dCanvasCommandProcessor::OnMenu )
1661 EVT_MENU( CmdMenu_PreviewDrawingPart().GetId(), a2dCanvasCommandProcessor::OnMenu )
1663 EVT_UPDATE_UI( CmdMenu_SetLayerDlgModeless().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1664 EVT_UPDATE_UI( CmdMenu_SetMasterTool_SelectFirst().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1665 EVT_UPDATE_UI( CmdMenu_SetMasterTool_ZoomFirst().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1666 EVT_UPDATE_UI( CmdMenu_SetMasterTool_TagGroups().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1667 EVT_UPDATE_UI( CmdMenu_SetMasterTool_TagGroups_WireMode().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1668 EVT_UPDATE_UI( CmdMenu_SetMasterTool_TagGroups_WireMode_DlgMode().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1669 EVT_UPDATE_UI( CmdMenu_SetMasterTool_TagGroups_DlgMode().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1670 EVT_UPDATE_UI( CmdMenu_SetMasterTool_SingleClick().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1676 EVT_UPDATE_UI( CmdMenu_SetDrawWireFrame().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1677 EVT_UPDATE_UI( CmdMenu_DrawGridLines().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1678 EVT_UPDATE_UI( CmdMenu_DrawGridAtFront().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1679 EVT_UPDATE_UI( CmdMenu_DrawGrid().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1680 EVT_UPDATE_UI( CmdMenu_SetSnap().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1681 EVT_UPDATE_UI( CmdMenu_SetYAxis().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1682 EVT_UPDATE_UI( CmdMenu_Option_SplinePoly().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1683 EVT_UPDATE_UI( CmdMenu_Option_CursorCrosshair().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1684 EVT_UPDATE_UI( CmdMenu_Option_RescaleAtReSize().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1685 EVT_UPDATE_UI( CmdMenu_Option_ReverseLayers().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1687 EVT_UPDATE_UI( CmdMenu_RouteMethod_StraightEndSegment().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1688 EVT_UPDATE_UI( CmdMenu_RouteMethod_StraightEndSegmentUnlessPins().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1689 EVT_UPDATE_UI( CmdMenu_RouteMethod_StraightSegment().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1690 EVT_UPDATE_UI( CmdMenu_RouteMethod_StraightSegmentUnlessPins().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1691 EVT_UPDATE_UI( CmdMenu_RouteMethod_GridRouting().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1692 EVT_UPDATE_UI( CmdMenu_RouteMethod_ManhattanSegments().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1693 EVT_UPDATE_UI( CmdMenu_RouteMethod_ManhattanEndSegments().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1694 EVT_UPDATE_UI( CmdMenu_RouteMethod_ManhattanEndSegmentsStay().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1695 EVT_UPDATE_UI( CmdMenu_RouteMethod_ManhattanEndSegmentsConvertAndStay().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1697 EVT_UPDATE_UI( CmdMenu_RotateObject90Left().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1698 EVT_UPDATE_UI( CmdMenu_RotateObject90Right().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1703 EVT_UPDATE_UI( CmdMenu_ZoomOut().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1704 EVT_UPDATE_UI( CmdMenu_ZoomOut2().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1705 EVT_UPDATE_UI( CmdMenu_ZoomIn2().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1706 EVT_UPDATE_UI( CmdMenu_ZoomOut2CondSelected().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1707 EVT_UPDATE_UI( CmdMenu_ZoomIn2CondSelected().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1709 EVT_UPDATE_UI( CmdMenu_Selected_SelectAll().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1710 EVT_UPDATE_UI( CmdMenu_Selected_DeSelectAll().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1711 EVT_UPDATE_UI( CmdMenu_Selected_SelectAll_NoUndo().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1712 EVT_UPDATE_UI( CmdMenu_Selected_DeSelectAll_NoUndo().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1713 EVT_UPDATE_UI( CmdMenu_Selected_Delete().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1714 EVT_UPDATE_UI( CmdMenu_Selected_Group().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1715 EVT_UPDATE_UI( CmdMenu_Selected_ImageToRectangles().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1716 EVT_UPDATE_UI( CmdMenu_Selected_ToTop().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1717 EVT_UPDATE_UI( CmdMenu_Selected_ToBack().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1718 EVT_UPDATE_UI( CmdMenu_Selected_SetStyle().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1719 EVT_UPDATE_UI( CmdMenu_Selected_SetExtStyle().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1720 EVT_UPDATE_UI( CmdMenu_Selected_SetTextChanges().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1721 EVT_UPDATE_UI( CmdMenu_Selected_SetTextChanges2().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1722 EVT_UPDATE_UI( CmdMenu_Selected_ConvertToPolygonPolylinesWithArcs().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1723 EVT_UPDATE_UI( CmdMenu_Selected_ConvertToPolygonPolylinesWithoutArcs().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1724 EVT_UPDATE_UI( CmdMenu_Selected_ConvertToPolylines().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1725 EVT_UPDATE_UI( CmdMenu_Selected_ConvertLinesArcs().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1726 EVT_UPDATE_UI( CmdMenu_Selected_ConvertToVPaths().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1727 EVT_UPDATE_UI( CmdMenu_Selected_ConvertPolygonToArcs().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1728 EVT_UPDATE_UI( CmdMenu_Selected_ConvertPolylineToArcs().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1729 EVT_UPDATE_UI( CmdMenu_Selected_ConvertPathToPolygon().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1730 EVT_UPDATE_UI( CmdMenu_Selected_ConvertPolygonToSurface().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1731 EVT_UPDATE_UI( CmdMenu_Selected_ConvertSurfaceToPolygon().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1732 EVT_UPDATE_UI( CmdMenu_Selected_UnGroup().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1733 EVT_UPDATE_UI( CmdMenu_Selected_UnGroupDeep().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1734 EVT_UPDATE_UI( CmdMenu_Selected_Merge().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1735 EVT_UPDATE_UI( CmdMenu_Selected_Offset().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1736 EVT_UPDATE_UI( CmdMenu_Selected_CreateRing().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1737 EVT_UPDATE_UI( CmdMenu_Selected_CameleonDiagram().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1738 EVT_UPDATE_UI( CmdMenu_Selected_CameleonSymbol().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1739 EVT_UPDATE_UI( CmdMenu_Selected_FlattenCameleon().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1740 EVT_UPDATE_UI( CmdMenu_Selected_CloneCameleonFromInst().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1741 EVT_UPDATE_UI( CmdMenu_Selected_MoveXY().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1742 EVT_UPDATE_UI( CmdMenu_Selected_MoveLayer().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1743 EVT_UPDATE_UI( CmdMenu_Selected_CopyXY().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1744 EVT_UPDATE_UI( CmdMenu_Selected_CopyLayer().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1745 EVT_UPDATE_UI( CmdMenu_Selected_Transform().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1746 EVT_UPDATE_UI( CmdMenu_Selected_Rotate().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1748 EVT_UPDATE_UI( CmdMenu_Selected_Align_MinX().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1749 EVT_UPDATE_UI( CmdMenu_Selected_Align_MaxX().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1750 EVT_UPDATE_UI( CmdMenu_Selected_Align_MinY().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1751 EVT_UPDATE_UI( CmdMenu_Selected_Align_MaxY().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1752 EVT_UPDATE_UI( CmdMenu_Selected_Align_MidX().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1753 EVT_UPDATE_UI( CmdMenu_Selected_Align_MidY().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1754 EVT_UPDATE_UI( CmdMenu_Selected_Align_MirrorVert().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1755 EVT_UPDATE_UI( CmdMenu_Selected_Align_MirrorHorz().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1756 EVT_UPDATE_UI( CmdMenu_Selected_Align_MirrorVertBbox().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1757 EVT_UPDATE_UI( CmdMenu_Selected_Align_MirrorHorzBbox().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1758 EVT_UPDATE_UI( CmdMenu_Selected_Align_DistributeVert().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1759 EVT_UPDATE_UI( CmdMenu_Selected_Align_DistributeHorz().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1760 EVT_UPDATE_UI( CmdMenu_Selected_Align_MinX_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1761 EVT_UPDATE_UI( CmdMenu_Selected_Align_MaxX_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1762 EVT_UPDATE_UI( CmdMenu_Selected_Align_MinY_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1763 EVT_UPDATE_UI( CmdMenu_Selected_Align_MaxY_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1764 EVT_UPDATE_UI( CmdMenu_Selected_Align_MidX_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1765 EVT_UPDATE_UI( CmdMenu_Selected_Align_MidY_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1766 EVT_UPDATE_UI( CmdMenu_Selected_Align_MirrorVert_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1767 EVT_UPDATE_UI( CmdMenu_Selected_Align_MirrorHorz_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1768 EVT_UPDATE_UI( CmdMenu_Selected_Align_MirrorVertBbox_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1769 EVT_UPDATE_UI( CmdMenu_Selected_Align_MirrorHorzBbox_Dest().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1770 EVT_UPDATE_UI( CmdMenu_Selected_RotateObject90Left().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1771 EVT_UPDATE_UI( CmdMenu_Selected_RotateObject90Right().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1773 EVT_UPDATE_UI( CmdMenu_PushInto().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1774 EVT_UPDATE_UI( CmdMenu_PopOut().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1776 EVT_UPDATE_UI( CmdMenu_ShowDiagram().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1777 EVT_UPDATE_UI( CmdMenu_ShowSymbol().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1778 EVT_UPDATE_UI( CmdMenu_ShowGui().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1780 EVT_MENU( CmdMenu_ShowDlgLayersDrawing().GetId() , a2dCanvasCommandProcessor::OnMenu )
1781 EVT_MENU( CmdMenu_ShowDlgTools().GetId() , a2dCanvasCommandProcessor::OnMenu )
1782 EVT_MENU( CmdMenu_ShowDlgStyle().GetId() , a2dCanvasCommandProcessor::OnMenu )
1783 EVT_MENU( CmdMenu_ShowDlgSnap().GetId() , a2dCanvasCommandProcessor::OnMenu )
1784 EVT_MENU( CmdMenu_ShowDlgGroups().GetId() , a2dCanvasCommandProcessor::OnMenu )
1785 EVT_MENU( CmdMenu_ShowDlgIdentify().GetId() , a2dCanvasCommandProcessor::OnMenu )
1786 EVT_MENU( CmdMenu_ShowDlgCoordEntry().GetId() , a2dCanvasCommandProcessor::OnMenu )
1787 EVT_MENU( CmdMenu_ShowDlgMeasure().GetId() , a2dCanvasCommandProcessor::OnMenu )
1788 EVT_MENU( CmdMenu_ShowDlgStructure().GetId() , a2dCanvasCommandProcessor::OnMenu )
1789 EVT_MENU( CmdMenu_ShowDlgStructureModal().GetId() , a2dCanvasCommandProcessor::OnMenu )
1790 EVT_MENU( CmdMenu_ShowDlgCameleonModal().GetId() , a2dCanvasCommandProcessor::OnMenu )
1791 EVT_MENU( CmdMenu_ShowDlgPathSettings().GetId() , a2dCanvasCommandProcessor::OnMenu )
1792 EVT_MENU( CmdMenu_ShowDlgSettings().GetId() , a2dCanvasCommandProcessor::OnMenu )
1793 EVT_MENU( CmdMenu_ShowDlgTrans().GetId() , a2dCanvasCommandProcessor::OnMenu )
1794 EVT_MENU( CmdMenu_ShowDlgPropEdit().GetId() , a2dCanvasCommandProcessor::OnMenu )
1796 EVT_MENU( CmdMenu_SetFont().GetId() , a2dCanvasCommandProcessor::OnMenu )
1798 EVT_UPDATE_UI( CmdMenu_ShowDlgLayersDrawing().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1799 EVT_UPDATE_UI( CmdMenu_ShowDlgTools().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1800 EVT_UPDATE_UI( CmdMenu_ShowDlgStyle().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1801 EVT_UPDATE_UI( CmdMenu_ShowDlgSnap().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1802 EVT_UPDATE_UI( CmdMenu_ShowDlgGroups().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1803 EVT_UPDATE_UI( CmdMenu_ShowDlgIdentify().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1804 EVT_UPDATE_UI( CmdMenu_ShowDlgCoordEntry().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1805 EVT_UPDATE_UI( CmdMenu_ShowDlgMeasure().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1806 EVT_UPDATE_UI( CmdMenu_ShowDlgStructure().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1807 EVT_UPDATE_UI( CmdMenu_ShowDlgStructureModal().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1808 EVT_UPDATE_UI( CmdMenu_ShowDlgPathSettings().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1809 EVT_UPDATE_UI( CmdMenu_ShowDlgSettings().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1810 EVT_UPDATE_UI( CmdMenu_ShowDlgTrans().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1811 EVT_UPDATE_UI( CmdMenu_ShowDlgPropEdit().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1812 EVT_UPDATE_UI( CmdMenu_ShowDlgCameleonModal().GetId() , a2dCanvasCommandProcessor::OnUpdateMenu )
1814 EVT_UPDATE_UI( CmdMenu_PushTool_Zoom_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1815 EVT_UPDATE_UI( CmdMenu_PushTool_FastZoom_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1816 EVT_UPDATE_UI( CmdMenu_PushTool_Select_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1817 EVT_UPDATE_UI( CmdMenu_PushTool_Select2_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1818 EVT_UPDATE_UI( CmdMenu_PushTool_FastSelect_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1819 EVT_UPDATE_UI( CmdMenu_PushTool_FastSelect2_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1820 EVT_UPDATE_UI( CmdMenu_PushTool_RecursiveEdit_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1821 EVT_UPDATE_UI( CmdMenu_PushTool_MultiEdit_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1822 EVT_UPDATE_UI( CmdMenu_PushTool_Drag_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1823 EVT_UPDATE_UI( CmdMenu_PushTool_DragOriginal_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1824 EVT_UPDATE_UI( CmdMenu_PushTool_Copy_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1825 EVT_UPDATE_UI( CmdMenu_PushTool_Rotate_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1826 EVT_UPDATE_UI( CmdMenu_PushTool_Delete_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1827 EVT_UPDATE_UI( CmdMenu_PushTool_DrawText_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1828 EVT_UPDATE_UI( CmdMenu_PushTool_Image_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1829 EVT_UPDATE_UI( CmdMenu_PushTool_DrawRectangleFast_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1830 EVT_UPDATE_UI( CmdMenu_PushTool_DrawRectangle_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1831 EVT_UPDATE_UI( CmdMenu_PushTool_DrawCircle_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1832 EVT_UPDATE_UI( CmdMenu_PushTool_DrawCircleFast_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1833 EVT_UPDATE_UI( CmdMenu_PushTool_DrawLine_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1834 EVT_UPDATE_UI( CmdMenu_PushTool_DrawLineScaledArrow_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1835 EVT_UPDATE_UI( CmdMenu_PushTool_DrawEllipse_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1836 EVT_UPDATE_UI( CmdMenu_PushTool_DrawEllipticArc_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1837 EVT_UPDATE_UI( CmdMenu_PushTool_DrawEllipticArc_Chord_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1838 EVT_UPDATE_UI( CmdMenu_PushTool_DrawArc_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1839 EVT_UPDATE_UI( CmdMenu_PushTool_DrawArc_Chord_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1840 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolylineL_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1841 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolylineL_Splined_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1842 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolylineLFast_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1843 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolygonL_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1844 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolygonL_Splined_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1845 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolygonLFast_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1846 EVT_UPDATE_UI( CmdMenu_PushTool_Property_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1847 EVT_UPDATE_UI( CmdMenu_PushTool_DragMulti_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1848 EVT_UPDATE_UI( CmdMenu_PushTool_FastDragMulti_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1849 EVT_UPDATE_UI( CmdMenu_PushTool_CopyMulti_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1850 EVT_UPDATE_UI( CmdMenu_PushTool_FastCopyMulti_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1851 EVT_UPDATE_UI( CmdMenu_PushTool_Measure_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1852 EVT_UPDATE_UI( CmdMenu_PushTool_DrawWirePolylineL_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1853 EVT_UPDATE_UI( CmdMenu_PushTool_DrawVPath_OneShot().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1855 EVT_UPDATE_UI( CmdMenu_PushTool_Zoom().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1856 EVT_UPDATE_UI( CmdMenu_PushTool_FastZoom().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1857 EVT_UPDATE_UI( CmdMenu_PushTool_Select().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1858 EVT_UPDATE_UI( CmdMenu_PushTool_Select2().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1859 EVT_UPDATE_UI( CmdMenu_PushTool_FastSelect().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1860 EVT_UPDATE_UI( CmdMenu_PushTool_FastSelect2().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1861 EVT_UPDATE_UI( CmdMenu_PushTool_RecursiveEdit().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1862 EVT_UPDATE_UI( CmdMenu_PushTool_MultiEdit().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1863 EVT_UPDATE_UI( CmdMenu_PushTool_Drag().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1864 EVT_UPDATE_UI( CmdMenu_PushTool_DragOriginal().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1865 EVT_UPDATE_UI( CmdMenu_PushTool_Copy().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1866 EVT_UPDATE_UI( CmdMenu_PushTool_Rotate().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1867 EVT_UPDATE_UI( CmdMenu_PushTool_Delete().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1868 EVT_UPDATE_UI( CmdMenu_PushTool_DrawText().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1869 EVT_UPDATE_UI( CmdMenu_PushTool_Image().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1870 EVT_UPDATE_UI( CmdMenu_PushTool_DrawRectangleFast().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1871 EVT_UPDATE_UI( CmdMenu_PushTool_DrawRectangle().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1872 EVT_UPDATE_UI( CmdMenu_PushTool_DrawCircle().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1873 EVT_UPDATE_UI( CmdMenu_PushTool_DrawCircleFast().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1874 EVT_UPDATE_UI( CmdMenu_PushTool_DrawLine().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1875 EVT_UPDATE_UI( CmdMenu_PushTool_DrawLineScaledArrow().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1876 EVT_UPDATE_UI( CmdMenu_PushTool_DrawEllipse().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1877 EVT_UPDATE_UI( CmdMenu_PushTool_DrawEllipticArc().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1878 EVT_UPDATE_UI( CmdMenu_PushTool_DrawEllipticArc_Chord().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1879 EVT_UPDATE_UI( CmdMenu_PushTool_DrawArc().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1880 EVT_UPDATE_UI( CmdMenu_PushTool_DrawArc_Chord().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1881 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolylineL().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1882 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolylineL_Splined().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1883 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolylineLFast().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1884 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolygonL().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1885 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolygonL_Splined().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1886 EVT_UPDATE_UI( CmdMenu_PushTool_DrawPolygonLFast().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1887 EVT_UPDATE_UI( CmdMenu_PushTool_Property().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1888 EVT_UPDATE_UI( CmdMenu_PushTool_DragMulti().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1889 EVT_UPDATE_UI( CmdMenu_PushTool_FastDragMulti().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1890 EVT_UPDATE_UI( CmdMenu_PushTool_CopyMulti().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1891 EVT_UPDATE_UI( CmdMenu_PushTool_FastCopyMulti().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1892 EVT_UPDATE_UI( CmdMenu_PushTool_Measure().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1893 EVT_UPDATE_UI( CmdMenu_PushTool_DrawWirePolylineL().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1894 EVT_UPDATE_UI( CmdMenu_PushTool_DrawVPath().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1895 EVT_UPDATE_UI( CmdMenu_PushTool_Port().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1896 EVT_UPDATE_UI( CmdMenu_PushTool_Cameleon().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1897 EVT_UPDATE_UI( CmdMenu_PushTool_Cameleon_BuildIn().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1898 EVT_UPDATE_UI( CmdMenu_PushTool_CameleonInst().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1899 EVT_UPDATE_UI( CmdMenu_PushTool_CameleonInstDlg().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1900 EVT_UPDATE_UI( CmdMenu_PushTool_CameleonRefDlg().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1901 EVT_UPDATE_UI( CmdMenu_PushTool_CameleonRefDlg_Diagram().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1902 EVT_UPDATE_UI( CmdMenu_PushTool_CameleonRefDlg_Symbol().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1903 EVT_UPDATE_UI( CmdMenu_PushTool_TagGroups().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1904 EVT_UPDATE_UI( CmdMenu_PushTool_TagGroups_WireMode().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1905 EVT_UPDATE_UI( CmdMenu_PushTool_TagGroups_DlgMode().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1906 EVT_UPDATE_UI( CmdMenu_PushTool_TagGroups_WireMode_DlgMode().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1907 EVT_UPDATE_UI( CmdMenu_PushTool_SingleClick().GetId() , a2dCanvasCommandProcessor::OnPushToolUpdateMenu )
1914 ToolDlg* a2dCanvasCommandProcessor::m_tooldlg = NULL;
1923 a2dSettings* a2dCanvasCommandProcessor::m_settings = NULL;
1924 a2dTransDlg* a2dCanvasCommandProcessor::m_transset = NULL;
1927 a2dLayerDlg* a2dCanvasCommandProcessor::m_layerChooseDlg = NULL;
1929 a2dCanvasCommandProcessor::a2dCanvasCommandProcessor(
a2dDrawing* drawing,
int maxCommands )
1930 : a2dCommandProcessor( maxCommands )
1932 m_drawing = drawing;
1933 #if defined(_DEBUG) && defined (SMART_POINTER_DEBUG)
1934 CurrentSmartPointerOwner =
this;
1936 #if wxUSE_PRINTING_ARCHITECTURE
1937 m_pageSetupData =
new wxPageSetupDialogData;
1940 m_parent = m_drawing->GetRootObject();
1942 m_AppendOrPrepend =
true;
1944 m_currentobject = 0;
1949 m_meas_x = m_meas_y = 0;
1954 m_layerOrderDlg = NULL;
1955 m_layerChooseDlg = NULL;
1957 m_snapSettings = NULL;
1958 m_identifyDlg = NULL;
1959 m_coordEntry = NULL;
1961 m_pathsettings = NULL;
1967 a2dCanvasCommandProcessor::~a2dCanvasCommandProcessor()
1970 #if wxUSE_PRINTING_ARCHITECTURE
1976 bool a2dCanvasCommandProcessor::IsShownToolDlg() {
return m_tooldlg != NULL && m_tooldlg->IsShown(); }
1978 bool a2dCanvasCommandProcessor::IsShowna2dStyleDialog() {
return m_styledlg != NULL && m_styledlg->IsShown(); }
1980 bool a2dCanvasCommandProcessor::IsShownLayerPropertiesDialog() {
return m_layersdlg != NULL && m_layersdlg->IsShown(); }
1982 bool a2dCanvasCommandProcessor::IsShownLayerOrderDialog() {
return m_layerOrderDlg != NULL && m_layerOrderDlg->IsShown(); }
1984 bool a2dCanvasCommandProcessor::IsShownIdentifyDialog() {
return m_identifyDlg != NULL && m_identifyDlg->IsShown(); }
1986 bool a2dCanvasCommandProcessor::IsShowna2dSnapSettings() {
return m_snapSettings != NULL && m_snapSettings->IsShown(); }
1988 bool a2dCanvasCommandProcessor::IsShowna2dCoordinateEntry() {
return m_coordEntry != NULL && m_coordEntry->IsShown(); }
1990 bool a2dCanvasCommandProcessor::IsShowna2dMeasureDlg() {
return m_measure != NULL && m_measure->IsShown(); }
1992 bool a2dCanvasCommandProcessor::IsShowna2dPathSettings() {
return m_pathsettings != NULL && m_pathsettings->IsShown(); }
1994 bool a2dCanvasCommandProcessor::IsShowna2dSettings() {
return m_settings != NULL && m_settings->IsShown(); }
1996 bool a2dCanvasCommandProcessor::IsShowna2dTransDlg() {
return m_transset != NULL && m_transset->IsShown(); }
2000 bool a2dCanvasCommandProcessor::IsShownStructureDlg() {
return m_structDlg != NULL && m_structDlg->IsShown(); }
2004 static long lastProcessedEventTimeStamp = -1;
2005 if( lastProcessedEventTimeStamp == event.GetTimestamp() )
2007 lastProcessedEventTimeStamp =
event.GetTimestamp();
2010 propertylist =
event.GetPropertyList();
2025 void a2dCanvasCommandProcessor::DeleteDlgs()
2028 m_tooldlg->Destroy();
2031 m_layersdlg->Destroy();
2033 if ( m_layerOrderDlg )
2034 m_layerOrderDlg->Destroy();
2036 if ( m_layerChooseDlg )
2037 m_layerChooseDlg->Destroy();
2039 if ( m_identifyDlg )
2040 m_identifyDlg->Destroy();
2043 m_styledlg->Destroy();
2045 if ( m_snapSettings )
2046 m_snapSettings->Destroy();
2049 m_coordEntry->Destroy();
2052 m_measure->Destroy();
2055 m_transset->Destroy();
2061 m_settings->Destroy();
2063 if ( m_pathsettings )
2064 m_pathsettings->Destroy();
2067 m_structDlg->Destroy();
2071 m_layerOrderDlg = NULL;
2072 m_layerChooseDlg = NULL;
2074 m_snapSettings = NULL;
2075 m_identifyDlg = NULL;
2076 m_coordEntry = NULL;
2078 m_pathsettings = NULL;
2085 bool a2dCanvasCommandProcessor::InsertGroupRef()
2092 a2dCanvasObjectsDialog groups( GetActiveDrawingPart()->GetDisplayWindow(), m_drawing,
true,
false, ( wxSTAY_ON_TOP | wxRESIZE_BORDER | wxCAPTION ) );
2093 if ( groups.ShowModal() == wxID_OK )
2102 bool a2dCanvasCommandProcessor::StaticProcessEvent( wxUpdateUIEvent& event )
2104 DefaultOnUpdateMenu( event );
2108 void a2dCanvasCommandProcessor::DefaultOnUpdateMenu( wxUpdateUIEvent& event )
2118 if ( event.GetId() == CmdMenu_PushTool_Zoom_OneShot().GetId() ||
2119 event.GetId() == CmdMenu_PushTool_Select_OneShot().GetId() ||
2120 event.GetId() == CmdMenu_PushTool_Select2_OneShot().GetId() ||
2121 event.GetId() == CmdMenu_PushTool_FastSelect_OneShot().GetId() ||
2122 event.GetId() == CmdMenu_PushTool_FastSelect2_OneShot().GetId() ||
2123 event.GetId() == CmdMenu_PushTool_RecursiveEdit_OneShot().GetId() ||
2124 event.GetId() == CmdMenu_PushTool_MultiEdit_OneShot().GetId() ||
2125 event.GetId() == CmdMenu_PushTool_DragOriginal_OneShot().GetId() ||
2126 event.GetId() == CmdMenu_PushTool_Drag_OneShot().GetId() ||
2127 event.GetId() == CmdMenu_PushTool_Copy_OneShot().GetId() ||
2128 event.GetId() == CmdMenu_PushTool_Rotate_OneShot().GetId() ||
2129 event.GetId() == CmdMenu_PushTool_Delete_OneShot().GetId() ||
2130 event.GetId() == CmdMenu_PushTool_DrawText_OneShot().GetId() ||
2131 event.GetId() == CmdMenu_PushTool_Image_OneShot().GetId() ||
2132 event.GetId() == CmdMenu_PushTool_DrawCircleFast_OneShot().GetId() ||
2133 event.GetId() == CmdMenu_PushTool_DrawLine_OneShot().GetId() ||
2134 event.GetId() == CmdMenu_PushTool_DrawLineScaledArrow_OneShot().GetId() ||
2135 event.GetId() == CmdMenu_PushTool_DrawEllipse_OneShot().GetId() ||
2136 event.GetId() == CmdMenu_PushTool_DrawEllipticArc_OneShot().GetId() ||
2137 event.GetId() == CmdMenu_PushTool_DrawEllipticArc_Chord_OneShot().GetId() ||
2138 event.GetId() == CmdMenu_PushTool_DrawArc_OneShot().GetId() ||
2139 event.GetId() == CmdMenu_PushTool_DrawArc_Chord_OneShot().GetId() ||
2140 event.GetId() == CmdMenu_PushTool_DrawPolylineL_OneShot().GetId() ||
2141 event.GetId() == CmdMenu_PushTool_DrawPolygonL_OneShot().GetId() ||
2142 event.GetId() == CmdMenu_PushTool_DrawPolylineL_Splined_OneShot().GetId() ||
2143 event.GetId() == CmdMenu_PushTool_DrawPolygonL_Splined_OneShot().GetId() ||
2144 event.GetId() == CmdMenu_PushTool_DrawPolygonLFast_OneShot().GetId() ||
2145 event.GetId() == CmdMenu_PushTool_DrawPolylineLFast_OneShot().GetId() ||
2146 event.GetId() == CmdMenu_PushTool_Property_OneShot().GetId() ||
2147 event.GetId() == CmdMenu_PushTool_FastDragMulti_OneShot().GetId() ||
2148 event.GetId() == CmdMenu_PushTool_FastCopyMulti().GetId() ||
2149 event.GetId() == CmdMenu_PushTool_Measure_OneShot().GetId() ||
2150 event.GetId() == CmdMenu_PushTool_DrawWirePolylineL_OneShot().GetId() ||
2151 event.GetId() == CmdMenu_PushTool_DragMulti_OneShot().GetId() ||
2152 event.GetId() == CmdMenu_PushTool_CopyMulti_OneShot().GetId() ||
2153 event.GetId() == CmdMenu_PushTool_DrawRectangle_OneShot().GetId() ||
2154 event.GetId() == CmdMenu_PushTool_DrawCircle_OneShot().GetId() ||
2155 event.GetId() == CmdMenu_PushTool_DrawVPath_OneShot().GetId() ||
2156 event.GetId() == CmdMenu_PushTool_Zoom().GetId() ||
2157 event.GetId() == CmdMenu_PushTool_Select().GetId() ||
2158 event.GetId() == CmdMenu_PushTool_Select2().GetId() ||
2159 event.GetId() == CmdMenu_PushTool_FastSelect().GetId() ||
2160 event.GetId() == CmdMenu_PushTool_FastSelect2().GetId() ||
2161 event.GetId() == CmdMenu_PushTool_RecursiveEdit().GetId() ||
2162 event.GetId() == CmdMenu_PushTool_MultiEdit().GetId() ||
2163 event.GetId() == CmdMenu_PushTool_DragOriginal().GetId() ||
2164 event.GetId() == CmdMenu_PushTool_Drag().GetId() ||
2165 event.GetId() == CmdMenu_PushTool_Copy().GetId() ||
2166 event.GetId() == CmdMenu_PushTool_Rotate().GetId() ||
2167 event.GetId() == CmdMenu_PushTool_Delete().GetId() ||
2168 event.GetId() == CmdMenu_PushTool_DrawText().GetId() ||
2169 event.GetId() == CmdMenu_PushTool_Image().GetId() ||
2170 event.GetId() == CmdMenu_PushTool_DrawCircleFast().GetId() ||
2171 event.GetId() == CmdMenu_PushTool_DrawLine().GetId() ||
2172 event.GetId() == CmdMenu_PushTool_DrawLineScaledArrow().GetId() ||
2173 event.GetId() == CmdMenu_PushTool_DrawEllipse().GetId() ||
2174 event.GetId() == CmdMenu_PushTool_DrawEllipticArc().GetId() ||
2175 event.GetId() == CmdMenu_PushTool_DrawEllipticArc_Chord().GetId() ||
2176 event.GetId() == CmdMenu_PushTool_DrawArc().GetId() ||
2177 event.GetId() == CmdMenu_PushTool_DrawArc_Chord().GetId() ||
2178 event.GetId() == CmdMenu_PushTool_DrawPolylineL().GetId() ||
2179 event.GetId() == CmdMenu_PushTool_DrawPolygonL().GetId() ||
2180 event.GetId() == CmdMenu_PushTool_DrawPolylineL_Splined().GetId() ||
2181 event.GetId() == CmdMenu_PushTool_DrawPolygonL_Splined().GetId() ||
2182 event.GetId() == CmdMenu_PushTool_DrawPolygonLFast().GetId() ||
2183 event.GetId() == CmdMenu_PushTool_DrawPolylineLFast().GetId() ||
2184 event.GetId() == CmdMenu_PushTool_Property().GetId() ||
2185 event.GetId() == CmdMenu_PushTool_FastDragMulti().GetId() ||
2186 event.GetId() == CmdMenu_PushTool_FastCopyMulti().GetId() ||
2187 event.GetId() == CmdMenu_PushTool_Measure().GetId() ||
2188 event.GetId() == CmdMenu_PushTool_DrawWirePolylineL().GetId() ||
2189 event.GetId() == CmdMenu_PushTool_DragMulti().GetId() ||
2190 event.GetId() == CmdMenu_PushTool_CopyMulti().GetId() ||
2191 event.GetId() == CmdMenu_PushTool_DrawRectangle().GetId() ||
2192 event.GetId() == CmdMenu_PushTool_DrawCircle().GetId() ||
2193 event.GetId() == CmdMenu_PushTool_DrawVPath().GetId() ||
2194 event.GetId() == CmdMenu_PushTool_Port().GetId() ||
2195 event.GetId() == CmdMenu_PushTool_Cameleon().GetId() ||
2196 event.GetId() == CmdMenu_PushTool_Cameleon_BuildIn().GetId() ||
2197 event.GetId() == CmdMenu_PushTool_CameleonInst().GetId() ||
2198 event.GetId() == CmdMenu_PushTool_CameleonInstDlg().GetId() ||
2199 event.GetId() == CmdMenu_PushTool_CameleonRefDlg_Diagram().GetId() ||
2200 event.GetId() == CmdMenu_PushTool_CameleonRefDlg_Symbol().GetId() ||
2201 event.GetId() == CmdMenu_PushTool_CameleonRefDlg().GetId() ||
2202 event.GetId() == CmdMenu_PushTool_TagGroups().GetId() ||
2203 event.GetId() == CmdMenu_PushTool_TagGroups_WireMode().GetId() ||
2204 event.GetId() == CmdMenu_PushTool_TagGroups_DlgMode().GetId() ||
2205 event.GetId() == CmdMenu_PushTool_TagGroups_WireMode_DlgMode().GetId() ||
2206 event.GetId() == CmdMenu_PushTool_SingleClick().GetId() ||
2208 event.GetId() == CmdMenu_ZoomIn2().GetId() ||
2209 event.GetId() == CmdMenu_ZoomOut2().GetId() ||
2210 event.GetId() == CmdMenu_ZoomIn2CondSelected().GetId() ||
2211 event.GetId() == CmdMenu_ZoomOut2CondSelected().GetId() ||
2213 event.GetId() == CmdMenu_ZoomOut().GetId() ||
2214 event.GetId() == CmdMenu_Selected_RotateObject90Right().GetId() ||
2215 event.GetId() == CmdMenu_Selected_RotateObject90Left().GetId() ||
2216 event.GetId() == CmdMenu_Selected_SelectAll().GetId() ||
2217 event.GetId() == CmdMenu_Selected_DeSelectAll().GetId() ||
2218 event.GetId() == CmdMenu_Selected_SelectAll_NoUndo().GetId() ||
2219 event.GetId() == CmdMenu_Selected_DeSelectAll_NoUndo().GetId() ||
2220 event.GetId() == CmdMenu_Selected_Delete().GetId() ||
2221 event.GetId() == CmdMenu_Selected_Group().GetId() ||
2222 event.GetId() == CmdMenu_Selected_ImageToRectangles().GetId() ||
2223 event.GetId() == CmdMenu_Selected_ToTop().GetId() ||
2224 event.GetId() == CmdMenu_Selected_ToBack().GetId() ||
2225 event.GetId() == CmdMenu_Selected_SetStyle().GetId() ||
2226 event.GetId() == CmdMenu_Selected_SetExtStyle().GetId() ||
2227 event.GetId() == CmdMenu_Selected_SetTextChanges().GetId() ||
2228 event.GetId() == CmdMenu_Selected_ConvertToPolygonPolylinesWithArcs().GetId() ||
2229 event.GetId() == CmdMenu_Selected_ConvertToPolygonPolylinesWithoutArcs().GetId() ||
2230 event.GetId() == CmdMenu_Selected_ConvertToPolylines().GetId() ||
2231 event.GetId() == CmdMenu_Selected_ConvertLinesArcs().GetId() ||
2232 event.GetId() == CmdMenu_Selected_ConvertToVPaths().GetId() ||
2233 event.GetId() == CmdMenu_Selected_ConvertPolygonToArcs().GetId() ||
2234 event.GetId() == CmdMenu_Selected_ConvertPolylineToArcs().GetId() ||
2235 event.GetId() == CmdMenu_Selected_ConvertPathToPolygon().GetId() ||
2236 event.GetId() == CmdMenu_Selected_ConvertPolygonToSurface().GetId() ||
2237 event.GetId() == CmdMenu_Selected_ConvertSurfaceToPolygon().GetId() ||
2238 event.GetId() == CmdMenu_Selected_UnGroup().GetId() ||
2239 event.GetId() == CmdMenu_Selected_UnGroupDeep().GetId() ||
2240 event.GetId() == CmdMenu_Selected_Merge().GetId() ||
2241 event.GetId() == CmdMenu_Selected_Offset().GetId() ||
2242 event.GetId() == CmdMenu_Selected_CreateRing().GetId() ||
2243 event.GetId() == CmdMenu_Selected_CameleonDiagram().GetId() ||
2244 event.GetId() == CmdMenu_Selected_CameleonSymbol().GetId() ||
2245 event.GetId() == CmdMenu_Selected_FlattenCameleon().GetId() ||
2246 event.GetId() == CmdMenu_Selected_CloneCameleonFromInst().GetId() ||
2247 event.GetId() == CmdMenu_Selected_MoveXY().GetId() ||
2248 event.GetId() == CmdMenu_Selected_MoveLayer().GetId() ||
2249 event.GetId() == CmdMenu_Selected_CopyXY().GetId() ||
2250 event.GetId() == CmdMenu_Selected_CopyLayer().GetId() ||
2251 event.GetId() == CmdMenu_Selected_Transform().GetId() ||
2252 event.GetId() == CmdMenu_Selected_Rotate().GetId() ||
2253 event.GetId() == CmdMenu_Selected_Align_MinX().GetId() ||
2254 event.GetId() == CmdMenu_Selected_Align_MaxX().GetId() ||
2255 event.GetId() == CmdMenu_Selected_Align_MinY().GetId() ||
2256 event.GetId() == CmdMenu_Selected_Align_MaxY().GetId() ||
2257 event.GetId() == CmdMenu_Selected_Align_MidX().GetId() ||
2258 event.GetId() == CmdMenu_Selected_Align_MidY().GetId() ||
2259 event.GetId() == CmdMenu_Selected_Align_MirrorVert().GetId() ||
2260 event.GetId() == CmdMenu_Selected_Align_MirrorHorz().GetId() ||
2261 event.GetId() == CmdMenu_Selected_Align_MirrorVertBbox().GetId() ||
2262 event.GetId() == CmdMenu_Selected_Align_MirrorHorzBbox().GetId() ||
2263 event.GetId() == CmdMenu_Selected_Align_DistributeVert().GetId() ||
2264 event.GetId() == CmdMenu_Selected_Align_DistributeHorz().GetId() ||
2265 event.GetId() == CmdMenu_Selected_Align_MinX_Dest().GetId() ||
2266 event.GetId() == CmdMenu_Selected_Align_MaxX_Dest().GetId() ||
2267 event.GetId() == CmdMenu_Selected_Align_MinY_Dest().GetId() ||
2268 event.GetId() == CmdMenu_Selected_Align_MaxY_Dest().GetId() ||
2269 event.GetId() == CmdMenu_Selected_Align_MidX_Dest().GetId() ||
2270 event.GetId() == CmdMenu_Selected_Align_MidY_Dest().GetId() ||
2271 event.GetId() == CmdMenu_Selected_Align_MirrorVert_Dest().GetId() ||
2272 event.GetId() == CmdMenu_Selected_Align_MirrorHorz_Dest().GetId() ||
2273 event.GetId() == CmdMenu_Selected_Align_MirrorVertBbox_Dest().GetId() ||
2274 event.GetId() == CmdMenu_Selected_Align_MirrorHorzBbox_Dest().GetId() ||
2275 event.GetId() == CmdMenu_Selected_SetExtStyle().GetId() ||
2276 event.GetId() == CmdMenu_Selected_SetTextChanges().GetId() ||
2277 event.GetId() == CmdMenu_PushInto().GetId() ||
2278 event.GetId() == CmdMenu_PopOut().GetId() ||
2280 event.GetId() == CmdMenu_ShowDiagram().GetId() ||
2281 event.GetId() == CmdMenu_ShowSymbol().GetId() ||
2282 event.GetId() == CmdMenu_ShowGui().GetId() ||
2283 event.GetId() == CmdMenu_ShowDlgCameleonModal().GetId()
2287 event.Enable(
false );
2293 if ( event.GetId() == CmdMenu_PushInto().GetId() )
2299 event.Enable( selected != NULL );
2301 else if ( event.GetId() == CmdMenu_PopOut().GetId() )
2308 else if ( event.GetId() == CmdMenu_InsertGroupRef().GetId() )
2311 else if ( event.GetId() == CmdMenu_ShowDlgLayersDrawing().GetId() )
2313 event.Check( IsShownLayerPropertiesDialog() );
2315 else if ( event.GetId() == CmdMenu_ShowDlgLayerOrderDrawing().GetId() ||
2316 event.GetId() == CmdMenu_ShowDlgLayerOrderGlobal().GetId() )
2318 event.Check( IsShownLayerOrderDialog() );
2320 else if ( event.GetId() == CmdMenu_ShowDlgTools().GetId() )
2322 event.Check( IsShownToolDlg() );
2324 else if ( event.GetId() == CmdMenu_ShowDlgStyle().GetId() )
2326 event.Check( IsShowna2dStyleDialog() );
2328 else if ( event.GetId() == CmdMenu_ShowDlgSnap().GetId() )
2330 event.Check( IsShowna2dSnapSettings() );
2332 else if ( event.GetId() == CmdMenu_ShowDlgGroups().GetId() )
2335 else if ( event.GetId() == CmdMenu_ShowDlgIdentify().GetId() )
2337 event.Check( IsShownIdentifyDialog() );
2339 else if ( event.GetId() == CmdMenu_ShowDlgCoordEntry().GetId() )
2341 event.Check( IsShowna2dCoordinateEntry() );
2343 else if ( event.GetId() == CmdMenu_ShowDlgMeasure().GetId() )
2345 event.Check( IsShowna2dMeasureDlg() );
2347 else if ( event.GetId() == CmdMenu_ShowDlgStructureModal().GetId() )
2350 else if ( event.GetId() == CmdMenu_ShowDlgStructure().GetId() )
2352 event.Check( IsShownStructureDlg() );
2354 else if ( event.GetId() == CmdMenu_ShowDlgPathSettings().GetId() )
2356 event.Check( IsShowna2dPathSettings() );
2358 else if ( event.GetId() == CmdMenu_ShowDlgSettings().GetId() )
2360 event.Check( IsShowna2dSettings() );
2362 else if ( event.GetId() == CmdMenu_ShowDlgTrans().GetId() )
2364 event.Check( IsShowna2dTransDlg() );
2366 else if ( event.GetId() == CmdMenu_ShowDlgCameleonModal().GetId() )
2368 event.Enable(
false );
2375 event.Enable(
true );
2386 else if ( event.GetId() == CmdMenu_SetLayerDlgModeless().GetId() )
2388 event.Check( m_layerChooseDlg != NULL && !m_layerChooseDlg->IsModal() && m_layerChooseDlg->IsShown() );
2390 else if ( event.GetId() == CmdMenu_SetMasterTool_SelectFirst().GetId() )
2401 else if ( event.GetId() == CmdMenu_SetMasterTool_ZoomFirst().GetId() )
2412 else if ( event.GetId() == CmdMenu_SetMasterTool_TagGroups().GetId() )
2423 else if ( event.GetId() == CmdMenu_SetMasterTool_TagGroups_WireMode().GetId() )
2435 else if ( event.GetId() == CmdMenu_SetMasterTool_TagGroups_DlgMode().GetId() )
2447 else if ( event.GetId() == CmdMenu_SetDrawWireFrame().GetId() )
2453 event.Check(
true );
2455 event.Check(
false );
2457 else if ( event.GetId() == CmdMenu_DrawGridLines().GetId() )
2464 else if ( event.GetId() == CmdMenu_DrawGridAtFront().GetId() )
2471 else if ( event.GetId() == CmdMenu_DrawGrid().GetId() )
2476 event.Check( drawer->
GetGrid() );
2478 else if ( event.GetId() == CmdMenu_SetSnap().GetId() )
2483 event.Check( drawer->GetCanvasToolContr()->
GetSnap() );
2485 else if ( event.GetId() == CmdMenu_SetYAxis().GetId() )
2492 else if ( event.GetId() == CmdMenu_Option_SplinePoly().GetId() )
2494 event.Check( m_drawing->GetHabitat()->
GetSpline() );
2496 else if ( event.GetId() == CmdMenu_Option_CursorCrosshair().GetId() )
2503 else if ( event.GetId() == CmdMenu_Option_RescaleAtReSize().GetId() )
2510 else if ( event.GetId() == CmdMenu_Option_ReverseLayers().GetId() )
2517 else if ( event.GetId() == CmdMenu_RouteMethod_StraightEndSegment().GetId() )
2521 else if ( event.GetId() == CmdMenu_RouteMethod_StraightEndSegmentUnlessPins().GetId() )
2525 else if ( event.GetId() == CmdMenu_RouteMethod_StraightSegment().GetId() )
2529 else if ( event.GetId() == CmdMenu_RouteMethod_StraightSegmentUnlessPins().GetId() )
2533 else if ( event.GetId() == CmdMenu_RouteMethod_GridRouting().GetId() )
2537 else if ( event.GetId() == CmdMenu_RouteMethod_ManhattanSegments().GetId() )
2541 else if ( event.GetId() == CmdMenu_RouteMethod_ManhattanEndSegments().GetId() )
2545 else if ( event.GetId() == CmdMenu_RouteMethod_ManhattanEndSegmentsStay().GetId() )
2549 else if ( event.GetId() == CmdMenu_RouteMethod_ManhattanEndSegmentsConvertAndStay().GetId() )
2553 else if ( event.GetId() == CmdMenu_RotateObject90Right().GetId() ||
2554 event.GetId() == CmdMenu_RotateObject90Left().GetId()
2561 event.Enable(
true );
2564 event.GetId() == CmdMenu_ZoomIn2().GetId() ||
2565 event.GetId() == CmdMenu_ZoomOut2().GetId() ||
2566 event.GetId() == CmdMenu_ZoomIn2CondSelected().GetId() ||
2567 event.GetId() == CmdMenu_ZoomOut2CondSelected().GetId() ||
2569 event.GetId() == CmdMenu_ZoomOut().GetId() ||
2571 event.GetId() == CmdMenu_Selected_SelectAll().GetId() ||
2572 event.GetId() == CmdMenu_Selected_SelectAll_NoUndo().GetId()
2575 event.Enable(
false );
2579 event.Enable(
true );
2582 event.GetId() == CmdMenu_Selected_RotateObject90Right().GetId() ||
2583 event.GetId() == CmdMenu_Selected_RotateObject90Left().GetId() ||
2584 event.GetId() == CmdMenu_Selected_DeSelectAll().GetId() ||
2585 event.GetId() == CmdMenu_Selected_Delete().GetId() ||
2586 event.GetId() == CmdMenu_Selected_DeSelectAll_NoUndo().GetId() ||
2587 event.GetId() == CmdMenu_Selected_Group().GetId() ||
2588 event.GetId() == CmdMenu_Selected_ImageToRectangles().GetId() ||
2589 event.GetId() == CmdMenu_Selected_ToTop().GetId() ||
2590 event.GetId() == CmdMenu_Selected_ToBack().GetId() ||
2591 event.GetId() == CmdMenu_Selected_SetStyle().GetId() ||
2592 event.GetId() == CmdMenu_Selected_SetExtStyle().GetId() ||
2593 event.GetId() == CmdMenu_Selected_SetTextChanges().GetId() ||
2594 event.GetId() == CmdMenu_Selected_ConvertToPolygonPolylinesWithArcs().GetId() ||
2595 event.GetId() == CmdMenu_Selected_ConvertToPolygonPolylinesWithoutArcs().GetId() ||
2596 event.GetId() == CmdMenu_Selected_ConvertToPolylines().GetId() ||
2597 event.GetId() == CmdMenu_Selected_ConvertLinesArcs().GetId() ||
2598 event.GetId() == CmdMenu_Selected_ConvertToVPaths().GetId() ||
2599 event.GetId() == CmdMenu_Selected_ConvertPolygonToArcs().GetId() ||
2600 event.GetId() == CmdMenu_Selected_ConvertPolylineToArcs().GetId() ||
2601 event.GetId() == CmdMenu_Selected_ConvertPathToPolygon().GetId() ||
2602 event.GetId() == CmdMenu_Selected_ConvertPolygonToSurface().GetId() ||
2603 event.GetId() == CmdMenu_Selected_ConvertSurfaceToPolygon().GetId() ||
2604 event.GetId() == CmdMenu_Selected_UnGroup().GetId() ||
2605 event.GetId() == CmdMenu_Selected_UnGroupDeep().GetId() ||
2606 event.GetId() == CmdMenu_Selected_Merge().GetId() ||
2607 event.GetId() == CmdMenu_Selected_Offset().GetId() ||
2608 event.GetId() == CmdMenu_Selected_CreateRing().GetId() ||
2609 event.GetId() == CmdMenu_Selected_CameleonDiagram().GetId() ||
2610 event.GetId() == CmdMenu_Selected_CameleonSymbol().GetId() ||
2611 event.GetId() == CmdMenu_Selected_FlattenCameleon().GetId() ||
2612 event.GetId() == CmdMenu_Selected_CloneCameleonFromInst().GetId() ||
2613 event.GetId() == CmdMenu_Selected_MoveXY().GetId() ||
2614 event.GetId() == CmdMenu_Selected_MoveLayer().GetId() ||
2615 event.GetId() == CmdMenu_Selected_CopyXY().GetId() ||
2616 event.GetId() == CmdMenu_Selected_CopyLayer().GetId() ||
2617 event.GetId() == CmdMenu_Selected_Transform().GetId() ||
2618 event.GetId() == CmdMenu_Selected_Rotate().GetId() ||
2619 event.GetId() == CmdMenu_Selected_Align_MinX().GetId() ||
2620 event.GetId() == CmdMenu_Selected_Align_MaxX().GetId() ||
2621 event.GetId() == CmdMenu_Selected_Align_MinY().GetId() ||
2622 event.GetId() == CmdMenu_Selected_Align_MaxY().GetId() ||
2623 event.GetId() == CmdMenu_Selected_Align_MidX().GetId() ||
2624 event.GetId() == CmdMenu_Selected_Align_MidY().GetId() ||
2625 event.GetId() == CmdMenu_Selected_Align_MirrorVert().GetId() ||
2626 event.GetId() == CmdMenu_Selected_Align_MirrorHorz().GetId() ||
2627 event.GetId() == CmdMenu_Selected_Align_MirrorVertBbox().GetId() ||
2628 event.GetId() == CmdMenu_Selected_Align_MirrorHorzBbox().GetId() ||
2629 event.GetId() == CmdMenu_Selected_Align_DistributeVert().GetId() ||
2630 event.GetId() == CmdMenu_Selected_Align_DistributeHorz().GetId() ||
2631 event.GetId() == CmdMenu_Selected_Align_MinX_Dest().GetId() ||
2632 event.GetId() == CmdMenu_Selected_Align_MaxX_Dest().GetId() ||
2633 event.GetId() == CmdMenu_Selected_Align_MinY_Dest().GetId() ||
2634 event.GetId() == CmdMenu_Selected_Align_MaxY_Dest().GetId() ||
2635 event.GetId() == CmdMenu_Selected_Align_MidX_Dest().GetId() ||
2636 event.GetId() == CmdMenu_Selected_Align_MidY_Dest().GetId() ||
2637 event.GetId() == CmdMenu_Selected_Align_MirrorVert_Dest().GetId() ||
2638 event.GetId() == CmdMenu_Selected_Align_MirrorHorz_Dest().GetId() ||
2639 event.GetId() == CmdMenu_Selected_Align_MirrorVertBbox_Dest().GetId() ||
2640 event.GetId() == CmdMenu_Selected_Align_MirrorHorzBbox_Dest().GetId()
2647 event.Enable( selected != NULL );
2653 void a2dCanvasCommandProcessor::OnPushToolUpdateMenu( wxUpdateUIEvent& event )
2655 event.Check(
false );
2663 event.Enable(
false );
2667 event.Enable(
true );
2670 if ( event.GetId() == CmdMenu_PushTool_Zoom_OneShot().GetId() )
2674 event.Check(
true );
2676 else if ( event.GetId() == CmdMenu_PushTool_Select_OneShot().GetId() )
2680 event.Check(
true );
2682 else if ( event.GetId() == CmdMenu_PushTool_Select2_OneShot().GetId() )
2686 event.Check(
true );
2688 else if ( event.GetId() == CmdMenu_PushTool_FastSelect_OneShot().GetId() )
2692 event.Check(
true );
2694 else if ( event.GetId() == CmdMenu_PushTool_FastSelect2_OneShot().GetId() )
2698 event.Check(
true );
2700 else if ( event.GetId() == CmdMenu_PushTool_RecursiveEdit_OneShot().GetId() )
2704 event.Check(
true );
2706 else if ( event.GetId() == CmdMenu_PushTool_MultiEdit_OneShot().GetId() )
2710 event.Check(
true );
2712 else if ( event.GetId() == CmdMenu_PushTool_DragOriginal_OneShot().GetId() )
2716 event.Check(
true );
2718 else if ( event.GetId() == CmdMenu_PushTool_Drag_OneShot().GetId() )
2722 event.Check(
true );
2724 else if ( event.GetId() == CmdMenu_PushTool_Copy_OneShot().GetId() )
2728 event.Check(
true );
2730 else if ( event.GetId() == CmdMenu_PushTool_Rotate_OneShot().GetId() )
2734 event.Check(
true );
2736 else if ( event.GetId() == CmdMenu_PushTool_Delete_OneShot().GetId() )
2740 event.Check(
true );
2742 else if ( event.GetId() == CmdMenu_PushTool_DrawText_OneShot().GetId() )
2746 event.Check(
true );
2748 else if ( event.GetId() == CmdMenu_PushTool_Image_OneShot().GetId() )
2752 event.Check(
true );
2754 else if ( event.GetId() == CmdMenu_PushTool_DrawCircleFast_OneShot().GetId() )
2758 event.Check(
true );
2760 else if ( event.GetId() == CmdMenu_PushTool_DrawLine_OneShot().GetId() )
2764 event.Check(
true );
2766 else if ( event.GetId() == CmdMenu_PushTool_DrawLineScaledArrow_OneShot().GetId() )
2770 event.Check(
true );
2772 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipse_OneShot().GetId() )
2776 event.Check(
true );
2778 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipticArc_OneShot().GetId() )
2781 if ( tool && !tool->GetChord() )
2782 event.Check(
true );
2784 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipticArc_Chord_OneShot().GetId() )
2787 if ( tool && tool->GetChord() )
2788 event.Check(
true );
2790 else if ( event.GetId() == CmdMenu_PushTool_DrawArc_OneShot().GetId() )
2793 if ( tool && !tool->GetChord() )
2794 event.Check(
true );
2796 else if ( event.GetId() == CmdMenu_PushTool_DrawArc_Chord_OneShot().GetId() )
2799 if ( tool && tool->GetChord() )
2800 event.Check(
true );
2802 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineL_OneShot().GetId() )
2806 event.Check(
true );
2808 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonL_OneShot().GetId() )
2812 event.Check(
true );
2814 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineL_Splined_OneShot().GetId() )
2818 event.Check(
true );
2820 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonL_Splined_OneShot().GetId() )
2824 event.Check(
true );
2826 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonLFast_OneShot().GetId() )
2830 event.Check(
true );
2832 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineLFast_OneShot().GetId() )
2836 event.Check(
true );
2838 else if ( event.GetId() == CmdMenu_PushTool_Property_OneShot().GetId() )
2842 event.Check(
true );
2844 else if ( event.GetId() == CmdMenu_PushTool_FastDragMulti_OneShot().GetId() )
2848 event.Check(
true );
2850 else if ( event.GetId() == CmdMenu_PushTool_FastCopyMulti().GetId() )
2854 event.Check(
true );
2856 else if ( event.GetId() == CmdMenu_PushTool_Measure_OneShot().GetId() )
2860 event.Check(
true );
2862 else if ( event.GetId() == CmdMenu_PushTool_DrawWirePolylineL_OneShot().GetId() )
2866 event.Check(
true );
2868 else if ( event.GetId() == CmdMenu_PushTool_DragMulti_OneShot().GetId() )
2872 event.Check(
true );
2874 else if ( event.GetId() == CmdMenu_PushTool_CopyMulti_OneShot().GetId() )
2878 event.Check(
true );
2880 else if ( event.GetId() == CmdMenu_PushTool_DrawRectangle_OneShot().GetId() )
2884 event.Check(
true );
2886 else if ( event.GetId() == CmdMenu_PushTool_DrawCircle_OneShot().GetId() )
2890 event.Check(
true );
2892 else if ( event.GetId() == CmdMenu_PushTool_DrawVPath_OneShot().GetId() )
2896 event.Check(
true );
2900 else if ( event.GetId() == CmdMenu_PushTool_Zoom().GetId() )
2904 event.Check(
true );
2906 else if ( event.GetId() == CmdMenu_PushTool_Select().GetId() )
2910 event.Check(
true );
2912 else if ( event.GetId() == CmdMenu_PushTool_Select2().GetId() )
2916 event.Check(
true );
2918 else if ( event.GetId() == CmdMenu_PushTool_FastSelect().GetId() )
2922 event.Check(
true );
2924 else if ( event.GetId() == CmdMenu_PushTool_FastSelect2().GetId() )
2928 event.Check(
true );
2930 else if ( event.GetId() == CmdMenu_PushTool_RecursiveEdit().GetId() )
2934 event.Check(
true );
2936 else if ( event.GetId() == CmdMenu_PushTool_MultiEdit().GetId() )
2940 event.Check(
true );
2942 else if ( event.GetId() == CmdMenu_PushTool_DragOriginal().GetId() )
2946 event.Check(
true );
2948 else if ( event.GetId() == CmdMenu_PushTool_Drag().GetId() )
2952 event.Check(
true );
2954 else if ( event.GetId() == CmdMenu_PushTool_Copy().GetId() )
2958 event.Check(
true );
2960 else if ( event.GetId() == CmdMenu_PushTool_Rotate().GetId() )
2964 event.Check(
true );
2966 else if ( event.GetId() == CmdMenu_PushTool_Delete().GetId() )
2970 event.Check(
true );
2972 else if ( event.GetId() == CmdMenu_PushTool_DrawText().GetId() )
2976 event.Check(
true );
2978 else if ( event.GetId() == CmdMenu_PushTool_Image().GetId() )
2982 event.Check(
true );
2984 else if ( event.GetId() == CmdMenu_PushTool_DrawCircleFast().GetId() )
2988 event.Check(
true );
2990 else if ( event.GetId() == CmdMenu_PushTool_DrawLine().GetId() )
2994 event.Check(
true );
2996 else if ( event.GetId() == CmdMenu_PushTool_DrawLineScaledArrow().GetId() )
3000 event.Check(
true );
3002 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipse().GetId() )
3006 event.Check(
true );
3008 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipticArc().GetId() )
3011 if ( tool && !tool->GetChord() )
3012 event.Check(
true );
3014 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipticArc_Chord().GetId() )
3017 if ( tool && tool->GetChord() )
3018 event.Check(
true );
3020 else if ( event.GetId() == CmdMenu_PushTool_DrawArc().GetId() )
3023 if ( tool && !tool->GetChord() )
3024 event.Check(
true );
3026 else if ( event.GetId() == CmdMenu_PushTool_DrawArc_Chord().GetId() )
3029 if ( tool && tool->GetChord() )
3030 event.Check(
true );
3032 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineL().GetId() )
3036 event.Check(
true );
3038 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonL().GetId() )
3042 event.Check(
true );
3044 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineL_Splined().GetId() )
3048 event.Check(
true );
3050 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonL_Splined().GetId() )
3054 event.Check(
true );
3056 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonLFast().GetId() )
3060 event.Check(
true );
3062 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineLFast().GetId() )
3066 event.Check(
true );
3068 else if ( event.GetId() == CmdMenu_PushTool_Property().GetId() )
3072 event.Check(
true );
3074 else if ( event.GetId() == CmdMenu_PushTool_FastDragMulti().GetId() )
3078 event.Check(
true );
3080 else if ( event.GetId() == CmdMenu_PushTool_FastCopyMulti().GetId() )
3084 event.Check(
true );
3086 else if ( event.GetId() == CmdMenu_PushTool_Measure().GetId() )
3090 event.Check(
true );
3092 else if ( event.GetId() == CmdMenu_PushTool_DrawWirePolylineL().GetId() )
3096 event.Check(
true );
3098 else if ( event.GetId() == CmdMenu_PushTool_DragMulti().GetId() )
3102 event.Check(
true );
3104 else if ( event.GetId() == CmdMenu_PushTool_CopyMulti().GetId() )
3108 event.Check(
true );
3110 else if ( event.GetId() == CmdMenu_PushTool_DrawRectangle().GetId() )
3114 event.Check(
true );
3116 else if ( event.GetId() == CmdMenu_PushTool_DrawCircle().GetId() )
3120 event.Check(
true );
3122 else if ( event.GetId() == CmdMenu_PushTool_DrawVPath().GetId() )
3126 event.Check(
true );
3128 else if ( event.GetId() == CmdMenu_PushTool_Port().GetId() )
3131 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_Port() ) )
3132 event.Check(
true );
3134 else if ( event.GetId() == CmdMenu_PushTool_Cameleon().GetId() )
3137 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_Cameleon() ) )
3138 event.Check(
true );
3140 else if ( event.GetId() == CmdMenu_PushTool_Cameleon_BuildIn().GetId() )
3143 else if ( event.GetId() == CmdMenu_PushTool_CameleonInst().GetId() )
3146 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_CameleonInst() ) )
3147 event.Check(
true );
3149 else if ( event.GetId() == CmdMenu_PushTool_CameleonInstDlg().GetId() )
3152 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_CameleonInstDlg() ) )
3153 event.Check(
true );
3155 else if ( event.GetId() == CmdMenu_PushTool_CameleonRefDlg_Diagram().GetId() )
3158 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_CameleonRefDlg_Diagram() ) )
3159 event.Check(
true );
3161 else if ( event.GetId() == CmdMenu_PushTool_CameleonRefDlg_Symbol().GetId() )
3164 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_CameleonRefDlg_Symbol() ) )
3165 event.Check(
true );
3167 else if ( event.GetId() == CmdMenu_PushTool_CameleonRefDlg().GetId() )
3170 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_CameleonRefDlg() ) )
3171 event.Check(
true );
3173 else if ( event.GetId() == CmdMenu_PushTool_TagGroups().GetId() )
3176 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_TagGroups() ) )
3177 event.Check(
true );
3179 else if ( event.GetId() == CmdMenu_PushTool_TagGroups_WireMode().GetId() )
3182 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_TagGroups_WireMode() ) )
3183 event.Check(
true );
3185 else if ( event.GetId() == CmdMenu_PushTool_TagGroups_DlgMode().GetId() )
3188 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_TagGroups_DlgMode() ) )
3189 event.Check(
true );
3191 else if ( event.GetId() == CmdMenu_PushTool_TagGroups_WireMode_DlgMode().GetId() )
3194 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_TagGroups_WireMode_DlgMode() ) )
3195 event.Check(
true );
3197 else if ( event.GetId() == CmdMenu_PushTool_SingleClick().GetId() )
3200 if ( tool && tool->GetInitiatingMenuId().
SameId( CmdMenu_PushTool_SingleClick() ) )
3201 event.Check(
true );
3208 long style = wxDEFAULT_DIALOG_STYLE;
3210 style |= wxSTAY_ON_TOP;
3221 if ( event.GetId() == CmdMenu_ChangeCanvasObjectStyle().GetId() )
3225 else if ( event.GetId() == CmdMenu_SetLayer().GetId() )
3228 long w = wxGetNumberFromUser( _(
"Give layer number:" ), _(
"Layer:" ), _(
"layer number" ), m_drawing->GetHabitat()->
m_layer, 0, wxMAXLAYER );
3232 if ( w >= 0 && w < (
long ) wxMAXLAYER )
3234 m_drawing->GetHabitat()->
SetLayer( w,
true );
3237 (
void )wxMessageBox( _(
"Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
3240 else if ( event.GetId() == CmdMenu_SetTarget().GetId() )
3243 long w = wxGetNumberFromUser( _(
"Give layer number:" ), _(
"Layer:" ), _(
"Set Target Layer" ), m_drawing->GetHabitat()->
m_target, 0, wxMAXLAYER );
3247 if ( w >= 0 && w < (
long ) wxMAXLAYER )
3249 m_drawing->GetHabitat()->
SetTarget( w );
3252 (
void )wxMessageBox( _(
"Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
3255 else if ( event.GetId() == CmdMenu_SetBackgroundStyle().GetId() )
3261 a2dStyleDialog b( m_drawing->GetHabitat(), NULL, wxDEFAULT_DIALOG_STYLE | wxDIALOG_NO_PARENT | wxMINIMIZE_BOX | wxMAXIMIZE_BOX, true );
3263 if ( b.ShowModal() == wxID_OK )
3266 else if ( event.GetId() == CmdMenu_SetDrawWireFrame().GetId() )
3283 else if ( event.GetId() == CmdMenu_DrawGridLines().GetId() )
3291 else if ( event.GetId() == CmdMenu_DrawGridAtFront().GetId() )
3299 else if ( event.GetId() == CmdMenu_Refresh().GetId() )
3304 else if ( event.GetId() == CmdMenu_ZoomOut().GetId() )
3312 else if ( event.GetId() == CmdMenu_ZoomOut2().GetId() )
3318 if ( !drawer->GetDisplayWindow() )
3325 drawer->GetDisplayWindow()->GetClientSize( &dx, &dy );
3326 if ( dy > dx ) dx = dy;
3333 else if ( event.GetId() == CmdMenu_ZoomIn2().GetId() )
3339 if ( !drawer->GetDisplayWindow() )
3346 drawer->GetDisplayWindow()->GetClientSize( &dx, &dy );
3347 if ( dy > dx ) dx = dy;
3354 else if ( event.GetId() == CmdMenu_ZoomOut2CondSelected().GetId() )
3360 if ( !drawer->GetDisplayWindow() )
3369 drawer->GetDisplayWindow()->GetClientSize( &dx, &dy );
3376 if ( dy > dx ) upxy = dy;
3382 double xc, yc, xcn, ycn;
3391 ( fabs(xc - xcn) > bbox.
GetWidth()/10 || fabs( yc - ycn ) > bbox.
GetWidth()/10 )
3402 if ( dy > dx ) upxy = dy;
3410 else if ( event.GetId() == CmdMenu_ZoomIn2CondSelected().GetId() )
3416 if ( !drawer->GetDisplayWindow() )
3426 drawer->GetDisplayWindow()->GetClientSize( &dx, &dy );
3433 if ( dy > dx ) upxy = dy;
3440 double xc, yc, xcn, ycn;
3449 ( fabs(xc - xcn) > bbox.
GetWidth()/20 || fabs( yc - ycn ) > bbox.
GetWidth()/20 )
3460 if ( dy > dx ) upxy = dy;
3581 else if ( event.GetId() == CmdMenu_EmptyShownObject().GetId() )
3592 else if ( event.GetId() == CmdMenu_DrawGrid().GetId() )
3600 else if ( event.GetId() == CmdMenu_SetSnap().GetId() )
3603 if ( !GetActiveDrawingPart() )
3607 else if ( event.GetId() == CmdMenu_SetYAxis().GetId() )
3610 if ( !GetActiveDrawingPart() )
3618 GetActiveDrawingPart()->
GetDrawer2D()->
SetYaxis( !GetActiveDrawingPart()->GetDrawer2D()->GetYaxis() );
3621 else if ( event.GetId() == CmdMenu_Option_SplinePoly().GetId() )
3624 m_drawing->GetHabitat()->SetSpline( !m_drawing->GetHabitat()->
GetSpline() );
3626 else if ( event.GetId() == CmdMenu_RouteMethod_StraightEndSegment().GetId() )
3631 else if ( event.GetId() == CmdMenu_RouteMethod_StraightEndSegmentUnlessPins().GetId() )
3636 else if ( event.GetId() == CmdMenu_RouteMethod_StraightSegment().GetId() )
3641 else if ( event.GetId() == CmdMenu_RouteMethod_StraightSegmentUnlessPins().GetId() )
3646 else if ( event.GetId() == CmdMenu_RouteMethod_GridRouting().GetId() )
3651 else if ( event.GetId() == CmdMenu_RouteMethod_ManhattanSegments().GetId() )
3655 else if ( event.GetId() == CmdMenu_RouteMethod_ManhattanEndSegments().GetId() )
3659 else if ( event.GetId() == CmdMenu_RouteMethod_ManhattanEndSegmentsStay().GetId() )
3663 else if ( event.GetId() == CmdMenu_RouteMethod_ManhattanEndSegmentsConvertAndStay().GetId() )
3667 else if ( event.GetId() == CmdMenu_RotateObject90Right().GetId() )
3670 if ( !GetActiveDrawingPart() )
3679 else if ( event.GetId() == CmdMenu_RotateObject90Left().GetId() )
3682 if ( !GetActiveDrawingPart() )
3691 else if ( event.GetId() == CmdMenu_Option_CursorCrosshair().GetId() )
3694 if ( !GetActiveDrawingPart() )
3698 GetActiveDrawingPart()->
SetCrossHair( !GetActiveDrawingPart()->GetCrossHair() );
3700 else if ( event.GetId() == CmdMenu_Option_RescaleAtReSize().GetId() )
3703 if ( !GetActiveDrawingPart() )
3705 if ( !GetActiveDrawingPart()->
GetCanvas() )
3709 else if ( event.GetId() == CmdMenu_Option_ReverseLayers().GetId() )
3712 if ( !GetActiveDrawingPart() )
3714 GetActiveDrawingPart()->
SetReverseOrder( !GetActiveDrawingPart()->GetReverseOrder() );
3716 else if ( event.GetId() == CmdMenu_SetSnapFeatures().GetId() )
3720 else if ( event.GetId() == CmdMenu_SetSnapFeature().GetId() )
3724 else if ( event.GetId() == CmdMenu_SetStroke().GetId() )
3728 else if ( event.GetId() == CmdMenu_SetFill().GetId() )
3732 else if ( event.GetId() == CmdMenu_SetStrokeColour().GetId() )
3736 else if ( event.GetId() == CmdMenu_SetFillColour().GetId() )
3740 else if ( event.GetId() == CmdMenu_SetContourWidth().GetId() )
3744 else if ( event.GetId() == CmdMenu_SetPathType().GetId() )
3748 else if ( event.GetId() == CmdMenu_SetNormalizeFactor().GetId() )
3754 double norm =
wxGetDoubleNumberFromUser( _(
"Give normalize factor:" ), _(
"Normalize" ), _(
"Normalize factor" ), 1, 0, 10000 );
3756 if ( norm != DBL_MAX )
3758 if ( norm >= 0 && norm < 10000 )
3761 m_drawing->GetHabitat()->
SetTarget( norm );
3764 (
void )wxMessageBox( _(
"Normlaize factor must be > 0" ), _(
"Normalize" ), wxICON_INFORMATION | wxOK );
3767 else if ( event.GetId() == CmdMenu_ShowDiagram().GetId() )
3773 if ( !GetActiveDrawingPart() )
3792 int answer = wxMessageBox(
"No Diagram found, Create it?:",
"Diagram Creation",
3793 wxYES_NO | wxCANCEL );
3794 if (answer == wxYES)
3796 diagram = cam->GetDiagram(
true );
3806 (
void )wxMessageBox( _(
"Does not contain appearance asked for" ), _(
"Set View" ), wxICON_INFORMATION | wxOK );
3808 else if ( event.GetId() == CmdMenu_ShowSymbol().GetId() )
3814 if ( !GetActiveDrawingPart() )
3833 int answer = wxMessageBox(
"No Symbol found, Create it?:",
"Symbol Creation",
3834 wxYES_NO | wxCANCEL );
3835 if (answer == wxYES)
3837 symbol = cam->GetSymbol(
true );
3847 (
void )wxMessageBox( _(
"Does not contain appearance asked for" ), _(
"Set View" ), wxICON_INFORMATION | wxOK );
3850 else if ( event.GetId() == CmdMenu_ShowGui().GetId() )
3856 if ( !GetActiveDrawingPart() )
3869 int answer = wxMessageBox(
"No Gui found, Create it?:",
"Gui Creation",
3870 wxYES_NO | wxCANCEL );
3871 if (answer == wxYES)
3883 (
void )wxMessageBox( _(
"Does not contain appearance asked for" ), _(
"Set View" ), wxICON_INFORMATION | wxOK );
3888 else if ( event.GetId() == CmdMenu_PushInto().GetId() )
3891 if ( !GetActiveDrawingPart() )
3899 pushIn = pushIn->
PushInto( GetActiveDrawingPart()->GetShowObject() );
3900 else if ( GetActiveDrawingPart()->GetShowObject()->GetChildObjectsCount() == 1 )
3903 pushIn = pushIn->
PushInto( GetActiveDrawingPart()->GetShowObject() );
3909 GetActiveDrawingPart()->
PushIn( pushIn );
3913 (
void )wxMessageBox( _(
"Does not contain a group, unable to push into" ), _(
"push into" ), wxICON_INFORMATION | wxOK );
3915 else if ( event.GetId() == CmdMenu_PopOut().GetId() )
3918 if ( !GetActiveDrawingPart() )
3925 GetActiveDrawingPart()->
PopOut();
3928 else if ( event.GetId() == CmdMenu_NewGroup().GetId() )
3933 else if ( event.GetId() == CmdMenu_NewPin().GetId() )
3938 else if ( event.GetId() == CmdMenu_SaveLayersDrawing().GetId() )
3941 wxString file =
AskFile( _(
"Give Name of output Layer file" ),
3942 _T(
"@{layerFileApplication}" ),
3946 wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
3947 SaveLayers( wxFileName( file ) );
3949 else if ( event.GetId() == CmdMenu_SaveLayersDrawingLastDir().GetId() )
3952 wxString file =
AskFile( _(
"Give Name of output Layer file" ),
3953 _T(
"@{lastLayerFileSavePath}" ),
3957 wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
3958 SaveLayers( wxFileName( file ) );
3960 else if ( event.GetId() == CmdMenu_SaveLayersDrawingHome().GetId() )
3963 wxString file =
AskFile( _(
"Give Name of output Layer file" ),
3964 _T(
"@{layerFileSavePath}" ),
3968 wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
3969 SaveLayers( wxFileName( file ) );
3971 else if ( event.GetId() == CmdMenu_SaveLayersDrawingCurrentDir().GetId() )
3974 wxString file =
AskFile( _(
"Give Name of output Layer file" ),
3979 wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
3980 SaveLayers( wxFileName( file ) );
3982 else if ( event.GetId() == CmdMenu_LoadLayersDrawing().GetId() )
3985 wxString file =
AskFile( _(
"Give Name of input Layer file" ),
3986 _T(
"@{layerFileApplication}" ),
3990 wxFD_OPEN | wxFD_FILE_MUST_EXIST );
3991 LoadLayers( wxFileName( file ) );
3993 else if ( event.GetId() == CmdMenu_LoadLayersDrawingHome().GetId() )
3996 wxString file =
AskFile( _(
"Give Name of input Layer file" ),
3997 _T(
"@{layerFileSavePath}" ),
4001 wxFD_OPEN | wxFD_FILE_MUST_EXIST );
4002 LoadLayers( wxFileName( file ) );
4004 else if ( event.GetId() == CmdMenu_LoadLayersDrawingLastDir().GetId() )
4007 wxString file =
AskFile( _(
"Give Name of input Layer file" ),
4008 _T(
"@{lastLayerFileSavePath}" ),
4012 wxFD_OPEN | wxFD_FILE_MUST_EXIST );
4013 LoadLayers( wxFileName( file ) );
4015 else if ( event.GetId() == CmdMenu_LoadLayersDrawingCurrentDir().GetId() )
4018 wxString file =
AskFile( _(
"Give Name of input Layer file" ),
4023 wxFD_OPEN | wxFD_FILE_MUST_EXIST );
4024 LoadLayers( wxFileName( file ) );
4026 else if ( event.GetId() == CmdMenu_SetCursor().GetId() )
4030 else if ( event.GetId() == CmdMenu_SetRelativeStart().GetId() )
4034 else if ( event.GetId() == CmdMenu_AddMeasurement().GetId() )
4038 else if ( event.GetId() == CmdMenu_ClearMeasurements().GetId() )
4042 else if ( event.GetId() == CmdMenu_Selected_SelectAll().GetId() )
4047 else if ( event.GetId() == CmdMenu_Selected_DeSelectAll().GetId() )
4052 else if ( event.GetId() == CmdMenu_Selected_SelectAll_NoUndo().GetId() )
4057 else if ( event.GetId() == CmdMenu_Selected_DeSelectAll_NoUndo().GetId() )
4062 else if ( event.GetId() == CmdMenu_Selected_Delete().GetId() )
4067 else if ( event.GetId() == CmdMenu_Selected_Group().GetId() )
4072 else if ( event.GetId() == CmdMenu_Selected_ImageToRectangles().GetId() )
4077 else if ( event.GetId() == CmdMenu_Selected_ToTop().GetId() )
4082 else if ( event.GetId() == CmdMenu_Selected_ToBack().GetId() )
4087 else if ( event.GetId() == CmdMenu_Selected_SetStyle().GetId() )
4093 m_styledlg =
new a2dStyleDialog( m_drawing->GetHabitat(), NULL, style | wxRESIZE_BORDER );
4096 m_styledlg->SetFill( m_drawing->GetHabitat()->
GetFill() );
4097 m_styledlg->SetStroke( m_drawing->GetHabitat()->
GetStroke() );
4099 if ( ! m_styledlg->IsShown() )
4100 m_styledlg->Show(
true );
4104 else if ( event.GetId() == CmdMenu_Selected_SetExtStyle().GetId() )
4118 if ( !top || !top->
GetRoot() )
4121 bool withFill =
false;
4125 if ( nrst + nrfi == 0 )
4127 eFi.Set( m_drawing->GetHabitat()->
GetFill() );
4128 eSt.Set( m_drawing->GetHabitat()->
GetStroke() );
4132 withFill = 0 != nrfi;
4136 dlg.SetExtFill(eFi);
4137 dlg.SetExtStroke(eSt);
4139 if(wxID_OK == dlg.ShowModal())
4141 eSt = dlg.GetExtStroke();
4142 eFi = dlg.GetExtFill();
4144 if ( nrst + nrfi == 0 )
4146 m_drawing->GetHabitat()->
SetFill( eFi.Get( m_drawing->GetHabitat()->
GetFill() ) );
4147 m_drawing->GetHabitat()->
SetStroke( eSt.Get( m_drawing->GetHabitat()->
GetStroke() ) );
4153 else if ( event.GetId() == CmdMenu_Selected_SetTextChanges().GetId() )
4169 if ( !top || !top->
GetRoot() )
4172 bool withFill =
false;
4184 textobjects.push_back( obj );
4186 objects = &textobjects;
4192 if ( nrst + nrfi + nrfo == 0 )
4194 eFi.Set( m_drawing->GetHabitat()->
GetTextFill() );
4201 withFill = 0 != nrfi;
4203 a2dTextPropDlgExt dlg( m_drawing->GetHabitat(), NULL, 0 == nrst + nrfi + nrfo, withFill, eFo.GetFontInfoList(), false );
4205 dlg.SetExtFill(eFi);
4206 dlg.SetExtStroke(eSt);
4207 dlg.SetExtFont(eFo);
4209 if ( dlg.ShowModal() == wxID_OK )
4211 eSt = dlg.GetExtStroke();
4212 eFi = dlg.GetExtFill();
4213 eFo = dlg.GetExtFont();
4215 if ( nrst + nrfi + nrfo == 0 )
4231 else if ( event.GetId() == CmdMenu_Selected_SetTextChanges2().GetId() )
4241 wxUint32 nrfont = 0;
4243 if ( !top || !top->
GetRoot() )
4246 bool withFill =
false;
4254 a2dTextPropDlg dialog( NULL, eFont.GetFont(), eFont.GetTextFlags(), eFont.GetAlignment() );
4255 if ( dialog.ShowModal() == wxID_OK )
4257 eFont =
a2dTextChanges( dialog.GetFontData(), dialog.GetAlignment(), dialog.GetTextFlags() );
4271 else if ( event.GetId() == CmdMenu_Selected_ConvertToPolygonPolylinesWithArcs().GetId() )
4276 else if ( event.GetId() == CmdMenu_Selected_ConvertToPolygonPolylinesWithoutArcs().GetId() )
4281 else if ( event.GetId() == CmdMenu_Selected_ConvertToPolylines().GetId() )
4286 else if ( event.GetId() == CmdMenu_Selected_ConvertLinesArcs().GetId() )
4291 else if ( event.GetId() == CmdMenu_Selected_CameleonDiagram().GetId() )
4296 else if ( event.GetId() == CmdMenu_Selected_CameleonSymbol().GetId() )
4301 else if ( event.GetId() == CmdMenu_Selected_FlattenCameleon().GetId() )
4306 else if ( event.GetId() == CmdMenu_Selected_CloneCameleonFromInst().GetId() )
4314 else if ( event.GetId() == CmdMenu_Selected_ConvertToVPaths().GetId() )
4319 else if ( event.GetId() == CmdMenu_Selected_ConvertPolygonToArcs().GetId() )
4324 else if ( event.GetId() == CmdMenu_Selected_ConvertPolylineToArcs().GetId() )
4329 else if ( event.GetId() == CmdMenu_Selected_ConvertPathToPolygon().GetId() )
4333 else if ( event.GetId() == CmdMenu_Selected_ConvertSurfaceToPolygon().GetId() )
4338 else if ( event.GetId() == CmdMenu_Selected_ConvertPolygonToSurface().GetId() )
4343 else if ( event.GetId() == CmdMenu_Selected_UnGroup().GetId() )
4348 else if ( event.GetId() == CmdMenu_Selected_UnGroupDeep().GetId() )
4354 else if ( event.GetId() == CmdMenu_Selected_Merge().GetId() )
4360 else if ( event.GetId() == CmdMenu_Selected_Offset().GetId() )
4366 else if ( event.GetId() == CmdMenu_Selected_CreateRing().GetId() )
4370 else if ( event.GetId() == CmdMenu_GroupAB_Offset().GetId() )
4375 selectedA(
true ) );
4378 else if ( event.GetId() == CmdMenu_GroupAB_Smooth().GetId() )
4383 selectedA(
true ) );
4386 else if ( event.GetId() == CmdMenu_GroupAB_CreateRing().GetId() )
4391 selectedA(
true ) );
4394 else if ( event.GetId() == CmdMenu_GroupAB_Delete().GetId() )
4399 else if ( event.GetId() == CmdMenu_GroupAB_Move().GetId() )
4404 else if ( event.GetId() == CmdMenu_GroupAB_Copy().GetId() )
4409 else if ( event.GetId() == CmdMenu_GroupAB_ToArcs().GetId() )
4414 else if ( event.GetId() == CmdMenu_GroupAB_Or().GetId() )
4421 else if ( event.GetId() == CmdMenu_GroupAB_And().GetId() )
4428 else if ( event.GetId() == CmdMenu_GroupAB_Exor().GetId() )
4435 else if ( event.GetId() == CmdMenu_GroupAB_AsubB().GetId() )
4442 else if ( event.GetId() == CmdMenu_GroupAB_BsubA().GetId() )
4449 else if ( event.GetId() == CmdMenu_GroupAB_ConvertSurfaceToPolygon().GetId() )
4454 else if ( event.GetId() == CmdMenu_GroupAB_ConvertPolygonToSurface().GetId() )
4460 else if ( event.GetId() == CmdMenu_PopTool().GetId() )
4464 else if ( event.GetId() == CmdMenu_PopTool().GetId() )
4467 else if ( event.GetId() == CmdMenu_InsertGroupRef().GetId() )
4514 else if ( event.GetId() == CmdMenu_LineScale().GetId() )
4517 long w = wxGetNumberFromUser( _(
"Give scalex:" ), _(
"scalex:" ), _(
"scale in x for point" ), 1, 0, 100 );
4518 if ( w == 0 ) w = 1;
4520 w = wxGetNumberFromUser( _(
"Give scaley:" ), _(
"scaley:" ), _(
"scale in y for point" ), 1, 0, 100 );
4521 if ( w == 0 ) w = 1;
4525 if ( !found && event.GetId() == CmdMenu_Selected_MoveXY().GetId() )
4530 if ( entry.ShowModal() == wxID_OK )
4535 else if ( event.GetId() == CmdMenu_Selected_MoveLayer().GetId() )
4540 a2dLayerDlg dialog( m_drawing->GetHabitat(), NULL, m_drawing->
GetLayerSetup(),
false,
true, _(
"Set Target Layer" ) );
4541 if ( dialog.ShowModal() == wxID_OK )
4543 m_drawing->GetHabitat()->
SetTarget( dialog.GetSelectedLayer() );
4547 else if ( event.GetId() == CmdMenu_Selected_CopyXY().GetId() )
4552 if ( entry.ShowModal() == wxID_OK )
4557 else if ( event.GetId() == CmdMenu_Selected_CopyLayer().GetId() )
4562 a2dLayerDlg dialog( m_drawing->GetHabitat(), NULL, m_drawing->
GetLayerSetup(),
false,
true, _(
"Set Target Layer" ) );
4563 if ( dialog.ShowModal() == wxID_OK )
4565 m_drawing->GetHabitat()->
SetTarget( dialog.GetSelectedLayer() );
4569 else if ( event.GetId() == CmdMenu_Selected_Transform().GetId() )
4573 if ( transset.ShowModal() == wxID_OK )
4578 else if ( event.GetId() == CmdMenu_Selected_Rotate().GetId() )
4583 if ( angle >= -180 && angle < 180 )
4588 (
void )wxMessageBox( _(
"Angle must be > -180 and < 180" ), _(
"Angle" ), wxICON_INFORMATION | wxOK );
4590 else if ( event.GetId() == CmdMenu_Selected_Align_MinX().GetId() )
4595 else if ( event.GetId() == CmdMenu_Selected_Align_MaxX().GetId() )
4600 else if ( event.GetId() == CmdMenu_Selected_Align_MinY().GetId() )
4608 else if ( event.GetId() == CmdMenu_Selected_Align_MaxY().GetId() )
4616 else if ( event.GetId() == CmdMenu_Selected_Align_MidX().GetId() )
4621 else if ( event.GetId() == CmdMenu_Selected_Align_MidY().GetId() )
4626 else if ( event.GetId() == CmdMenu_Selected_Align_MirrorVert().GetId() )
4631 else if ( event.GetId() == CmdMenu_Selected_Align_MirrorHorz().GetId() )
4636 else if ( event.GetId() == CmdMenu_Selected_Align_MirrorVertBbox().GetId() )
4641 else if ( event.GetId() == CmdMenu_Selected_Align_MirrorHorzBbox().GetId() )
4646 else if ( event.GetId() == CmdMenu_Selected_Align_DistributeVert().GetId() )
4651 else if ( event.GetId() == CmdMenu_Selected_Align_DistributeHorz().GetId() )
4657 else if ( event.GetId() == CmdMenu_Selected_Align_MinX_Dest().GetId() )
4662 else if ( event.GetId() == CmdMenu_Selected_Align_MaxX_Dest().GetId() )
4667 else if ( event.GetId() == CmdMenu_Selected_Align_MinY_Dest().GetId() )
4675 else if ( event.GetId() == CmdMenu_Selected_Align_MaxY_Dest().GetId() )
4683 else if ( event.GetId() == CmdMenu_Selected_Align_MidX_Dest().GetId() )
4688 else if ( event.GetId() == CmdMenu_Selected_Align_MidY_Dest().GetId() )
4693 else if ( event.GetId() == CmdMenu_Selected_Align_MirrorVert_Dest().GetId() )
4698 else if ( event.GetId() == CmdMenu_Selected_Align_MirrorHorz_Dest().GetId() )
4703 else if ( event.GetId() == CmdMenu_Selected_Align_MirrorVertBbox_Dest().GetId() )
4708 else if ( event.GetId() == CmdMenu_Selected_Align_MirrorHorzBbox_Dest().GetId() )
4714 else if ( event.GetId() == CmdMenu_Selected_RotateObject90Right().GetId() )
4719 else if ( event.GetId() == CmdMenu_Selected_RotateObject90Left().GetId() )
4725 if ( !found && event.GetId() == CmdMenu_SetMasterTool_SelectFirst().GetId() )
4741 else if ( event.GetId() == CmdMenu_SetMasterTool_ZoomFirst().GetId() )
4757 else if ( event.GetId() == CmdMenu_SetMasterTool_TagGroups().GetId() )
4771 else if ( event.GetId() == CmdMenu_SetMasterTool_TagGroups_WireMode().GetId() )
4786 else if ( event.GetId() == CmdMenu_SetMasterTool_TagGroups_WireMode_DlgMode().GetId() )
4799 tool->SetStyleDlgSimple(
true );
4804 else if ( event.GetId() == CmdMenu_SetMasterTool_TagGroups_DlgMode().GetId() )
4816 tool->SetStyleDlgSimple(
true );
4822 else if ( event.GetId() == CmdMenu_SetMasterTool_SingleClick().GetId() )
4839 else if ( event.GetId() == CmdMenu_SetLayerDlg().GetId() )
4844 if ( dialog.ShowModal() == wxID_OK )
4846 m_drawing->GetHabitat()->
SetLayer( dialog.GetSelectedLayer(), false );
4849 else if ( event.GetId() == CmdMenu_SetTargetDlg().GetId() )
4853 a2dLayerDlg dialog( m_drawing->GetHabitat(), NULL, m_drawing->
GetLayerSetup(),
false,
true, _(
"Set Target Layer" ) );
4854 if ( dialog.ShowModal() == wxID_OK )
4856 m_drawing->GetHabitat()->
SetTarget( dialog.GetSelectedLayer() );
4859 else if ( event.GetId() == CmdMenu_SetLayerDlgModeless().GetId() )
4863 if ( !m_layerChooseDlg )
4865 m_layerChooseDlg =
new a2dLayerDlg( m_drawing->GetHabitat(), NULL, m_drawing->
GetLayerSetup(),
false,
false, _(
"Set Layer" ) );
4868 if ( !m_layerChooseDlg->IsShown() )
4871 m_layerChooseDlg->Show(
true );
4875 m_layerChooseDlg->Show(
false );
4879 event.GetId() == CmdMenu_ShowDlgLayersDrawing().GetId() ||
4880 event.GetId() == CmdMenu_ShowDlgLayersGlobal().GetId()
4887 m_layersdlg =
new LayerPropertiesDialog( m_drawing->GetHabitat(), NULL, NULL, _(
"Layer of Document" ), style | wxRESIZE_BORDER );
4890 if ( !m_layersdlg->IsShown() )
4892 m_layersdlg->Show(
true );
4893 if ( event.GetId() == CmdMenu_ShowDlgLayersDrawing().GetId() )
4898 m_layersdlg->Init( m_drawing->GetHabitat()->
GetLayerSetup() );
4902 m_layersdlg->Show(
false );
4905 else if ( event.GetId() == CmdMenu_ShowDlgLayerOrderDrawing().GetId() ||
4906 event.GetId() == CmdMenu_ShowDlgLayerOrderGlobal().GetId() )
4910 if ( !m_layerOrderDlg )
4912 m_layerOrderDlg =
new a2dLayerOrderDlg( m_drawing->GetHabitat(), NULL, NULL, _(
"Layer of Document" ), style | wxRESIZE_BORDER );
4915 if ( !m_layerOrderDlg->IsShown() )
4917 if ( event.GetId() == CmdMenu_ShowDlgLayerOrderDrawing().GetId() )
4923 m_layerOrderDlg->Show(
true );
4927 m_layerOrderDlg->Show(
false );
4930 else if ( event.GetId() == CmdMenu_ShowDlgTools().GetId() )
4934 m_tooldlg =
new ToolDlg( NULL );
4936 if ( m_tooldlg->IsShown() )
4938 m_tooldlg->Show(
false );
4942 m_tooldlg->Show(
true );
4945 else if ( event.GetId() == CmdMenu_ShowDlgStyle().GetId() )
4950 m_styledlg =
new a2dStyleDialog( m_drawing->GetHabitat(), NULL, style | wxRESIZE_BORDER );
4953 m_styledlg->SetFill( m_drawing->GetHabitat()->
GetFill() );
4954 m_styledlg->SetStroke( m_drawing->GetHabitat()->
GetStroke() );
4956 if ( m_styledlg->IsShown() )
4958 m_styledlg->Show(
false );
4962 m_styledlg->Show(
true );
4965 else if ( event.GetId() == CmdMenu_ShowDlgSnap().GetId() )
4968 if ( !m_snapSettings )
4969 m_snapSettings =
new a2dSnapSettings( m_drawing->GetHabitat(), NULL );
4970 if ( m_snapSettings->IsShown() )
4972 m_snapSettings->Show(
false );
4976 m_snapSettings->Show(
true );
4979 else if ( event.GetId() == CmdMenu_ShowDlgGroups().GetId() )
4982 a2dGroupDlg dialog( m_drawing->GetHabitat(), NULL, _(
"choose layer groups" ), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER );
4983 if ( dialog.ShowModal() == wxID_OK )
4987 else if ( event.GetId() == CmdMenu_ShowDlgIdentify().GetId() )
4994 if ( !m_identifyDlg )
4996 m_identifyDlg =
new IdentifyDialog( NULL, -1, _(
"Identify Selected" ) );
5001 if ( !m_identifyDlg->IsShown() )
5003 m_identifyDlg->Show(
true );
5006 else if ( event.GetId() == CmdMenu_ShowDlgCoordEntry().GetId() )
5009 if ( !m_coordEntry )
5011 if ( m_coordEntry->IsShown() )
5013 m_coordEntry->Show(
false );
5017 m_coordEntry->Show(
true );
5020 else if ( event.GetId() == CmdMenu_ShowDlgMeasure().GetId() )
5024 m_measure =
new a2dMeasureDlg( m_drawing->GetHabitat(), NULL );
5025 if ( m_measure->IsShown() )
5027 m_measure->Show(
false );
5031 m_measure->Show(
true );
5034 else if ( event.GetId() == CmdMenu_ShowDlgStructure().GetId() )
5039 m_structDlg =
new a2dCanvasObjectsDialog( NULL, m_drawing,
true,
false, ( wxDEFAULT_DIALOG_STYLE | wxSTAY_ON_TOP | wxRESIZE_BORDER ) );
5041 if ( m_structDlg->IsShown() )
5043 m_structDlg->Show(
false );
5047 m_structDlg->Show(
true );
5048 m_structDlg->
Init( m_drawing );
5051 else if ( event.GetId() == CmdMenu_ShowDlgStructureModal().GetId() )
5058 a2dCanvasObjectsDialog groups( NULL, m_drawing,
true,
true, ( wxDEFAULT_DIALOG_STYLE | wxSTAY_ON_TOP | wxRESIZE_BORDER ) );
5059 if ( groups.ShowModal() == wxID_OK )
5065 else if ( event.GetId() == CmdMenu_ShowDlgCameleonModal().GetId() )
5076 if ( structDlg.ShowModal() == wxID_OK )
5104 wxLogWarning( _T(
"a2dCameleon::GetCameleonRoot() not available" ) );
5106 else if ( event.GetId() == CmdMenu_ShowDlgPathSettings().GetId() )
5109 if ( !m_pathsettings )
5110 m_pathsettings =
new a2dPathSettings( m_drawing->GetHabitat(), NULL );
5111 if ( m_pathsettings->IsShown() )
5113 m_pathsettings->Show(
false );
5117 m_pathsettings->Show(
true );
5120 else if ( event.GetId() == CmdMenu_ShowDlgSettings().GetId() )
5124 m_settings =
new a2dSettings( m_drawing->GetHabitat(), NULL );
5125 if ( m_settings->IsShown() )
5127 m_settings->
Show(
false );
5131 m_settings->
Show(
true );
5134 else if ( event.GetId() == CmdMenu_ShowDlgTrans().GetId() )
5139 if ( m_transset->IsShown() )
5141 m_transset->Show(
false );
5145 m_transset->Show(
true );
5148 else if ( event.GetId() == CmdMenu_ShowDlgPropEdit().GetId() )
5164 else if ( event.GetId() == CmdMenu_SetFont().GetId() )
5168 if ( dialog.ShowModal() == wxID_OK )
5173 else if ( event.GetId() == CmdMenu_PrintDrawing().GetId() )
5176 if ( !GetActiveDrawingPart() )
5181 else if ( event.GetId() == CmdMenu_PreviewDrawing().GetId() )
5184 if ( !GetActiveDrawingPart() )
5189 else if ( event.GetId() == CmdMenu_PrintDrawingPart().GetId() )
5192 if ( !GetActiveDrawingPart() )
5197 else if ( event.GetId() == CmdMenu_PreviewDrawingPart().GetId() )
5200 if ( !GetActiveDrawingPart() )
5225 if ( event.GetId() == CmdMenu_PushTool_Zoom_OneShot().GetId() )
5230 else if ( event.GetId() == CmdMenu_PushTool_Select_OneShot().GetId() )
5235 else if ( event.GetId() == CmdMenu_PushTool_Select2_OneShot().GetId() )
5240 else if ( event.GetId() == CmdMenu_PushTool_FastSelect_OneShot().GetId() )
5245 else if ( event.GetId() == CmdMenu_PushTool_FastSelect2_OneShot().GetId() )
5250 else if ( event.GetId() == CmdMenu_PushTool_RecursiveEdit_OneShot().GetId() )
5255 else if ( event.GetId() == CmdMenu_PushTool_MultiEdit_OneShot().GetId() )
5260 else if ( event.GetId() == CmdMenu_PushTool_DragOriginal_OneShot().GetId() )
5265 else if ( event.GetId() == CmdMenu_PushTool_Drag_OneShot().GetId() )
5270 else if ( event.GetId() == CmdMenu_PushTool_Copy_OneShot().GetId() )
5275 else if ( event.GetId() == CmdMenu_PushTool_Rotate_OneShot().GetId() )
5280 else if ( event.GetId() == CmdMenu_PushTool_Delete_OneShot().GetId() )
5285 else if ( event.GetId() == CmdMenu_PushTool_DrawText_OneShot().GetId() )
5290 else if ( event.GetId() == CmdMenu_PushTool_Image_OneShot().GetId() )
5295 else if ( event.GetId() == CmdMenu_PushTool_DrawCircleFast_OneShot().GetId() )
5300 else if ( event.GetId() == CmdMenu_PushTool_DrawLine_OneShot().GetId() )
5305 else if ( event.GetId() == CmdMenu_PushTool_DrawLineScaledArrow_OneShot().GetId() )
5308 PushTool( a2dDrawLineTool::COMID_PushTool_DrawLineScaledArrow,
false,
true );
5310 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipse_OneShot().GetId() )
5315 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipticArc_OneShot().GetId() )
5320 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipticArc_Chord_OneShot().GetId() )
5325 else if ( event.GetId() == CmdMenu_PushTool_DrawArc_OneShot().GetId() )
5330 else if ( event.GetId() == CmdMenu_PushTool_DrawArc_Chord_OneShot().GetId() )
5335 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineL_OneShot().GetId() )
5340 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonL_OneShot().GetId() )
5345 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineL_Splined_OneShot().GetId() )
5350 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonL_Splined_OneShot().GetId() )
5355 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonLFast_OneShot().GetId() )
5360 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineLFast_OneShot().GetId() )
5365 else if ( event.GetId() == CmdMenu_PushTool_Property_OneShot().GetId() )
5370 else if ( event.GetId() == CmdMenu_PushTool_FastDragMulti_OneShot().GetId() )
5375 else if ( event.GetId() == CmdMenu_PushTool_FastCopyMulti().GetId() )
5380 else if ( event.GetId() == CmdMenu_PushTool_Measure_OneShot().GetId() )
5391 else if ( event.GetId() == CmdMenu_PushTool_DrawWirePolylineL_OneShot().GetId() )
5396 else if ( event.GetId() == CmdMenu_PushTool_DragMulti_OneShot().GetId() )
5401 else if ( event.GetId() == CmdMenu_PushTool_CopyMulti_OneShot().GetId() )
5406 else if ( event.GetId() == CmdMenu_PushTool_DrawRectangle_OneShot().GetId() )
5411 else if ( event.GetId() == CmdMenu_PushTool_DrawCircle_OneShot().GetId() )
5416 else if ( event.GetId() == CmdMenu_PushTool_DrawVPath_OneShot().GetId() )
5423 else if ( event.GetId() == CmdMenu_PushTool_Zoom().GetId() )
5428 else if ( event.GetId() == CmdMenu_PushTool_Select().GetId() )
5433 else if ( event.GetId() == CmdMenu_PushTool_Select2().GetId() )
5438 else if ( event.GetId() == CmdMenu_PushTool_FastSelect().GetId() )
5443 else if ( event.GetId() == CmdMenu_PushTool_FastSelect2().GetId() )
5448 else if ( event.GetId() == CmdMenu_PushTool_RecursiveEdit().GetId() )
5453 else if ( event.GetId() == CmdMenu_PushTool_MultiEdit().GetId() )
5458 else if ( event.GetId() == CmdMenu_PushTool_DragOriginal().GetId() )
5463 else if ( event.GetId() == CmdMenu_PushTool_Drag().GetId() )
5468 else if ( event.GetId() == CmdMenu_PushTool_Copy().GetId() )
5473 else if ( event.GetId() == CmdMenu_PushTool_Rotate().GetId() )
5478 else if ( event.GetId() == CmdMenu_PushTool_Delete().GetId() )
5483 else if ( event.GetId() == CmdMenu_PushTool_DrawText().GetId() )
5488 else if ( event.GetId() == CmdMenu_PushTool_Image().GetId() )
5493 else if ( event.GetId() == CmdMenu_PushTool_DrawRectangleFast().GetId() )
5498 else if ( event.GetId() == CmdMenu_PushTool_DrawCircleFast().GetId() )
5503 else if ( event.GetId() == CmdMenu_PushTool_DrawLine().GetId() )
5508 else if ( event.GetId() == CmdMenu_PushTool_DrawLineScaledArrow().GetId() )
5511 PushTool( a2dDrawLineTool::COMID_PushTool_DrawLineScaledArrow );
5513 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipse().GetId() )
5518 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipticArc().GetId() )
5523 else if ( event.GetId() == CmdMenu_PushTool_DrawEllipticArc_Chord().GetId() )
5528 else if ( event.GetId() == CmdMenu_PushTool_DrawArc().GetId() )
5533 else if ( event.GetId() == CmdMenu_PushTool_DrawArc_Chord().GetId() )
5538 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineL().GetId() )
5543 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonL().GetId() )
5548 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineL_Splined().GetId() )
5553 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonL_Splined().GetId() )
5558 else if ( event.GetId() == CmdMenu_PushTool_DrawPolygonLFast().GetId() )
5563 else if ( event.GetId() == CmdMenu_PushTool_DrawPolylineLFast().GetId() )
5568 else if ( event.GetId() == CmdMenu_PushTool_Property().GetId() )
5573 else if ( event.GetId() == CmdMenu_PushTool_FastDragMulti().GetId() )
5578 else if ( event.GetId() == CmdMenu_PushTool_FastCopyMulti().GetId() )
5583 else if ( event.GetId() == CmdMenu_PushTool_Measure().GetId() )
5594 else if ( event.GetId() == CmdMenu_PushTool_DrawWirePolylineL().GetId() )
5599 else if ( event.GetId() == CmdMenu_PushTool_DragMulti().GetId() )
5604 else if ( event.GetId() == CmdMenu_PushTool_CopyMulti().GetId() )
5609 else if ( event.GetId() == CmdMenu_PushTool_DrawRectangle().GetId() )
5614 else if ( event.GetId() == CmdMenu_PushTool_DrawCircle().GetId() )
5619 else if ( event.GetId() == CmdMenu_PushTool_DrawVPath().GetId() )
5624 else if ( event.GetId() == CmdMenu_PushTool_Port().GetId() )
5632 PushToolDragNew( port, CmdMenu_PushTool_Port(),
false );
5634 else if ( event.GetId() == CmdMenu_PushTool_Cameleon().GetId() )
5639 if ( camdlg.ShowModal() == wxID_OK )
5650 PushToolDragNew( caminst, CmdMenu_PushTool_Cameleon() );
5654 else if ( event.GetId() == CmdMenu_PushTool_Cameleon_BuildIn().GetId() )
5657 wxString name = wxGetTextFromUser( _(
"give Build in Canvas Object it's ClassName:" ) );
5658 wxObject* create = wxCreateDynamicObject( name );
5666 cam->AddAppearance( appear );
5671 wxLogWarning( _T(
"This BuildIn object not available" ) );
5673 else if ( event.GetId() == CmdMenu_PushTool_CameleonInst().GetId() )
5678 wxString name = wxGetTextFromUser( _(
"give a2dCameleon name:" ) );
5679 if ( ! name.IsEmpty() )
5684 if ( cam->GetBuildIn() )
5687 PushToolDragNew( inst, CmdMenu_PushTool_CameleonInst() );
5689 else if ( cam->GetSymbol() )
5692 PushToolDragNew( caminst, CmdMenu_PushTool_CameleonInst() );
5694 else if ( cam->GetDiagram() )
5697 PushToolDragNew( caminst, CmdMenu_PushTool_CameleonInst() );
5701 wxLogWarning( _T(
"A a2dcameleon with this name does not exist" ) );
5705 wxLogWarning( _T(
"a2dCameleon::GetCameleonRoot() not available" ) );
5707 else if ( event.GetId() == CmdMenu_PushTool_CameleonInstDlg().GetId() )
5713 if ( structDlg.ShowModal() == wxID_OK )
5718 if ( cam->GetBuildIn() )
5721 PushToolDragNew( inst, CmdMenu_PushTool_CameleonInstDlg() );
5723 else if ( cam->GetSymbol() )
5726 PushToolDragNew( caminst, CmdMenu_PushTool_CameleonInstDlg() );
5728 else if ( cam->GetDiagram() )
5731 PushToolDragNew( caminst, CmdMenu_PushTool_CameleonInstDlg() );
5737 wxLogWarning( _T(
"a2dCameleon::GetCameleonRoot() not available" ) );
5739 else if ( event.GetId() == CmdMenu_PushTool_CameleonRefDlg_Diagram().GetId() )
5745 if ( structDlg.ShowModal() == wxID_OK )
5751 PushToolDragNew( caminst, CmdMenu_PushTool_CameleonRefDlg_Diagram() );
5754 wxLogWarning( _T(
"Diagram not available choosen" ) );
5758 wxLogWarning( _T(
"a2dCameleon::GetCameleonRoot() not available" ) );
5760 else if ( event.GetId() == CmdMenu_PushTool_CameleonRefDlg_Symbol().GetId() )
5766 if ( structDlg.ShowModal() == wxID_OK )
5772 PushToolDragNew( caminst, CmdMenu_PushTool_CameleonRefDlg_Symbol() );
5775 wxLogWarning( _T(
"Symbol not available choosen" ) );
5779 wxLogWarning( _T(
"a2dCameleon::GetCameleonRoot() not available" ) );
5781 else if ( event.GetId() == CmdMenu_PushTool_CameleonRefDlg().GetId() )
5787 if ( structDlg.ShowModal() == wxID_OK )
5793 PushToolDragNew( caminst, CmdMenu_PushTool_CameleonRefDlg() );
5798 wxLogWarning( _T(
"a2dCameleon::GetCameleonRoot() not available" ) );
5800 else if ( event.GetId() == CmdMenu_PushTool_TagGroups().GetId() )
5803 if ( !GetActiveDrawingPart() )
5810 tool->SetInitiatingMenuId( CmdMenu_PushTool_TagGroups() );
5814 else if ( event.GetId() == CmdMenu_PushTool_TagGroups_WireMode().GetId() )
5817 if ( !GetActiveDrawingPart() )
5824 tool->SetInitiatingMenuId( CmdMenu_PushTool_TagGroups_WireMode() );
5829 else if ( event.GetId() == CmdMenu_PushTool_TagGroups_DlgMode().GetId() )
5832 if ( !GetActiveDrawingPart() )
5839 tool->SetInitiatingMenuId( CmdMenu_PushTool_TagGroups_DlgMode() );
5845 else if ( event.GetId() == CmdMenu_PushTool_TagGroups_WireMode_DlgMode().GetId() )
5848 if ( !GetActiveDrawingPart() )
5855 tool->SetInitiatingMenuId( CmdMenu_PushTool_TagGroups_WireMode_DlgMode() );
5862 else if ( event.GetId() == CmdMenu_PushTool_SingleClick().GetId() )
5865 if ( !GetActiveDrawingPart() )
5872 tool->SetInitiatingMenuId( CmdMenu_PushTool_SingleClick() );
5881 void a2dCanvasCommandProcessor::SetPageSetupData( wxPageSetupDialogData* pageSetupData )
5883 #if wxUSE_PRINTING_ARCHITECTURE
5890 bool a2dCanvasCommandProcessor::Print( wxUint16 printWhat )
5892 #if wxUSE_PRINTING_ARCHITECTURE
5897 wxPageSetupDialogData* aPageSetupData = GetPageSetupData();
5899 wxPrintDialogData printDialogData( aPageSetupData->GetPrintData() );
5901 wxPrintout* printout = drawingPart->
OnCreatePrintout( printWhat, *aPageSetupData );
5904 wxPrinter printer( &printDialogData );
5905 if( printer.Print( drawingPart->GetDisplayWindow(), printout, true ) )
5906 aPageSetupData->SetPrintData( printer.GetPrintDialogData().GetPrintData() );
5910 #endif // wxUSE_PRINTING_ARCHITECTURE
5914 bool a2dCanvasCommandProcessor::Preview( wxUint16 printWhat )
5916 #if wxUSE_PRINTING_ARCHITECTURE
5921 wxPageSetupDialogData* aPageSetupData = GetPageSetupData();
5923 wxPrintDialogData printDialogData( aPageSetupData->GetPrintData() );
5925 wxPrintout* printout = drawingPart->
OnCreatePrintout( printWhat, *aPageSetupData );
5929 wxPrintPreviewBase* preview = ( wxPrintPreviewBase* ) NULL;
5930 preview =
new wxPrintPreview( printout, drawingPart->
OnCreatePrintout( printWhat, *aPageSetupData ), &printDialogData );
5931 if ( !preview->Ok() )
5934 wxMessageBox( _(
"Sorry, print preview needs a printer to be installed." ) );
5938 wxPreviewFrame* frame =
new wxPreviewFrame( preview, ( wxFrame* )wxTheApp->GetTopWindow(), _(
"Print Preview" ),
5939 wxPoint( 100, 100 ), wxSize( 600, 650 ) );
5940 frame->Centre( wxBOTH );
5941 frame->Initialize();
5942 frame->Show(
true );
5944 #endif // wxUSE_PRINTING_ARCHITECTURE
5968 wxCHECK_MSG( command,
false, _T(
"no command in a2dCanvasCommandProcessor::Submit" ) );
6039 if( objects->size() )
6046 for( a2dCanvasObjectList::iterator iter = objects->begin(); iter != objects->end(); ++iter )
6051 if( !
Submit( clone, storeIt ) )
6066 if ( !m_drawing || !GetActiveDrawingPart() )
6072 void a2dCanvasCommandProcessor::DeselectAll()
6097 bool changed =
false;
6099 m_styledlg =
new a2dStyleDialog( m_drawing->GetHabitat(), NULL, wxDEFAULT_DIALOG_STYLE | wxSTAY_ON_TOP | wxRESIZE_BORDER );
6101 m_styledlg->SetFill( m_drawing->GetHabitat()->
GetFill() );
6102 m_styledlg->SetStroke( m_drawing->GetHabitat()->
GetStroke() );
6104 if ( ! m_styledlg->IsShown() )
6109 m_styledlg->Show(
true );
6117 m_styledlg->Show(
false );
6125 if ( GetActiveDrawingPart() )
6147 wxScreenDC screendc;
6148 wxSize size = screendc.GetPPI();
6149 wxSize sizemm = screendc.GetSizeMM();
6150 double MmInPixels = size.x / 25.4;
6152 double scale = dataUnitsPerMm / MmInPixels;
6154 scale /= scaleFromRealSize;
6158 part->GetDisplayWindow()->GetClientSize( &dx, &dy );
6159 if ( dy > dx ) dx = dy;
6185 x -= xf * dx * scale;
6186 y -= yf * dy * scale;
6194 x -= dx / 2.0 * scale;
6195 y -= dy / 2.0 * scale;
6204 if ( GetActiveDrawingPart() )
6216 if ( GetActiveDrawingPart() )
6317 if ( !currentcanvasobject )
6318 currentcanvasobject = 0;
6324 if ( !takeOverProperties )
6331 a2dNamedPropertyList::iterator iter;
6332 for( iter = props.begin(); iter != props.end(); ++iter )
6340 const wxString& default_filename,
const wxString& default_extension,
6341 const wxString& wildcard,
int flags,
int x,
int y )
6343 wxWindow* parent = GetActiveDrawingPart()->GetDisplayWindow();
6345 wxString expandedPath = default_path;
6347 if ( !default_path.IsEmpty() && !path.ExpandPath( expandedPath ) )
6352 return wxFileSelector( message, expandedPath, default_filename, default_extension, wildcard, flags, parent, x, y );
6356 bool a2dCanvasCommandProcessor::SaveLayers(
const wxFileName& fileName )
6362 path.Add( wxT(
"." ) );
6363 wxString foundfile = fileName.GetFullPath();
6364 if ( !path.ExpandPath( foundfile ) )
6369 if ( foundfile.IsEmpty() )
6383 bool a2dCanvasCommandProcessor::LoadLayers(
const wxFileName& fileName )
6389 path.Add( wxT(
"." ) );
6390 wxString foundfile = fileName.GetFullPath();
6391 if ( !path.ExpandPath( foundfile ) )
6396 if ( foundfile.IsEmpty() )
6402 #if wxUSE_STD_IOSTREAM
6403 a2dDocumentFileInputStream store( foundfile.mb_str() );
6404 if ( store.fail() || store.bad() )
6410 wxFileInputStream storeUnbuf( foundfile );
6411 if ( !storeUnbuf.Ok() )
6416 wxBufferedInputStream store( storeUnbuf );
6419 #if wxART2D_USE_CVGIO
6427 wxFAIL_MSG( wxT(
"wxART2D_USE_CVGIO is needed to load object from a file CVG file" ) );
6428 #endif //wxART2D_USE_CVGIO
6594 dragnew->SetBoxCenterDrag( dragCenter );
6601 bool a2dCanvasCommandProcessor::PushTool(
const a2dCommandId& whichTool,
bool shiftadd,
bool oneshot )
6631 contr->
PopTool( poped,
false );
6639 selt->SetShiftIsAdd();
6650 selt->SetShiftIsAdd();
6773 else if ( which == &a2dDrawLineTool::COMID_PushTool_DrawLineScaledArrow )
6797 draw->SetChord(
true );
6819 m_drawing->GetHabitat()->SetSpline(
false );
6829 m_drawing->GetHabitat()->SetSpline(
true );
6837 m_drawing->GetHabitat()->SetSpline(
false );
6845 m_drawing->GetHabitat()->SetSpline(
true );
6853 m_drawing->GetHabitat()->SetSpline(
false );
6861 m_drawing->GetHabitat()->SetSpline(
true );
6869 m_drawing->GetHabitat()->SetSpline(
false );
6877 m_drawing->GetHabitat()->SetSpline(
true );
6922 else if ( which == &a2dCanvasCommandProcessor::COMID_PopTool )
6924 return PopTool() != NULL;
6949 if ( GetActiveDrawingPart() )
6951 a2dToolContr* contr = GetActiveDrawingPart()->GetCanvasToolContr();
6967 void a2dCanvasCommandProcessor::ClearMeasurements()
6969 a2dComEvent changed(
this, sig_ClearMeasurements );
6970 ProcessEvent( changed );
6973 void a2dCanvasCommandProcessor::AddMeasurement(
double x,
double y )
6979 ProcessEvent( changed );
6982 void a2dCanvasCommandProcessor::SetRelativeStart(
double x,
double y )
6985 a2dComEvent changed(
this, sig_SetRelativeStart );
6986 ProcessEvent( changed );
6989 bool a2dCanvasCommandProcessor::ZoomOut()
6991 if ( GetActiveDrawingPart() )
7003 wxASSERT( !m_canvasobject );
7006 m_canvasobject = object;
7010 a2dCommand_AddObject::~a2dCommand_AddObject(
void )
7021 m_parent->
Append( m_canvasobject );
7035 m_parent->
Append( m_canvasobject );
7049 m_parent->
ReleaseChild( m_canvasobject,
false,
false );
7061 m_canvasobject = object;
7068 a2dCommand_ReleaseObject::~a2dCommand_ReleaseObject(
void )
7074 m_index = m_parent->
IndexOf( m_canvasobject.Get() );
7076 if ( m_index == -1 )
7105 m_parent->
Insert( m_index, m_canvasobject.Get(), false );
7118 if ( m_canvasobject->
HasPins() )
7128 a2dPinList::const_iterator iterconp;
7130 for ( iterconp = savepinsother.begin( ) ; iterconp != savepinsother.end( ) ; iterconp++ )
7132 a2dPin* otherpin = *iterconp;
7142 if ( wireConnected &&
7143 ( wireConnected != m_canvasobject ) &&
7147 connectedwires.push_back( wireConnected );
7166 a2dCanvasObjectList::iterator iter;
7167 for( iter = connectedwires.begin(); iter != connectedwires.end(); ++iter )
7184 m_canvasobject = oldobject;
7185 m_canvasobject2 = newobject;
7189 a2dCommand_ReplaceObject::~a2dCommand_ReplaceObject(
void )
7195 int index = m_parent->
IndexOf( m_canvasobject );
7198 m_parent->
ReleaseChild( m_canvasobject,
false,
false );
7200 m_parent->
Insert( index, m_canvasobject2 );
7203 m_canvasobject = m_canvasobject2;
7204 m_canvasobject2 = swap;
7221 m_parentTo = parentTo;
7222 m_parentFrom = parentFrom;
7223 m_canvasobject = object;
7227 a2dCommand_MoveObject::~a2dCommand_MoveObject(
void )
7235 a2dCanvasObjectList::iterator iterpins = parentList->begin();
7236 while( iterpins != parentList->end() )
7239 if ( obj == m_canvasobject )
7248 m_parentTo->
Append( m_canvasobject );
7257 a2dCanvasObjectList::iterator iterpins = parentList->begin();
7258 while( iterpins != parentList->end() )
7261 if ( obj == m_canvasobject )
7270 m_parentFrom->
Append( m_canvasobject );
7290 m_preserve = preserve;
7291 m_whichObjects = whichobjects;
7293 #if defined(_DEBUG) && defined (SMART_POINTER_DEBUG)
7295 CurrentSmartPointerOwner =
this;
7299 a2dCommand_SetFlags::~a2dCommand_SetFlags(
void )
7312 m_objectOldMask.clear();
7316 m_objectOldMask.push_back( obj->
GetFlags() );
7336 if ( masknow & m_which )
7338 obj->
SetFlags( masknow & ~m_which );
7380 m_canvasobject = object;
7383 a2dCommand_SetFlag::~a2dCommand_SetFlag(
void )
7389 wxASSERT( !m_canvasobject );
7426 a2dCommand_SetPinFlags::a2dCommand_SetPinFlags(
a2dPin* pin, a2dPin::a2dPinFlagsMask which,
bool value ):
7434 a2dCommand_SetPinFlags::~a2dCommand_SetPinFlags(
void )
7446 a2dPin::a2dPinFlagsMask old = m_pin->GetPinFlags();
7448 m_pin->SetPinFlags( m_which, m_value );
7455 m_pin->SetPinFlags( m_oldmask );
7463 a2dCommandMasked::a2dCommandMasked(
7468 bool index,
bool rewire,
7471 const wxString& menuString
7473 :
a2dCommandGroup( parentGroup, commandId, commandTypeId, menuString )
7476 m_targetMask = targetMask;
7477 m_parentObject = parentObject;
7496 a2dCommandList::const_iterator iter =
m_subcommands.begin();
7533 bool EditCopy =
true;
7539 a2dCanvasObjectList::iterator iter = objects.begin();
7540 while( iter != objects.end() )
7544 iter = objects.erase( iter );
7550 GetDrawHabitat()->GetConnectionGenerator()->SetNoEditCopy(
true );
7553 GetDrawHabitat()->GetConnectionGenerator()->SetNoEditCopy(
false );
7554 for( a2dCanvasObjectList::iterator iter = objects.begin();
7555 iter != objects.end(); ++iter )
7562 m_copies.push_back( copy );
7568 GetDrawHabitat()->GetConnectionGenerator()->PrepareForRewire(
m_parentObject, objects,
true,
false,
false,
true, NULL, &refs );
7582 bool EditCopy =
true;
7598 for( a2dCanvasObjectList::iterator iter = m_copies.begin(); iter != m_copies.end(); ++iter )
7603 copy->SetTransform( mat );
7607 GetDrawHabitat()->GetConnectionGenerator()->RerouteWires(
true );
7611 for( a2dCanvasObjectList::iterator iter = m_copies.begin(); iter != m_copies.end(); ++iter )
7615 setp.SetSkipNotRenderedInDrawing(
true );
7624 setp.SetSkipNotRenderedInDrawing(
true );
7626 setp.
Start( original );
7629 GetDrawHabitat()->GetConnectionGenerator()->SetNoEditCopy(
false );
7695 a2dCommand_SetSelectFlag::a2dCommand_SetSelectFlag(
a2dCanvasObject*
object,
bool value,
bool preserve ):
7699 m_canvasobject = object;
7701 m_preserve = preserve;
7704 a2dCommand_SetSelectFlag::~a2dCommand_SetSelectFlag(
void )
7710 wxASSERT( !m_canvasobject );
7736 m_oldvalue = oldvalue;
7752 m_oldvalue = oldvalue;
7766 a2dCommand_SetSelect2Flag::a2dCommand_SetSelect2Flag(
a2dCanvasObject*
object,
bool value,
bool preserve ):
7770 m_preserve = preserve;
7771 m_canvasobject = object;
7774 a2dCommand_SetSelect2Flag::~a2dCommand_SetSelect2Flag(
void )
7780 wxASSERT( !m_canvasobject );
7822 m_oldvalue = oldvalue;
7840 m_transform = newtransform;
7843 a2dCommand_TransformMask::~a2dCommand_TransformMask(
void )
7849 GetCanvasCmp()->SetCurrentGroup(
this );
7876 GetCanvasCmp()->CommandGroupEnd(
this );
7886 a2dObjectMatrixList::iterator iter = m_objectsMatrix.begin();
7887 while ( iter != m_objectsMatrix.end() )
7904 a2dObjectMatrixList::iterator iter = m_objectsMatrix.begin();
7905 while ( iter != m_objectsMatrix.end() )
7924 a2dCommand_RotateMask::a2dCommand_RotateMask(
a2dCanvasObject* parent,
double angle,
7931 a2dCommand_RotateMask::~a2dCommand_RotateMask(
void )
7937 GetCanvasCmp()->SetCurrentGroup(
this );
7960 GetCanvasCmp()->CommandGroupEnd(
this );
7968 a2dObjectMatrixList::iterator iter = m_objectsMatrix.begin();
7969 while ( iter != m_objectsMatrix.end() )
7975 matrixdata.m_transform = mat;
7986 a2dObjectMatrixList::iterator iter = m_objectsMatrix.begin();
7987 while ( iter != m_objectsMatrix.end() )
7993 matrixdata.m_transform = mat;
8007 a2dCommand_AlignMask::a2dCommand_AlignMask(
a2dCanvasObject* parent, Alignment align,
8017 a2dCommand_AlignMask::~a2dCommand_AlignMask(
void )
8023 GetCanvasCmp()->SetCurrentGroup(
this );
8027 double alignToMaxX = DBL_MIN;
8028 double alignToMinX = DBL_MAX;
8029 double alignToMaxY = DBL_MIN;
8030 double alignToMinY = DBL_MAX;
8031 double objectsHeight = 0;
8032 double objectsWidth = 0;
8035 size_t HowManySelected = 0;
8046 alignToMaxY = wxMax( alignToMaxY, box.
GetMaxY() );
8047 alignToMinY = wxMin( alignToMinY, box.
GetMinY() );
8048 alignToMaxX = wxMax( alignToMaxX, box.
GetMaxX() );
8049 alignToMinX = wxMin( alignToMinX, box.
GetMinX() );
8063 case MirrorVert_Dest:
8064 case MirrorHorz_Dest:
8065 case MirrorVertBbox_Dest:
8066 case MirrorHorzBbox_Dest:
8106 case MirrorVert_Dest:
8109 case MirrorHorz_Dest:
8112 case MirrorVertBbox_Dest:
8115 case MirrorHorzBbox_Dest:
8121 double alignMidX = ( alignToMaxX + alignToMinX ) / 2.0;
8122 double alignMidY = ( alignToMaxY + alignToMinY ) / 2.0;
8126 if ( m_align == DistributeVert || m_align == DistributeHorz )
8128 double dx = (alignToMaxX - alignToMinX - objectsWidth) / (HowManySelected-1);
8129 double dy = (alignToMaxY - alignToMinY - objectsHeight) / (HowManySelected-1);
8130 double posnext = alignToMinX;
8131 if ( m_align == DistributeVert )
8132 posnext = alignToMinY;
8141 a2dCanvasObjectList::iterator itersort = sorted.begin();
8142 while ( itersort != sorted.end() )
8146 if ( m_align == DistributeVert && boxsort.
GetMinY() < box.
GetMinY() )
8148 else if ( m_align == DistributeHorz && boxsort.
GetMinX() < box.
GetMinX() )
8152 sorted.insert( itersort, obj );
8156 if ( itersort == sorted.end() )
8157 sorted.push_back( obj );
8160 for( a2dCanvasObjectList::iterator iter = sorted.begin(); iter != sorted.end(); ++iter )
8168 case DistributeVert:
8175 case DistributeHorz:
8204 if ( obj != lastSelect )
8211 if ( obj != lastSelect )
8218 if ( obj != lastSelect )
8225 if ( obj != lastSelect )
8232 if ( obj != lastSelect )
8239 if ( obj != lastSelect )
8249 obj->
Mirror(
false,
true );
8253 case MirrorVert_Dest:
8254 if ( obj != lastSelect )
8261 obj->
Mirror(
false,
true );
8272 obj->
Mirror(
true,
false );
8276 case MirrorHorz_Dest:
8277 if ( obj != lastSelect )
8284 obj->
Mirror(
true,
false );
8288 case MirrorVertBbox:
8290 double x = alignMidX;
8291 double y = alignMidY;
8293 obj->
Mirror(
false,
true );
8297 case MirrorVertBbox_Dest:
8298 if ( obj != lastSelect )
8300 double x = alignMidX;
8301 double y = alignMidY;
8303 obj->
Mirror(
false,
true );
8307 case MirrorHorzBbox:
8309 double x = alignMidX;
8310 double y = alignMidY;
8312 obj->
Mirror(
true,
false );
8316 case MirrorHorzBbox_Dest:
8317 if ( obj != lastSelect )
8319 double x = alignMidX;
8320 double y = alignMidY;
8322 obj->
Mirror(
true,
false );
8337 GetCanvasCmp()->CommandGroupEnd(
this );
8345 a2dObjectMatrixList::iterator iter = m_objectsMatrix.begin();
8346 while ( iter != m_objectsMatrix.end() )
8352 matrixdata.m_transform = mat;
8362 a2dObjectMatrixList::iterator iter = m_objectsMatrix.begin();
8363 while ( iter != m_objectsMatrix.end() )
8369 matrixdata.m_transform = mat;
8383 a2dCommand_AddPoint::a2dCommand_AddPoint(
a2dCanvasObject*
object,
double x,
double y,
int index,
bool afterinversion ):
8388 m_canvasobject = object;
8389 m_afterinversion = afterinversion;
8396 a2dVertexList::iterator iter = obj->GetSegmentAtIndex( index );
8408 m_canvasobject = object;
8409 m_afterinversion = afterinversion;
8412 a2dCommand_AddPoint::~a2dCommand_AddPoint(
void )
8421 m_segAdded = obj->
AddPoint( m_x, m_y, m_seg, m_afterinversion );
8432 double xremoved, yxremoved;
8433 obj->
RemoveSegment( xremoved, yxremoved, m_segAdded, m_afterinversion );
8445 int whereInsert = -1;
8447 whereInsert = obj->GetIndexSegment( m_seg );
8460 a2dCommand_MoveSegment::a2dCommand_MoveSegment(
a2dCanvasObject*
object,
double x,
double y,
int index,
bool afterinversion ):
8466 m_canvasobject = object;
8468 m_afterinversion = afterinversion;
8478 m_canvasobject = object;
8480 m_afterinversion = afterinversion;
8483 a2dCommand_MoveSegment::~a2dCommand_MoveSegment(
void )
8551 m_canvasobject = object;
8553 m_afterinversion = afterinversion;
8556 a2dCommand_MoveMidSegment::a2dCommand_MoveMidSegment(
a2dCanvasObject*
object,
double x,
double y,
int index,
bool afterinversion ):
8562 m_canvasobject = object;
8564 m_afterinversion = afterinversion;
8567 a2dCommand_MoveMidSegment::~a2dCommand_MoveMidSegment(
void )
8604 a2dCommand_RemoveSegment::a2dCommand_RemoveSegment(
a2dCanvasObject*
object,
int index ):
8607 m_canvasobject = object;
8618 m_index = obj->GetIndexSegment( seg );
8621 m_canvasobject = object;
8624 a2dCommand_RemoveSegment::~a2dCommand_RemoveSegment(
void )
8659 m_canvasobject = object;
8660 m_segments = points;
8662 if( afterinversion )
8667 m_segments->Transform( trans );
8671 a2dCommand_SetSegments::~a2dCommand_SetSegments(
void )
8704 a2dCommand_MovePoint::a2dCommand_MovePoint(
a2dSLine*
object,
double x,
double y,
bool start,
bool afterinversion ):
8713 m_afterinversion = afterinversion;
8716 a2dCommand_MovePoint::~a2dCommand_MovePoint(
void )
8725 x = m_line->
GetPosX1( m_afterinversion );
8726 y = m_line->
GetPosY1( m_afterinversion );
8727 m_line->
SetPosXY1( m_x, m_y, m_afterinversion );
8731 x = m_line->
GetPosX2( m_afterinversion );
8732 y = m_line->
GetPosY2( m_afterinversion );
8733 m_line->
SetPosXY2( m_x, m_y, m_afterinversion );
8754 a2dCommand_ChangeText::a2dCommand_ChangeText(
a2dText*
object,
8755 wxString text,
int caret,
const a2dFont& font,
double linespace,
unsigned int textflags )
8758 m_canvasobject = object;
8762 m_linespace = linespace;
8763 m_textflags = textflags;
8764 #if defined(_DEBUG) && defined (SMART_POINTER_DEBUG)
8766 CurrentSmartPointerOwner =
this;
8770 a2dCommand_ChangeText::~a2dCommand_ChangeText(
void )
8776 wxString oldtext = m_canvasobject->
GetText();
8777 int oldcaret = m_canvasobject->
GetCaret();
8780 unsigned int oldtextflags = m_canvasobject->
GetTextFlags();
8782 m_canvasobject->
SetText( m_text );
8783 m_canvasobject->
SetCaret( m_caret );
8784 m_canvasobject->
SetFont( m_font );
8792 m_linespace = oldlinespace;
8793 m_textflags = oldtextflags;
8808 a2dCommand_ConnectPins::a2dCommand_ConnectPins(
a2dPin* pin1,
a2dPin* pin2 )
8818 a2dCommand_ConnectPins::~a2dCommand_ConnectPins(
void )
8841 a2dCommand_DisConnectPins::a2dCommand_DisConnectPins(
a2dPin* pin1,
a2dPin* pin2 )
8851 a2dCommand_DisConnectPins::~a2dCommand_DisConnectPins(
void )
8874 if ( m_layer > wxMAXLAYER )
8876 ( void )wxMessageBox( _(
"Target Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
8881 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat );
8888 m_objectOldLayers.push_back( obj->
GetLayer() );
8900 a2dLayerGroup::iterator iterl = m_objectOldLayers.begin();
8901 while ( iterl != m_objectOldLayers.end() )
8925 GetCanvasCmp()->SetCurrentGroup(
this );
8939 GetCanvasCmp()->Submit( cmd,
true );
8948 GetCanvasCmp()->CommandGroupEnd(
this );
8975 GetCanvasCmp()->SetCurrentGroup(
this );
8982 GetCanvasCmp()->CommandGroupEnd(
this );
8997 objects->
Release( obj,
false,
false,
true );
8998 objects->
Insert( *index, obj,
true );
9027 GetCanvasCmp()->SetCurrentGroup(
this );
9034 GetCanvasCmp()->CommandGroupEnd(
this );
9049 objects->
Release( obj,
false,
false,
true );
9050 objects->
Insert( *index, obj,
true );
9073 m_target = m_target == -1 ? GetDrawHabitat()->GetTarget() : m_target;
9074 if ( m_target > wxMAXLAYER )
9076 ( void )wxMessageBox( _(
"Target Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
9083 objects->
Copy( m_x, m_y, m_mask, m_toTarget ==
false ? -1 : m_target,
true );
9085 m_objects = objects->
CloneChecked( a2dObject::clone_flat );
9098 objects->
Release( obj,
false,
false,
true );
9112 m_target = m_target == -1 ? GetDrawHabitat()->GetTarget() : m_target;
9113 if ( m_target > wxMAXLAYER )
9115 ( void )wxMessageBox( _(
"Target Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
9120 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat );
9135 m_objectOldLayers.push_back( obj->
GetLayer() );
9137 objects->
Move( m_x, m_y, m_mask, m_toTarget ==
false ? -1 : m_target );
9148 a2dLayerGroup::iterator iterl = m_objectOldLayers.begin();
9149 while ( iterl != m_objectOldLayers.end() )
9171 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat, &m_objectsIndex );
9175 if ( !m_name.IsEmpty() )
9176 m_groupobject->
SetName( m_name );
9178 setflags.SetSkipNotRenderedInDrawing(
true );
9179 setflags.
Start( m_parent,
false );
9190 objects->
Release( m_groupobject,
false,
false,
true );
9191 double x = m_groupobject->
GetPosX();
9192 double y = m_groupobject->
GetPosY();
9195 while ( index != m_objectsIndex.end() )
9201 objects->
Insert( *index, obj,
true );
9217 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat, &m_objectsIndex );
9225 remh.SetSkipNotRenderedInDrawing(
true );
9226 remh.
Start( m_parent );
9238 while ( index != m_objectsIndex.end() )
9243 objects->
Insert( *index, obj,
true );
9258 m_target = m_target == -1 ? GetDrawHabitat()->GetTarget() : m_target;
9259 if ( m_target > wxMAXLAYER )
9261 ( void )wxMessageBox( _(
"Target Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
9267 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat, &m_objectsIndex );
9269 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
9273 #if wxART2D_USE_KBOOL
9278 groupA.push_back( wxLAYER_ALL );
9282 booloper.
SetTarget( m_takeLayerFirstObject ? -1 : m_target );
9287 double marge = GetDrawHabitat()->GetBooleanEngineMarge();
9289 booloper.SetGrid( GetDrawHabitat()->GetBooleanEngineGrid() );
9290 booloper.SetDGrid( GetDrawHabitat()->GetBooleanEngineDGrid() );
9291 booloper.SetCorrectionAber(
double( GetDrawHabitat()->GetBooleanEngineCorrectionAber() ) / drawing->
GetUnitsScale() );
9292 booloper.SetCorrectionFactor(
double( GetDrawHabitat()->GetBooleanEngineCorrectionFactor() ) / drawing->
GetUnitsScale() );
9293 booloper.SetMaxlinemerge(
double( GetDrawHabitat()->GetBooleanEngineMaxlinemerge() ) / drawing->
GetUnitsScale() );
9294 booloper.SetWindingRule( GetDrawHabitat()->GetBooleanEngineWindingRule() );
9295 booloper.
SetLinkHoles( GetDrawHabitat()->GetBooleanEngineLinkHoles() );
9296 booloper.SetRoundfactor( GetDrawHabitat()->GetBooleanEngineRoundfactor() );
9299 booloper.SetSkipNotRenderedInDrawing(
true );
9300 booloper.
Start( m_parent );
9306 setflags.SetSkipNotRenderedInDrawing(
true );
9307 setflags.
Start( m_parent,
false );
9309 #endif //wxART2D_USE_KBOOL
9320 while ( index != m_objectsIndex.end() )
9326 objects->
Insert( *index, obj,
true );
9336 objects->
Release( obj,
false,
false,
true );
9338 m_mergedObjects->clear();
9348 m_target = m_target == -1 ? GetDrawHabitat()->GetTarget() : m_target;
9349 if ( m_target > wxMAXLAYER )
9351 ( void )wxMessageBox( _(
"Target Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
9354 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
9358 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat, &m_objectsIndex );
9362 #if wxART2D_USE_KBOOL
9367 groupA.push_back( wxLAYER_ALL );
9371 booloper.
SetTarget( m_takeLayerFirstObject ? -1 : m_target );
9376 double marge = GetDrawHabitat()->GetBooleanEngineMarge();
9378 booloper.SetGrid( GetDrawHabitat()->GetBooleanEngineGrid() );
9379 booloper.SetDGrid( GetDrawHabitat()->GetBooleanEngineDGrid() );
9380 booloper.SetCorrectionAber(
double( GetDrawHabitat()->GetBooleanEngineCorrectionAber() ) / drawing->
GetUnitsScale() );
9381 booloper.SetCorrectionFactor(
double( GetDrawHabitat()->GetBooleanEngineCorrectionFactor() ) / drawing->
GetUnitsScale() );
9382 booloper.SetMaxlinemerge(
double( GetDrawHabitat()->GetBooleanEngineMaxlinemerge() ) / drawing->
GetUnitsScale() );
9383 booloper.SetWindingRule( GetDrawHabitat()->GetBooleanEngineWindingRule() );
9384 booloper.
SetLinkHoles( GetDrawHabitat()->GetBooleanEngineLinkHoles() );
9385 booloper.SetRoundfactor( GetDrawHabitat()->GetBooleanEngineRoundfactor() );
9388 booloper.SetSkipNotRenderedInDrawing(
true );
9389 booloper.
Start( m_parent );
9395 setflags.SetSkipNotRenderedInDrawing(
true );
9396 setflags.
Start( m_parent,
false );
9398 #endif //wxART2D_USE_KBOOL
9409 while ( index != m_objectsIndex.end() )
9415 objects->
Insert( *index, obj,
true );
9425 objects->
Release( obj,
false,
false,
true );
9427 m_offsetObjects->clear();
9437 m_target = m_target == -1 ? GetDrawHabitat()->GetTarget() : m_target;
9438 if ( m_target > wxMAXLAYER )
9440 ( void )wxMessageBox( _(
"Target Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
9444 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
9448 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat, &m_objectsIndex );
9452 #if wxART2D_USE_KBOOL
9457 groupA.push_back( wxLAYER_ALL );
9461 booloper.
SetTarget( m_takeLayerFirstObject ? -1 : m_target );
9466 double marge = GetDrawHabitat()->GetBooleanEngineMarge();
9468 booloper.SetGrid( GetDrawHabitat()->GetBooleanEngineGrid() );
9469 booloper.SetDGrid( GetDrawHabitat()->GetBooleanEngineDGrid() );
9470 booloper.SetCorrectionAber(
double( GetDrawHabitat()->GetBooleanEngineCorrectionAber() ) / drawing->
GetUnitsScale() );
9471 booloper.SetCorrectionFactor(
double( GetDrawHabitat()->GetBooleanEngineCorrectionFactor() ) / drawing->
GetUnitsScale() );
9472 booloper.SetMaxlinemerge(
double( GetDrawHabitat()->GetBooleanEngineMaxlinemerge() ) / drawing->
GetUnitsScale() );
9473 booloper.SetWindingRule( GetDrawHabitat()->GetBooleanEngineWindingRule() );
9475 booloper.SetRoundfactor( GetDrawHabitat()->GetBooleanEngineRoundfactor() );
9477 booloper.SetSkipNotRenderedInDrawing(
true );
9479 booloper.
Start( m_parent );
9485 setflags.SetSkipNotRenderedInDrawing(
true );
9486 setflags.
Start( m_parent,
false );
9488 #endif //wxART2D_USE_KBOOL
9499 while ( index != m_objectsIndex.end() )
9505 objects->
Insert( *index, obj,
true );
9515 objects->
Release( obj,
false,
false,
true );
9517 m_offsetObjects->clear();
9527 if ( m_target > wxMAXLAYER )
9529 ( void )wxMessageBox( _(
"Target Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
9533 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
9537 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat, &m_objectsIndex );
9541 #if wxART2D_USE_KBOOL
9546 groupA.push_back( wxLAYER_ALL );
9550 booloper.
SetTarget( m_takeLayerFirstObject ? -1 : m_target );
9555 double marge = GetDrawHabitat()->GetBooleanEngineMarge();
9557 booloper.SetGrid( GetDrawHabitat()->GetBooleanEngineGrid() );
9558 booloper.SetDGrid( GetDrawHabitat()->GetBooleanEngineDGrid() );
9559 booloper.SetCorrectionAber(
double( GetDrawHabitat()->GetBooleanEngineCorrectionAber() ) / drawing->
GetUnitsScale() );
9560 booloper.SetCorrectionFactor(
double( GetDrawHabitat()->GetBooleanEngineCorrectionFactor() ) / drawing->
GetUnitsScale() );
9561 booloper.SetMaxlinemerge(
double( GetDrawHabitat()->GetBooleanEngineMaxlinemerge() ) / drawing->
GetUnitsScale() );
9562 booloper.SetWindingRule( GetDrawHabitat()->GetBooleanEngineWindingRule() );
9564 booloper.SetRoundfactor( GetDrawHabitat()->GetBooleanEngineRoundfactor() );
9566 booloper.SetSkipNotRenderedInDrawing(
true );
9568 booloper.
Start( m_parent );
9574 setflags.SetSkipNotRenderedInDrawing(
true );
9575 setflags.
Start( m_parent,
false );
9577 #endif //wxART2D_USE_KBOOL
9588 while ( index != m_objectsIndex.end() )
9594 objects->
Insert( *index, obj,
true );
9604 objects->
Release( obj,
false,
false,
true );
9606 m_offsetObjects->clear();
9617 m_oldobjects = objects->
Clone( m_mask, a2dObject::clone_deep, &m_objectsIndex );
9618 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat );
9622 for( a2dCanvasObjectList::iterator iter = m_objects->begin(); iter != m_objects->end(); iter++ )
9637 while ( index != m_objectsIndex.end() )
9643 objects->
Insert( *index, obj,
true );
9647 m_oldobjects->clear();
9653 objects->
Release( obj,
false,
false,
true );
9666 m_oldobjects = objects->
Clone( m_mask, a2dObject::clone_deep, &m_objectsIndex );
9667 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat );
9671 m_objects->
SetDrawerStyle( GetDrawHabitat()->GetFill(), GetDrawHabitat()->GetStroke(), m_mask );
9683 while ( index != m_objectsIndex.end() )
9689 objects->
Insert( *index, obj,
true );
9693 m_oldobjects->clear();
9699 objects->
Release( obj,
false,
false,
true );
9708 const a2dCommandId a2dCommand_SetFillStrokeExtMask::Id( wxT(
"SetFillStrokeExtMask" ) );
9713 m_extStroke = extStroke;
9714 m_extFill = extFill;
9719 GetCanvasCmp()->SetCurrentGroup(
this );
9731 a2dFill oldFill = obj->GetFill();
9732 bool layerStroke =
false;
9733 bool layerFill =
false;
9748 bool changed =
false;
9749 a2dStroke s1Edited = m_extStroke.Get( oldStroke );
9750 if ( s1Edited != oldStroke && !( s1Edited == *
a2dNullSTROKE && layerStroke ) )
9756 a2dFill f1Edited = m_extFill.Get( oldFill );
9766 m_strokes.push_back( oldStroke );
9767 m_fills.push_back( oldFill );
9774 GetCanvasCmp()->CommandGroupEnd(
this );
9791 strokes.push_back( obj->GetStroke() );
9792 fills.push_back( obj->GetFill() );
9801 m_strokes = strokes;
9814 const a2dCommandId a2dCommand_SetTextChangesMask::Id( wxT(
"SetFontExtMask" ) );
9819 m_extFont = extFont;
9820 m_alignment = alignment;
9825 GetCanvasCmp()->SetCurrentGroup(
this );
9830 wxArrayString valid_styles, valid_extras;
9832 if( !m_extFont.IsStyleValid() )
9839 for (
size_t i = 0; i < fonts->GetCount(); i++ )
9841 wxString fonttype = fonts->Item( i )->GetData()->GetType();
9842 wxString fontname = fonts->Item( i )->GetData()->GetName();
9843 wxString fontstyle = fonts->Item( i )->GetData()->GetStyle();
9844 wxString fontextra = fonts->Item( i )->GetData()->GetExtra();
9846 if ( ( fonttype == common_fonttype || common_fonttype == _(
"* (All types)" ) )
9847 && fontname == common_fontname )
9849 valid_styles.push_back( fontstyle );
9850 valid_extras.push_back( fontextra );
9867 a2dFont f1Edited = m_extFont.GetFont( oldFont, valid_styles, valid_extras );
9868 int alignEdited = m_extFont.GetAlignment( oldAlign );
9869 unsigned int flagsEdited = m_extFont.GetTextFlags( oldFlags );
9871 if( m_extFont.IsNameValid() && m_extFont.IsStyleValid() )
9874 if ( f1Edited != oldFont || alignEdited != oldAlign || flagsEdited != oldFlags )
9881 m_fonts.push_back( oldFont );
9882 m_alignmentslist.push_back( oldAlign );
9883 m_textflagslist.push_back( oldFlags );
9890 GetCanvasCmp()->CommandGroupEnd(
this );
9914 fonts.push_back( text->
GetFont() );
9927 m_alignmentslist = alignmentslist;
9928 m_textflagslist = textflagslist;
9945 m_oldobjects = objects->
Clone( m_mask, a2dObject::clone_deep, &m_objectsIndex );
9946 m_objects = objects->
Clone( m_mask, a2dObject::clone_flat );
9950 for( a2dCanvasObjectList::iterator iter = m_objects->begin(); iter != m_objects->end(); iter++ )
9971 while ( index != m_objectsIndex.end() )
9977 objects->
Insert( *index, obj,
true );
9981 m_oldobjects->clear();
9987 objects->
Release( obj,
false,
false,
true );
10003 m_oldLayersVisible.push_back( layerinfo->
GetVisible() );
10004 if ( layerinfo != wxNullLayerInfo )
10006 switch ( m_setWhat )
10015 layerinfo->
SetRead( m_value );
10019 a2dFill fill = layerinfo->GetFill();
10027 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
10029 drawing->ProcessEvent( changedlayer );
10035 wxUint16 layer = 0;
10037 while ( index != m_oldLayersVisible.end() )
10039 bool value = *index;
10041 if ( layerinfo != wxNullLayerInfo )
10043 switch ( m_setWhat )
10057 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
10059 drawing->ProcessEvent( changedlayer );
10063 bool a2dCommand_Select::Do()
10065 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
10090 preserveLastSelected = obj;
10115 if ( !m_args.argSet.layer || ( m_args.argSet.layer && obj->
GetLayer() == m_args.argValue.layer ) )
10118 m_oldobjectsSelected.push_back( obj->
GetSelected() );
10120 m_oldobjects->push_back( obj );
10123 if ( !lastSelected )
10136 if ( !lastSelected )
10138 lastSelected = obj;
10146 lastSelected = obj;
10154 lastSelected = obj;
10160 if ( lastSelected )
10164 if ( preserveLastSelected )
10203 if ( !m_args.argSet.layer || ( m_args.argSet.layer && obj->
GetLayer() == m_args.argValue.layer ) )
10205 m_oldobjectsSelected.push_back( obj->
GetSelected() );
10208 lastSelected = obj;
10210 m_oldobjects->push_back( obj );
10213 if ( lastSelected )
10226 if ( !lastSelected )
10228 lastSelected = obj;
10236 lastSelected = obj;
10244 lastSelected = obj;
10250 if ( lastSelected )
10254 if ( preserveLastSelected )
10262 else if ( m_args.argValue.what ==
SelectAll )
10284 preserveLastSelected = obj;
10298 if ( !m_args.argSet.layer || ( m_args.argSet.layer && obj->
GetLayer() == m_args.argValue.layer ) )
10300 m_oldobjectsSelected.push_back( obj->
GetSelected() );
10302 m_oldobjects->push_back( obj );
10305 if ( !lastSelected )
10317 if ( !lastSelected )
10319 lastSelected = obj;
10327 lastSelected = obj;
10335 lastSelected = obj;
10341 if ( lastSelected )
10345 if ( preserveLastSelected )
10349 drawing->UpdateAllViews( a2dCANVIEW_UPDATE_ALL );
10372 if ( !m_args.argSet.layer || ( m_args.argSet.layer && obj->
GetLayer() == m_args.argValue.layer ) )
10374 m_oldobjectsSelected.push_back( obj->
GetSelected() );
10377 m_oldobjects->push_back( obj );
10387 bool a2dCommand_Select::Undo()
10389 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
10401 drawing->UpdateAllViews( a2dCANVIEW_UPDATE_ALL );
10416 drawing->UpdateAllViews( a2dCANVIEW_UPDATE_ALL );
10420 else if ( m_args.argValue.what ==
SelectAll )
10433 drawing->UpdateAllViews( a2dCANVIEW_UPDATE_ALL );
10448 drawing->UpdateAllViews( a2dCANVIEW_UPDATE_ALL );
10464 m_maskobjects = objects->
Clone( m_args.argValue.mask, a2dObject::clone_flat, &m_objectsIndex );
10465 if ( m_args.argValue.deleteOriginal )
10467 for( a2dCanvasObjectList::iterator iter = m_maskobjects->begin(); iter != m_maskobjects->end(); ++iter )
10481 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
10483 m_args.argValue.target = m_args.argValue.target == -1 ? GetDrawHabitat()->GetTarget() : m_args.argValue.target;
10485 if ( m_args.argValue.target > wxMAXLAYER )
10487 ( void )wxMessageBox( _(
"Target Layer is not available" ), _(
"Layers" ), wxICON_INFORMATION | wxOK );
10491 double radiusMin = double( GetDrawHabitat()->GetRadiusMin() ) / drawing->
GetUnitsScale();
10492 double radiusMax = double( GetDrawHabitat()->GetRadiusMax() ) / drawing->
GetUnitsScale();
10493 double AberPolyToArc = double( GetDrawHabitat()->GetAberPolyToArc() ) / drawing->
GetUnitsScale();
10499 long destLayer = m_args.argValue.target;
10503 if ( m_args.argValue.keepLayer )
10511 bool returnIsPolygon;
10514 contour->
SetBin(
true );
10516 parent->
Append( contour );
10517 m_newobjects->push_back( contour );
10525 m_newobjects->push_back( cobj );
10527 objc->
GetSegments()->ConvertPolygonToArc( AberPolyToArc, radiusMin, radiusMax );
10539 m_newobjects->push_back( cobj );
10548 m_newobjects->push_back( cobj );
10558 for( a2dCanvasObjectList::iterator iterp = polylist->begin(); iterp != polylist->end(); ++iterp )
10562 if ( polyline && polyline->GetNumberOfSegments() > 2 )
10564 polyline->SetLayer( destLayer );
10565 polyline->SetBin(
true );
10566 parent->
Append( polyline );
10567 m_newobjects->push_back( polyline );
10574 m_newobjects->push_back( poly );
10584 for( a2dCanvasObjectList::iterator iterp = polylist->begin(); iterp != polylist->end(); ++iterp )
10590 bool returnIsPolygon;
10603 m_newobjects->push_back( poly.Get() );
10608 polyline->
SetBin(
true );
10610 parent->
Append( polyline );
10611 m_newobjects->push_back( polyline.Get() );
10617 polyline->
SetBin(
true );
10619 parent->
Append( polyline );
10620 m_newobjects->push_back( polyline.Get() );
10635 m_newobjects->push_back( poly.Get() );
10646 for( a2dCanvasObjectList::iterator iterp = vpath->begin(); iterp != vpath->end(); ++iterp )
10652 m_newobjects->push_back( path );
10662 int i, count = polylist->size();
10663 a2dCanvasObjectList::iterator iterp = polylist->begin();
10664 for( i = 0 ; i < count ; i++ )
10668 if ( polyline && polyline->GetNumberOfSegments() > 2 )
10670 polyline->SetLayer( destLayer );
10671 polyline->SetBin(
true );
10672 parent->
Append( polyline );
10673 m_newobjects->push_back( polyline );
10683 m_newobjects->push_back( conv );
10684 iterp = polylist->erase( iterp );
10694 int i, count = polylist->size();
10695 a2dCanvasObjectList::iterator iterp = polylist->begin();
10696 for( i = 0 ; i < count ; i++ )
10708 iterp = polylist->erase( iterp );
10709 delete linesAndArcs;
10725 while ( index != m_objectsIndex.end() )
10730 m_args.argValue.parent->
Insert( *index, obj );
10735 m_maskobjects->clear();
10744 objects->
Release( obj,
false,
false,
true );
10747 m_newobjects->clear();
10756 bool a2dCommand_GroupAB::Do()
10758 m_args.argValue.target = m_args.argSet.target ? m_args.argValue.target : GetDrawHabitat()->GetTarget();
10759 m_args.argValue.clearTarget = m_args.argSet.clearTarget ? m_args.argValue.clearTarget : GetDrawHabitat()->GetClearTarget();
10760 m_args.argValue.selectedA = m_args.argSet.selectedA ? m_args.argValue.selectedA : GetDrawHabitat()->GetSelectedOnlyA();
10761 m_args.argValue.selectedB = m_args.argSet.selectedB ? m_args.argValue.selectedB : GetDrawHabitat()->GetSelectedOnlyB();
10763 a2dDrawing* drawing = GetCanvasCmp()->m_drawing;
10768 ConvertToArcs.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10773 ConvertToArcs.
SetTarget( m_args.argValue.target );
10775 ConvertToArcs.
Start( m_parent );
10780 ConvertToArcs.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10783 ConvertToArcs.
SetTarget( m_args.argValue.target );
10784 ConvertToArcs.
Start( m_parent );
10789 ConvertToArcs.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10792 ConvertToArcs.
SetTarget( m_args.argValue.target );
10793 ConvertToArcs.
Start( m_parent );
10798 ConvertToArcs.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10801 ConvertToArcs.
SetTarget( m_args.argValue.target );
10803 ConvertToArcs.
Start( m_parent );
10808 ConvertToArcs.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10811 ConvertToArcs.
SetTarget( m_args.argValue.target );
10813 ConvertToArcs.
Start( m_parent );
10818 ConvertToArcs.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10821 ConvertToArcs.
SetTarget( m_args.argValue.target );
10823 ConvertToArcs.
Start( m_parent );
10828 ConvertToArcs.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10831 ConvertToArcs.
SetTarget( m_args.argValue.target );
10833 ConvertToArcs.
Start( m_parent );
10838 ConvertToArcs.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10841 ConvertToArcs.
SetTarget( m_args.argValue.target );
10843 ConvertToArcs.
Start( m_parent );
10848 deleteLayer.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10850 deleteLayer.SetSkipNotRenderedInDrawing(
true );
10852 deleteLayer.
Start( m_parent );
10857 moveLayer.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10859 moveLayer.
SetTarget( m_args.argValue.target );
10860 moveLayer.SetSkipNotRenderedInDrawing(
true );
10862 moveLayer.
Start( m_parent );
10867 copyLayer.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10869 copyLayer.
SetTarget( m_args.argValue.target );
10870 copyLayer.SetSkipNotRenderedInDrawing(
true );
10872 copyLayer.
Start( m_parent );
10887 #if wxART2D_USE_KBOOL
10889 booloper.SetReleaseOrignals(
false );
10890 booloper.SetClearTarget( m_args.argValue.clearTarget );
10891 booloper.SetGroupA( GetDrawHabitat()->GetGroupA() );
10892 booloper.SetGroupB( GetDrawHabitat()->GetGroupB() );
10893 booloper.SetTarget( m_args.argValue.target );
10894 booloper.SetSelectedOnlyA( m_args.argValue.selectedA );
10895 booloper.SetSelectedOnlyB( m_args.argValue.selectedB );
10896 booloper.SetRecursionDepth( 20 );
10898 booloper.SetMarge( GetDrawHabitat()->m_MARGE / drawing->
GetUnitsScale() );
10899 booloper.SetGrid( GetDrawHabitat()->m_GRID );
10900 booloper.SetDGrid( GetDrawHabitat()->m_DGRID );
10901 booloper.SetCorrectionAber( GetDrawHabitat()->m_CORRECTIONABER / drawing->
GetUnitsScale() );
10902 booloper.SetCorrectionFactor( GetDrawHabitat()->m_CORRECTIONFACTOR / drawing->
GetUnitsScale() );
10903 booloper.SetMaxlinemerge( GetDrawHabitat()->m_MAXLINEMERGE / drawing->
GetUnitsScale() );
10904 booloper.SetWindingRule( GetDrawHabitat()->m_WINDINGRULE );
10905 booloper.SetRoundfactor( GetDrawHabitat()->m_ROUNDFACTOR );
10906 booloper.SetLinkHoles(
true );
10910 switch( m_args.argValue.what )
10939 booloper.SetCorrectionFactor( GetDrawHabitat()->m_CORRECTIONFACTOR / drawing->
GetUnitsScale() );
10950 booloper.SetCorrectionFactor( fabs( GetDrawHabitat()->m_CORRECTIONFACTOR / 2.0 / drawing->
GetUnitsScale() ) );
10967 booloper.SetOperation( boolOp );
10968 booloper.Start( m_parent );
10970 #endif //wxART2D_USE_KBOOL
10972 else if ( m_args.argValue.what == DetectSmall )
10975 walk.
SetGroupA( GetDrawHabitat()->GetGroupA() );
10976 walk.
SetTarget( m_args.argValue.target );
10977 double smallest = double( GetDrawHabitat()->GetSmall() ) / drawing->
GetUnitsScale();
10979 walk.Start( m_parent );
10981 if ( m_args.argSet.fileNameOut )
10983 wxString filename = m_args.argValue.fileNameOut;
10984 #if wxUSE_STD_IOSTREAM
10985 a2dDocumentFileOutputStream store( filename.mb_str(), wxSTD ios_base::out | wxSTD ios_base::binary );
10986 if ( store.fail() || store.bad() )
10991 store << walk.GetString();
10993 wxFileOutputStream storeUnbuf( filename );
10994 if ( storeUnbuf.GetLastError() != wxSTREAM_NO_ERROR )
10999 wxBufferedOutputStream store( storeUnbuf );
11000 store.Write( walk.GetString(), walk.GetString().Len() );
11008 removeredundant.
SetGroupA( GetDrawHabitat()->GetGroupA() );
11009 removeredundant.
SetTarget( m_args.argValue.target );
11011 removeredundant.
Start( m_parent );
11018 bool a2dCommand_GroupAB::Undo()
11030 if ( m_args.argSet.index )
11032 g = GetCanvasCmp()->m_drawing->GetRootObject()->
Find( _T(
"" ), _T(
"" ), m_args.argValue.index );
11039 else if ( m_args.argSet.name )
11041 g = GetCanvasCmp()->m_drawing->GetRootObject()->
Find( m_args.argValue.name, _T(
"" ), -1 );
11048 else if ( m_args.argSet.selected )
11050 else if ( m_args.argSet.canvasobject )
11051 g = m_args.argValue.canvasobject;
11067 m_showobject = m_previous;
11081 if ( m_args.argSet.name )
11083 else if ( m_args.argSet.selected )
11085 else if ( m_args.argSet.canvasobject )
11086 m_pushIn = m_args.argValue.canvasobject;
11100 m_drawingPart->
PushIn( m_pushIn );
11103 (
void )wxMessageBox( _(
"Does not contain a group, unable to push into" ), _(
"push into" ), wxICON_INFORMATION | wxOK );
11116 m_pushIn = m_previous;
11120 m_drawingPart->
PopOut();
11136 #if defined(_DEBUG) && defined (SMART_POINTER_DEBUG)
11138 CurrentSmartPointerOwner =
this;
11148 #if defined(_DEBUG) && defined (SMART_POINTER_DEBUG)
11150 CurrentSmartPointerOwner =
this;
11160 #if defined(_DEBUG) && defined (SMART_POINTER_DEBUG)
11162 CurrentSmartPointerOwner =
this;
11180 a2dCommand_SetCanvasProperty::~a2dCommand_SetCanvasProperty(
void )
11210 const a2dCommandId a2dCommand_ChangeCanvasObjectStyle::sm_SetStrokeStyleCommand =
a2dCommandId( wxT(
"SetCanvasObjectStrokeStyleCommand" ) );
11211 const a2dCommandId a2dCommand_ChangeCanvasObjectStyle::sm_SetStyleCommand =
a2dCommandId( wxT(
"SetCanvasObjectStyleCommand" ) );
11216 a2dCommand_ChangeCanvasObjectStyle::a2dCommand_ChangeCanvasObjectStyle(
a2dObject*
object,
const a2dFill& fill ):
11217 a2dCommand( true, sm_SetFillStyleCommand, sm_SetStyleCommand )
11222 m_propObject = object;
11225 a2dCommand_ChangeCanvasObjectStyle::a2dCommand_ChangeCanvasObjectStyle(
a2dObject*
object,
const a2dStroke& stroke ):
11226 a2dCommand( true, sm_SetStrokeStyleCommand, sm_SetStyleCommand )
11231 m_propObject = object;
11234 a2dCommand_ChangeCanvasObjectStyle::a2dCommand_ChangeCanvasObjectStyle(
a2dObject*
object,
11236 a2dCommand( true, sm_SetStyleCommand, sm_SetStyleCommand )
11241 m_propObject = object;
11245 a2dCommand_ChangeCanvasObjectStyle::~a2dCommand_ChangeCanvasObjectStyle(
void )
11261 m_stroke = strokeold;
11283 wxDoubleNumberEntryDialog::wxDoubleNumberEntryDialog( wxWindow* parent,
11284 const wxString& message,
11285 const wxString& prompt,
11286 const wxString& caption,
11290 const wxPoint& pos )
11291 : wxDialog( parent, wxID_ANY, caption,
11292 pos, wxDefaultSize )
11298 wxBeginBusyCursor();
11300 wxBoxSizer* topsizer =
new wxBoxSizer( wxVERTICAL );
11303 topsizer->Add( CreateTextSizer( message ), 0, wxALL, 10 );
11307 wxBoxSizer* inputsizer =
new wxBoxSizer( wxHORIZONTAL );
11311 if ( !prompt.empty() )
11312 inputsizer->Add(
new wxStaticText(
this, wxID_ANY, prompt ), 0, wxCENTER | wxLEFT, 10 );
11317 valStr.Printf( wxT(
"%f" ), m_value );
11318 m_textctrl =
new wxTextCtrl(
this, wxID_ANY, valStr, wxDefaultPosition, wxSize( 140, wxDefaultCoord ) );
11319 inputsizer->Add( m_textctrl, 1, wxCENTER | wxLEFT | wxRIGHT, 10 );
11321 topsizer->Add( inputsizer, 0, wxEXPAND | wxLEFT | wxRIGHT, 5 );
11324 wxSizer* buttonSizer = CreateSeparatedButtonSizer( wxOK | wxCANCEL );
11327 topsizer->Add( buttonSizer, wxSizerFlags().Expand().DoubleBorder() );
11330 SetSizer( topsizer );
11331 SetAutoLayout(
true );
11333 topsizer->SetSizeHints(
this );
11334 topsizer->Fit(
this );
11338 m_textctrl->SetSelection( -1, -1 );
11339 m_textctrl->SetFocus();
11348 if ( !tmp.ToDouble( &
m_value ) )
11349 EndModal( wxID_CANCEL );
11350 if ( m_value < m_min || m_value >
m_max )
11354 EndModal( wxID_CANCEL );
11357 EndModal( wxID_OK );
11362 EndModal( wxID_CANCEL );
11372 const wxString& prompt,
11373 const wxString& title,
11378 const wxPoint& pos )
11380 wxDoubleNumberEntryDialog dialog( parent, msg, prompt, title,
11381 value, min, max, pos );
11382 if ( dialog.ShowModal() == wxID_OK )
11390 double x = m_args.argValue.x;
11391 double y = m_args.argValue.y;
11394 m_xold = GetDrawHabitat()->GetLastXEntry();
11395 m_yold = GetDrawHabitat()->GetLastYEntry();
11398 if ( m_args.argValue.relative )
11400 if ( m_args.argValue.polar )
11405 x = m_xold + radius * cos(
wxDegToRad( ang ) );
11406 y = m_yold + radius * sin(
wxDegToRad( ang ) );
11416 if ( m_args.argValue.polar )
11427 int dx = GetCanvasCmp()->GetActiveDrawingPart()->GetDrawer2D()->WorldToDeviceX( x );
11428 int dy = GetCanvasCmp()->GetActiveDrawingPart()->GetDrawer2D()->WorldToDeviceY( y );
11429 GetCanvasCmp()->GetActiveDrawingPart()->GetDisplayWindow()->WarpPointer( dx, dy );
11430 GetDrawHabitat()->SetLastXyEntry( x, y );
11437 int dx = GetCanvasCmp()->GetActiveDrawingPart()->GetDrawer2D()->WorldToDeviceX( m_xold );
11438 int dy = GetCanvasCmp()->GetActiveDrawingPart()->GetDrawer2D()->WorldToDeviceY( m_yold );
11439 GetCanvasCmp()->GetActiveDrawingPart()->GetDisplayWindow()->WarpPointer( dx, dy );
11450 m_objects = objects;
11456 for( a2dCanvasObjectList::iterator iter = m_objects.begin(); iter != m_objects.end(); ++iter )
11459 m_parent->
Append( obj );
11469 a2dCanvasObjectList::iterator iter = childs->begin();
11470 while( iter != childs->end() )
11473 if ( m_objects.
Find( obj ) )
11474 iter = childs->erase( iter );
11484 for( a2dCanvasObjectList::iterator iter = m_objects.begin(); iter != m_objects.end(); ++iter )
11487 m_parent->
Append( obj );
Prevent cloning a a2dCameleon reference at a deeper level.
static const a2dCanvasObjectFlagsMask SELECTED2
a2dStroke GetTextStroke() const
get the current text stroke
void SetMappingUpp(double vx1, double vy1, double xpp, double ypp)
Give the virtual size to be displayed, the mapping matrix will be calculated.
virtual void SetYaxis(bool up)
set if the Yaxis goes up or down
Display Part of a a2dDrawing, in which a2dCanvasObjects are shown.
wxString m_menuString
if set this will be used for menu Undo/Redo labels, else the m_commandId its name is used...
a2dBoundingBox GetVisibleBbox() const
get visible area as a boundingbox in world coordinates
set check on a2dObject flag false or true
a2dCircle at x,y, and with radius
int Copy(double x, double y, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, long target=-1, bool check=false)
copy only in this group object with the same mask
bool GetAttributeValueBool(const wxString &attrib, bool defaultv=false)
Returns the boolean value of an attribute.
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
void SetCommandProcessor(a2dCommandProcessor *cmp)
set when submitting this command via a2dCommandProcessor
used to move points in polygon objects
double GetHeight() const
returns height of the boundingbox
a2dCanvasObjectList * ConvertToPolygons(a2dCanvasObject *canvasobject, bool transform)
static const a2dCommandId COMID_PushTool_Rotate
push this tool on the tools stack
bool ChangeLayer(wxUint16 layer, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
move only in this group objects with the given mask to the layer given
bool Undo()
Override this to undo a command.
user interface appearance for a2dCameleon
void OnIdle(wxIdleEvent &event)
Called by ProcessEvent(wxEvent& event) of document.
void SetLastError(a2dError error)
set last error encountered
used to move points in polygon objects
(In) Visible property that can be added to Docview Objects.
virtual bool DisConnectWith(a2dCanvasObject *toDisConnect=NULL, const wxString &pinname=wxT(""), bool undo=false)
Do Disconnect from another a2dCanvasObject by pin name.
bool SetSpecificFlags(bool setOrClear, a2dCanvasObjectFlagsMask which, const wxString &classname=wxT(""), a2dCanvasObjectFlagsMask whichobjects=a2dCanvasOFlags::ALL, const a2dBoundingBox &bbox=wxNonValidBbox, const a2dAffineMatrix &tworld=a2dIDENTITY_MATRIX)
set all given bit flags at once recursive for all objects in given boundingbox
virtual wxPrintout * OnCreatePrintout(a2dPrintWhat typeOfPrint, const wxPageSetupDialogData &pageSetupData)
to create a a2dDrawingPrintOut, used to print a view or its document
wxString AskFile(const wxString &message, const wxString &default_path="", const wxString &default_filename="", const wxString &default_extension="", const wxString &wildcard="*.*", int flags=0, int x=-1, int y=-1)
ask for a file using a file selector.
A2DGENERALDLLEXP long wxGenNewId()
This function is like wxNewId, but it has its own ID set.
#define wxDynamicCast(obj, className)
Define wxDynamicCast so that it will give a compiler error for unrelated types.
Base class for all types of strokes, understood by a2dDrawer2D classes.
void SetRoot(a2dDrawing *root, bool recurse=true)
Sets this object to a a2dCanvasDocument.
bool Undo()
Override this to undo a command.
a2dPoint2D GetCentre() const
get centre
double GetPosX2(bool transform=true) const
Get (transformed) position of X2.
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)
a2dCanvasObjectReference is a reference to any a2dCanvasObject derived class.
void SetAllowMultiEdit(bool onOff)
if set true, Double Click on N selected objects, leads to editing them as a group ...
virtual void DoLoad(wxObject *parent, a2dIOHandlerXmlSerIn &parser, a2dXmlSer_flag xmlparts)
Load settings.
const a2dError a2dError_CommandError
convert segments in polygon/polyline with width objects in group A to Arcs where possible ...
void WriteElement(const wxString &name, const wxString &content=wxT(""), bool newLine=true)
Writes start and end tag.
virtual bool Redo()
Redo one command or command group.
used to move start or end point in line objects
bool HasAttribute(const wxString &attrib)
Does the current tag have this attribute?
bool Undo()
Override this to undo a command.
const wxString & GetName() const
Get name of font, e.g. Arial.
property to hold a a2dAffineMatrix
virtual void SetParent(a2dCanvasObject *parent)
set parent object of the pin or some other objects that needs a parent
diagram is an appearance for a2dCameleon
void AddPending(a2dIterC &ic)
search objects ( if nested recursive ) that have the pending flag Set
bool Undo(void)
Override this to undo a command.
double m_initialSizeY
for new document views what will be the size in userunits in Y
void SetSelectable(bool status)
set layer selectable
a2dHandle is used inside editing versions of a certain objects.
a2dCanvasObject * GetCanvasObject()
Pointer to object selected.
bool Do(void)
Override this to perform a command.
convert segments in polygon/polyline with width objects in group A to Arcs where possible ...
Port to be used in a diagram for connecting to symbol.
bool Undo(void)
Override this to undo a command.
bool Undo()
Override this to undo a command.
void SetEndScaleX(double xs)
scaling in X for begin and end objects of lines and polylines
void SetAlignment(int alignment)
Set the position of the anchor point w.r.t the text.
bool LinkReference(a2dObject *other)
link a reference in the object to the given value
void SetTextStroke(const a2dStroke &stroke)
used for new text objects etc. to set the stroke
Display a font selection dialog.
virtual wxString GetName() const
Returns the name of this object, if no name is given the internal id will be returned.
const a2dPrintWhat a2dPRINT_PreviewDrawing
preview print a2dDrawing
void SetTextFill(const a2dFill &fill)
used for new text objects etc. to set the fill
virtual bool DoCommand(a2dCommand &cmd)
sents a a2dCommandProcessorEvent with id ::wxEVT_DO
void SetLayer(wxUint16 layer, bool setStyleOfLayer=false)
a2dCanvasObject * GetLineEnd() const
get current line end object for line and polyline.
objects which fit the mask are converted to rectangles
bool GetGridLines()
Get setting for grid to draw lines instead of points.
const a2dAffineMatrix & GetTransformMatrix() const
get the matrix used to position the object
void SetRelease(bool value)
set release flag
bool Do()
Override this to perform a command.
a2dDrawingId GetDrawingId()
set special id to differentiate drawings
XMLeventType Next()
Walks to next element and returns event type.
virtual bool Load(a2dDocumentInputStream &stream, wxObject *obj)=0
override to read the stream and store (part of) the contents in to a specific a2dDocument or othere o...
bool Do(void)
Override this to perform a command.
if set, set in the clone the PROPID_Original property to the copied object
static const a2dCommandId COMID_PushTool_DrawEllipse
push this tool on the tools stack
a2dArc * Add_a2dArc(double xc, double yc, double radius, double start, double end)
add specific object
bool Start(a2dCanvasObject *object)
start here
double GetVisibleMinX() const
get Minimal X of the visible part in world coordinates
Remove original and replace with one straight segment, dynamic pins move with segment.
a2dCanvasObjectFlagsMask m_which
the mask required for the objects to search
bool ResolveOrAdd(a2dSmrtPtr< a2dObject > *storedHere, const wxString &id=wxT(""))
try to resolve the object that is in storedHere when it is a reference.
void ConvertToLines(double aberation=0)
Convert complex segments to line segments.
virtual void InsertSegment(unsigned int index, a2dLineSegmentPtr segin)
insert segment after index given
class to map references to objects stored in XML, in order to make the connection later on...
virtual bool Undo()
Override this to undo a command.
a2dlist< long > m_objectsIndex
indexes of found objects
static const a2dCommandId COMID_PushTool_DrawPolygonL
push this tool on the tools stack
see a2dCommandProcessorEvent
transfer this property via a command processor
a2dCanvasObject * GetCanvasObject()
Pointer to object selected.
a2dAutoZeroPtr< a2dObject > m_propRefObject
all property references will be set NULL when this object, having the property, will be deleted...
bool Do(void)
Override this to perform a command.
bool Do(void)
Override this to perform a command.
a2dCanvasObjectPtr m_parentObject
parent of found objects
void SetGroupB(const a2dLayerGroup &groupB)
objects on layers in group B will be used as first operand
unsigned int GetChildObjectsCount() const
get number of child objects
a2dCommand * GetCommand()
the command ( if there was one ) that did it.
bool Do()
Override this to perform a command.
virtual a2dCommand * CloneAndBind(a2dObject *object)
Copy and instantiate the command.
dialog for defining style on an a2dCanvasObject
static const a2dCanvasObjectFlagsMask BIN2
const a2dError a2dError_CouldNotEvaluatePath
Add manhattan lines to end.
wxPageSetupDialogData * m_pageSetupData
this is the global printer page setup data for printer
bool Undo(void)
Override this to undo a command.
static const long Boolean_Surface2Polygon
bool Undo()
Override this to undo a command.
a2dRect * Add_a2dRect(double x, double y, double w, double h, double radius=0)
add specific object
OVERLAP Intersect(const a2dBoundingBox &, double Marge=0) const
bool Do()
Override this to perform a command.
virtual a2dCommand * CloneAndBind(a2dObject *object)
Copy and instantiate the command.
void SetSelected2(bool selected)
Set the object selected2 flag if allowed.
a2dCanvasObject * GetRootObject() const
get the root object, which holds the objects in the document
bool SetParentObject(a2dCanvasObject *obj=0)
set top object available in the a2dCanvasDocument to be used for adding other objects ...
bool Zoom(double x1, double y1, double x2, double y2, bool upp)
Zoom to this rectangle, or Upp at x1, y1.
a2dPin is used in a2dCanvasObject to add pins to it.
void WriteStartElementAttributes(const wxString &name, bool newLine=true)
Writes start tag which has attributes.
virtual a2dCommand * CloneAndBind(a2dObject *object)
Copy and instantiate the command.
polygon defined with list of points.
virtual bool Start(a2dCanvasObject *object)
called for boolean operation
#define EVT_CHANGEDMODIFY_DRAWING(func)
event from a drawing when changed by commands
used to add points to polygon objects
remove hierarchy in grouped objects
===================== commands for cameleons =========================
virtual void DoWalker(wxObject *parent, a2dWalkerIOHandler &handler)
iterate over this object and its children
bool GetPending() const
is this object pending for update?
bool PreDo()
Override this to perform a dependency action before command is done.
Master tool for objects graphics slecting and dragging nd zooming.
static const long moveLayers
move layers to target
void SetTransformMatrix(const a2dAffineMatrix &mat=a2dIDENTITY_MATRIX)
Returns the matrix used to position the object.
bool Rotate(double angle)
Rotate clockwise by the given number of degrees:
void Init(a2dCanvasObject *showObject)
selected child objects with this as parent will be shown
a2dDrawing * GetRoot() const
get a2dCanvasDocument of the object.
bool Undo(void)
Override this to undo a command.
a2dIOHandlerCVGIn and a2dIOHandlerCVGOut - XML I/O classes for the CVG format.
#define EVT_DO(func)
event sent from a2DocumentCommandProcessor when a command is initially done
double wxDegToRad(double deg)
conversion from degrees to radians
bool Do()
Override this to perform a command.
bool Do()
Override this to perform a command.
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
a2dObject * Clone(CloneOptions options, a2dRefMap *refs=NULL) const
create an exact copy of this property
void SetOperation(Operation operation)
set type of operation
used to add objects to a a2dCanvasDocument in the current parent
void SetMappingDeviceRect(int mapx, int mapy, int mapWidth, int mapHeight, bool remap=false)
to change the default mapping (to the complete buffer).
objects which fit the mask to top in parent (rendered last)
objects which fit the mask are merge into one new object
bool Do(void)
Override this to perform a command.
bool m_updatespending
set by object in this a2dCanvasDocument, to tell they have changed and therefore it needs to be reren...
bool Undo()
Override this to undo a command.
bool Do()
Override this to perform a command.
virtual bool Update(UpdateMode mode)
Update the state of the object according to its current position etc.
void OnBusyBegin(a2dCommandProcessorEvent &event)
do this at command start
virtual void DependencyPending(a2dWalkerIOHandler *handler)
called by to check if this object becomes pending as a result of other objects
Base class for adding to the list of appearances in a a2dCameleon.
bool PostDo()
Override this to perform a dependency action after command is done.
static const a2dCommandId COMID_PushTool_MultiEdit
push this tool on the tools stack
void SetFastTools(bool onOff)
tools using inverse drawing will be used.
convert segments in polygon/polyline objects in group A to Arcs where possible
void ConnectEvent(wxEventType type, wxEvtHandler *eventSink)
bool Do()
Override this to perform a command.
void OnUpdateMenu(wxUpdateUIEvent &event)
int GetAttributeValueInt(const wxString &attrib, int defaultv=0)
Returns the integer value of an attribute.
static const a2dCommandId COMID_PushTool_FastDragMulti
push this tool on the tools stack
const a2dError a2dError_FileCouldNotOpen
#define EVT_NEW_CAMELEON(func)
event from a document when its views need to be updated
static const long ConvertToArcs
convert segments in polygon/polyline objects in group A to Arcs where possible
bool IsIdentity(void) const
Is the matrix the identity matrix?
Defines a font to be set to a2dDrawer2D or stored in a2dCanvsObject etc.
bool GetReverseOrder() const
Get Setting for draw layers in reverse order.
Input and output handler for the XmlSer format.
void DependencyPending()
call DependencyPending on root object and recursive on childs.
void SetStroke(const a2dStroke &stroke)
used for new objects etc. to set the stroke
if set, clone childs, otherwise ref-copy them
void OptimizeRerouteWires(a2dCanvasObject *parent, bool removeZero=true, bool allowredirect=true)
a2dLineSegmentPtr m_seg
segment removed
void Update(unsigned int how=(a2dCANVIEW_UPDATE_ALL|a2dCANVIEW_UPDATE_BLIT), wxObject *hintObject=NULL)
see OnUpdate
a command processor specially designed to work with a a2dCanvasDocument
virtual void SetPending(bool pending)
set this object pending for update
#define EVT_REDO(func)
event sent from a2DocumentCommandProcessor when a command is redone
static const long deleteLayers
delete layers
convert shapes to polylines even if polygons
bool GetYaxis() const
get y axis orientation
bool Undo(void)
Override this to undo a command.
void SetBackgroundFill(const a2dFill &backgroundfill)
background fill for the canvas
const a2dError a2dError_NoTool
convert to simple polygons and polylines
objects which fit the mask are offset corrected
a2dRectC is a centered rectangle
void SetGrid(bool grid)
Set grid on/off.
a2dPin * IsConnectedTo(a2dPin *pin=a2dAnyPin) const
Return the pin to which this pin is connected.
wxTextCtrl * m_textctrl
the text control top get the double entry
a2dCanvasObjectList * m_maskedObjects
objects found with required mask
static const a2dCommandId COMID_PushTool_DrawRectangleFast
push this tool on the tools stack
double GetVisibleMinY() const
get Minimal X of the visible part in world coordinates
static const long Boolean_MAKERING
bool GetUpdatesPending()
returns true if some objects have changed recently within this document
using a file stream for input, stream the file into a a2dDocument or other object ...
wxString & GetDescription()
Returns the description of the document.
void SetDocumentDrawStyle(wxUint32 drawstyle)
set drawstyles to use for drawing the document
a2dCommandProcessor * m_cmp
allows commands to get to the command processor that submitted the command.
bool Undo(void)
Override this to undo a command.
bool Do(void)
Override this to perform a command.
void SetSmall(double smallest)
set what is seen as small.
list of a2dNamedProperty objects
bool Do()
Override this to perform a command.
static const a2dCommandId COMID_PushTool_DrawPolylineL
push this tool on the tools stack
a2dFont GetTextFont() const
get current font active text font ( like used in text tool ).
static const long ConvertLinesArcs
convert shapes to seperate lines and arcs
bool Do()
Override this to perform a command.
void SetRadiusMax(double radiusMax)
Polygon/polyline to Arc Maximum radius to test.
static const long ConvertToPolygonPolylinesWithArcs
convert to simple polygons and polylines preserve arcs
double GetBboxMinX()
get minimum X of the boundingbox in world coordinates relative to its parents
convert shapes to vector paths
Remove original and replace with manhattan lines.
for changing only the alignment of objects for which a certain mask was set
const a2dCommandId * m_commandId
can be used to identify the command
set layer of objects which fit the mask
static const long ConvertToVPaths
convert shapes to vector paths
bool Do()
Override this to perform a command.
a2dCanvasObject * GetLineBegin() const
get current line begin object for line and polyline.
a2dCanvasObjectFlagsMask GetFlags() const
get bitflags as an integer
object to show several appearance views on what it contains
virtual bool CanLoad(a2dDocumentInputStream &stream, const wxObject *obj=NULL, wxClassInfo *docClassInfo=NULL)=0
Should return true if the handler can read from the stream.
a2dCanvasObject is the base class for Canvas Objects.
bool Undo()
Override this to undo a command.
std::vector< a2dLayerInfoPtr > & GetLayerIndex()
return array index on Layer
perform a function on each a2dCanvasObject in the document
property to hold a a2dPoint2D plus an index in e.g a polygon.
wxString GetContent()
Returns the current content.
static const a2dCommandId COMID_PushTool_DrawArc
push this tool on the tools stack
static const a2dCommandId COMID_PushTool_DrawCircleFast
push this tool on the tools stack
static a2dPropertyIdUri * PROPID_URI
attach an URL to the object
void SetParentGroup(a2dCommandGroup *parent)
set the parent group of this group
a2dCanvasObject * CreateHierarchy(a2dCanvasObjectFlagsMask mask, bool createref=true)
object with the same given mask are made into a group.
void SetCurrentCanvasObject(a2dCanvasObject *currentcanvasobject, bool takeOverProperties=true)
set the current canvas object, which gets the change in style etc
a2dCanvas * GetCanvas() const
Get the Display window of the a2dView. But casted to a a2dCanvas.
a2dCircle * Add_a2dCircle(double x, double y, double radius)
add specific object
objects which fit the mask are offset corrected
for changing boolean values inside canvas objects
double GetBboxMaxY()
get maximum Y of the boundingbox in world coordinates relative to its parents
wxUint16 m_target
target layer in operations
void PushIn(a2dCanvasObject *pushin)
set given canvasobject as show object, and store the current on the stack
static const long ConvertPolylineToArcs
convert segments in polyline objects in group A to Arcs where possible
void SetSelectedOnlyA(bool selectedOnlyA)
set selectedOnlyA in group operations
void TakeOverProperties(a2dObject *from, a2dPropertyIdList *listOfIds)
Properties in the id list are taken from the given object, en set to this.
bool m_index
produce index of where masked object are found.
void ConvertPolylineToArc(double aber, double Rmin, double Rmax)
a2dOrigin * Add_a2dOrigin(double w, double h)
add specific object
static const a2dCommandId Id
Print the current document or view.
a2dLayers * GetLayerSetup()
Get the layersettings for the canvas.
a2dCanvasObjectList * GetChildObjectList()
get the list where the child objects are stored in.
a2dCanvas uses a2dCanvasView for displaying a view on a a2dCanvasDocument.
vertex list of line and arc segments.
void SetReleaseOrignals(bool releaseOrignals)
when an object takes part in operation, and this flag is true, the original is removed.
bool SaveLayers(const wxString &filename)
save layer object to CVG file
bool m_mayEdit
if true, editing drawing is allowed
void SetFill(const a2dFill &fill)
used for new objects etc. to set the fill
bool GetSelected() const
is the object selected flag set
void SetFlags(a2dCanvasObjectFlagsMask newmask)
set bit flags of object (true or false) to given newmask values
void SetSelected(bool selected)
Set the object selected flag if allowed.
bool GetVisible()
is the layer visible
bool Do(void)
Override this to perform a command.
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 GetSpline() const
certain drawing tools like polygon drawing use this setting
a2dCanvasObject * PopOut()
pop last pushed canvasobject from the stack, now last becomes show object.
void SetEndScaleY(double ys)
scaling in Y for begin and end objects of lines and polylines
void WriteEndElement(bool newLine=true)
Writes correspondending end tag for the current start tag.
void SetReverseOrder(bool revorder)
Set to draw layers in reverse order.
static const a2dCommandId COMID_PushTool_ZoomFast
push this tool on the tools stack
move object within a a2dDrawing
a2dDrawingPart * GetActiveDrawingPart()
return the currently/last active drawing part.
static const a2dCommandId COMID_PushTool_CopyMulti
push this tool on the tools stack
for changing boolean flag values inside pins
static const long Boolean_NON
a2dSmrtPtr< a2dCommandProcessor > m_commandProcessor
A pointer to the command processor associated with this document.
virtual a2dVertexList * GetAsVertexList(bool &returnIsPolygon) const
convert to a polygon.
const a2dError a2dError_IOHandler
double GetUppX() const
return xpp Number of user units per pixel in x
void WriteStartDocument(const wxString &version, const wxString &encoding, bool standalone)
Writes the XML header declaration.
void SetBin(bool bin)
general flag use at will.
used to change style of canvas objects in a a2dCanvasDocument
virtual double GetVisibleHeight() const
get Height of visible part in world coordinates
bool IsVisible() const
get visibility (rendering depends on layer settings also)
double GetValue() const
get the double
a2dFont GetFont() const
get font for text
objects which fit the mask are grouped into a new object
int ReleaseChild(a2dCanvasObject *obj, bool backwards=false, bool all=false, bool now=false, bool undoCommands=false)
remove the given object from the childobjects
bool Undo(void)
Override this to undo a command.
static const a2dCommandId COMID_PushTool_Property
push this tool on the tools stack
bool Undo()
Override this to undo a command.
void AddToRoot(bool autoPlace=true)
add this to ms_centralCameleonRoot at a suitable position
int BringToTop(a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, bool check=false)
move only in this group objects with the given mask to the back of the list drawn last ...
bool Undo(void)
Override this to undo a command.
bool GetGridAtFront()
Get grid setting for drawing grid in front or back.
a group of commands, used to group commands together for undo/redo
wxString m_units_measure
measuring unit (e.g. Meters Inch Microns etc.)
static void SetNextLineDirection(bool up)
next line is higher in Y if true or lower if false
bool Undo(void)
Override this to undo a command.
wxUint64 a2dCanvasObjectFlagsMask
mask flags for a2dCanvasObject
bool Show(bool show=true)
Show and intialize.
void SetTextFont(const a2dFont &font)
used for new text objects etc. to set the font
void SetMappingShowAll(bool centre=true)
use the boundingbox of the ShowObject to set the mapping such that it will be displayed completely...
Io handler to iterate through a a2dDocument.
static void SetNextLineDirection(bool up)
next line is higher in Y if true or lower if false
wxUint16 m_layer
layer to be set for new objects
static const a2dCanvasObjectFlagsMask PENDING
void SetAberPolyToArc(double aber)
Polygon/polyline to Arc Maximum abberation.
general style dialog to edit a2dCanvasObject style
a2dWirePolylineL is a polyline that adjusts itself when the objects it connects move ...
virtual bool SubmitMultiple(a2dCommand *command, a2dCanvasObjectList *objects, bool storeIt=true)
submit a command template with multiple objects
bool GetCheck() const
general flag use at will.
static const a2dSignal sig_changedLayer
when an object is removed from a layer,
bool Disconnect(a2dPin *pin=a2dAnyPin, bool forceErase=false)
void Init(a2dCanvasObjectList *objects)
take over object to show from objects
bool Undo()
Override this to undo a command.
layer dialog for changing layer settings.
void SetVisible(bool status)
set layer visible
void SetRootRecursive()
set a2dDrawing to its nested a2dCanvasObject's recursive for whole tree
a2dRectC * Add_a2dRectC(double xc, double yc, double w, double h, double angle=0, double radius=0)
add specific object
bool Do()
Override this to perform a command.
a2dText is an abstract base class.
void SetGridAtFront(bool gridatfront)
Set grid setting for drawing grid in front or back.
void SetRadiusMin(double radiusMin)
Polygon/polyline to Arc Minimum radius to test.
void SetRead(bool status)
read this layer from input files
a2dCanvasObjectList * wxNullCanvasObjectList
define a NON a2dCanvasObjectList
used to change a property on objects
#define EVT_BEGINBUSY(func)
event sent from a2DocumentCommandProcessor when a command submit/execute is starting ...
a2dCommandGroup * m_parentGroup
this is the parent group of this group
static a2dCanvasObject * GetCameleonRoot()
return the root where all a2dCameleon's are stored
void Mirror(bool x=true, bool y=false)
Mirrors this object in x or y orientation.
bool Undo(void)
Override this to undo a command.
void ConnectTo(a2dPin *connectto)
connect this pin to the given pin
bool HasArcs() const
return true if there are a2dArcSegment segments.
bool GetValid() const
returns true if boundingbox is calculated properly and therefore its valid flag is set...
const wxString & GetType() const
Get type of font, e.g. Freetype or Stroke.
void Expand(const a2dPoint2D &, const a2dPoint2D &)
expand boundingbox width two points
virtual bool DoPreCommand(a2dCommand &cmd)
Called before doing the actual command.
bool Undo()
Override this to undo a command.
double GetMinX() const
get minimum X of the boundingbox
virtual bool Remove(a2dCommand *command)
Remove the given command in this group or a subgroup.
a2dCanvasObjectReference * Add_a2dCanvasObjectReference(double x, double y, a2dCanvasObject *obj)
add specific object
a2dCanvasObject * m_parent
sets current style object to current canvas object
const a2dError a2dError_SaveFile
virtual class a2dCommandGroup * IsCommandGroup()
This is like a wxDynamicCast, but much faster.
bool GetScaleOnResize()
get current setting for ScaleOnResize
command on selected objects
a2dOrigin stays at World Coordinate Zero (0,0) not matter what.
static const a2dCommandId COMID_PushTool_Delete
push this tool on the tools stack
bool GetEditAtEndTools()
see SetEditAtEndTools
a2dEllipticArc * Add_a2dEllipticArc(double xc, double yc, double width, double height, double start, double end)
add specific object
bool Do(void)
Override this to perform a command.
double m_initialSizeX
for new document views what will be the size in userunits in X
bool Do(void)
Override this to perform a command.
void SetIgnorePendingObjects(bool onoff)
Switches ignorance of pending objects on and off.
a2dCameleon * GetCameleon()
this appearance is for the returned a2dCameleon here.
void Transform(const a2dAffineMatrix &tworld)
transform the object using the given matrix
void SetFont(const a2dFont &font, double lineSpaceFactor=0.1)
set font for text
void SetPosXY1(double x, double y, bool afterinversion=true)
sets position of first point
#define forEachIn(listtype, list)
easy iteration for a2dlist
const a2dStroke & GetStroke() const
get the current stroke
void OnBusyEnd(a2dCommandProcessorEvent &event)
do this at command end
void SetRouteMethod(RouteMethod routing)
set the way routing will be done
delete objects which fit the mask
void CommandGroupEnd(a2dCommandGroup *group)
End a command group.
bool GetGrid()
Get grid setting on/off.
a2dEllipse centered at x,y.
polyline defined with list of points.
bool Undo()
Override this to undo a command.
static const a2dCommandId COMID_PushTool_DrawPolylineL_Splined
push this tool on the tools stack
wxUint16 a2dPrintWhat
defines what to print
unsigned int m_index
where did we remove it, in order to insert there in case of undo
void SetPropertyToObject(a2dObject *obj, const basetype &value, SetFlags setflags=set_none) const
Set the property in obj to value.
a2dCameleonInst to show one appearance of an a2dCameleon.
Definition of class for dialog to set groups for boolean operations.
void SetPosXYMidSegment(a2dLineSegmentPtr seg, double x, double y, bool afterinversion=true)
modify middle point of arcsegment at index to x,y
double m_units_accuracy
how many decimal places in fraction are valid
void OnCancel(wxCommandEvent &event)
implementation only
used to remove points from polygon objects
void Walker(wxObject *parent, a2dWalkerIOHandler &handler)
This is used to recursively walk through an object tree.
wxString m_units
unit (e.g. Meters Inch Microns etc.)
virtual a2dCanvasObjectList * GetAsCanvasVpaths(bool transform=true) const
when implemented the object without its children, is converted to
void GetPosXYMidSegment(int index, double &x, double &y, bool transform=true) const
get middle point of arcsegment at index to x,y
double GetPosX() const
get x position from affine matrix
void Insert(size_t before, a2dCanvasObject *obj, bool ignoreReleased)
insert at index, taking into account released objects if needed.
#define EVT_COM_EVENT(func)
static wxEvtHandler for communication event
edit properties of a2dCanvasObject's
a2dCommandGroup * CommandGroupBegin(const wxString &name)
Start a new command group.
static const a2dCommandId COMID_PushTool_Copy
push this tool on the tools stack
bool PreDo()
Override this to perform a dependency action before command is done.
a2dSmrtPtr< a2dCommandGroup > m_currentGroup
this is the parent group of the current command ( which may be a group itself )
void SetSegments(a2dVertexList *points)
Set the list of points ( the old list is NOT DELETED !!! )
virtual double GetVisibleWidth() const
get Width of visible part in world coordinates
const a2dError a2dError_canvasObjectRelease
a2dPolylineL * Add_a2dPolylineL(a2dVertexList *points, bool spline=false)
add specific object
#define wxStaticCast(obj, className)
The wxWindows 2.4.2 wxStaticCast is buggy. It evaluates its argument twice.
a2dVertexListPtr GetSegments()
Get the list of points ( this is not a copy! )
const a2dError a2dError_CouldNotLoad
Drawing context abstraction.
void SetPending(bool pending)
next to base sets m_indexed false
bool Undo()
Override this to undo a command.
static const a2dCommandId COMID_PushTool_DrawRectangle
push this tool on the tools stack
a2dCanvasObject * GetShowObject() const
return pointer of then currently shown object on the drawer.
wxUint32 GetObjectCount()
get currently counted number of objects on this layer inside a document.
void SetClearTarget(bool clearTarget)
clear the target layer before adding result.
a2dImage (will scale/rotate image when needed)
void SetPosXYSegment(int index, double x, double y, bool afterinversion=true)
modify point at index to x,y
bool PostDo(void)
Override this to perform a dependency action after command is done.
virtual void DoSave(wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dXmlSer_flag xmlparts, a2dObjectList *towrite)
Save settings.
void SetSpecificFlags(bool setOrClear, a2dCanvasObjectFlagsMask which)
set all bit flags in object that or true in mask to true or false
void SetDlgOrEditModal(bool dlgOrEditModal)
set style dlg as modal
double m_value
teh value of the double
#define EVT_PROPOBJECT_EDITPROPERTIES_EVENT(func)
static event table macro for NON a2dCanvasObject when editing properties for wxEvtHandler ...
static const long Boolean_AND
static const a2dSignal sig_changedLayerInfo
when one layer its a2dLayerInfo has changed ( e.g. visible or order of rendering ) ...
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
bool Do()
Override this to perform a command.
static const long ConvertToPolylines
convert shapes to polylines even if polygons
double GetUppY() const
return ypp Number of user units per pixel in y
bool m_withUndo
if set, for commands which can undo, will be submitted like that.
A2DGENERALDLLEXP a2dSmrtPtr< a2dGeneralGlobal > a2dGeneralGlobals
a global pointer to get to global instance of important classes.
a2dSmrtPtr< a2dLayers > m_layersetup
setup for layers in this document
void SetTarget(wxUint16 target)
set target layer in operation
void Translate(double x, double y)
relative translate the object to position x,y in world coordinates
void SetUpdatesPending(bool onoff)
Tells the document that an object has changed.
bool Undo(void)
Override this to undo a command.
a2dNamedProperty * Clone(a2dObject::CloneOptions options, a2dRefMap *refs=NULL) const
Virtual copy constructor.
static const a2dCommandId Id
Print the current document or view.
virtual bool Undo()
Undo one command or command group.
de-select objects in a rectangle area
bool Do(void)
Override this to perform a command.
used to disconnect two pins
for changing boolean values inside a rectangle of the current parent object.
int Release(a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, const wxString &classname=wxT(""), const a2dPropertyId *id=NULL, const wxString &name=wxT(""), bool now=true)
release only objects with the given mask and classname and has property named propertyname and object...
static const a2dCommandId COMID_PushTool_DrawWirePolylineL
push this tool on the tools stack
objects which fit the mask are copied to target and translated
bool Undo()
Override this to undo a command.
double GetLineSpacing() const
Get Space in world coordinates between two lines.
wxUint16 GetLayer() const
Returns the layer index where this object is drawn upon.
virtual bool Undo()
Override this to undo a command.
static const a2dCommandId COMID_PushTool_DrawPolygonL_Splined
push this tool on the tools stack
a2dText * Add_a2dText(const wxString &text, double x, double y, double angle, const a2dFont &font)
add specific object
convert to simple polygons and polylines
convert segments in polyline objects in group A to Arcs where possible
void SetSpecificFlags(bool setOrClear, a2dCanvasObjectFlagsMask which, const wxString &classname=wxT(""), a2dCanvasObjectFlagsMask whichobjects=a2dCanvasOFlags::ALL)
set all bit flags in object that or true in mask to true or false
Hint to clone enough of the object to do proper dragging in graphics.
a2dDrawer2D * GetDrawer2D()
get the internal m_drawer2D that is used for rendering the document
static const a2dCommandId COMID_PushTool_DrawPolylineLFast_Splined
push this tool on the tools stack
bool HasPins(bool realcheck=false)
are there a2dPin derived children
void Prepend(a2dCanvasObject *obj)
prepend a a2dCanvasObject to the childobjects
contains the layer properties for one layer,
void SetRootObject(a2dCanvasObject *newRoot)
set new root object ( may not be NULL )
bool SaveToFile(const wxString &filename, a2dIOHandlerStrOut *handler=new a2dIOHandlerCVGOut()) const
save document to a file with the given name and given output writer type
Input and output handler for the XmlSer format.
bool CheckMask(a2dCanvasObjectFlagsMask mask) const
Compares all flags in object to the given mask and return true is the same.
static const a2dCanvasObjectFlagsMask SELECTED
bool GetBin() const
general flag use at will.
static const a2dCommandId COMID_PushTool_Measure
push this tool on the tools stack
static const a2dCommandId COMID_PushTool_RecursiveEdit
push this tool on the tools stack
bool Start(a2dObject *object, a2dCanvasObjectFuncW func)
object to start the algorithm
bool Do(void)
Override this to perform a command.
static const long copyLayers
copy layers to target
virtual void DoWalker(wxObject *parent, a2dWalkerIOHandler &handler)
also walks m_layersetup and m_rootobject.
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)
static const a2dCommandId COMID_PushTool_Zoom
push this tool on the tools stack
bool Undo()
Override this to undo a command.
a2dCanvasObject * m_parentObject
parent of found objects
a2dCommandList m_subcommands
the list of subcommands
bool Undo()
Override this to undo a command.
virtual void CreateCommandProcessor()
create a command processor and set it for the document.
bool Do(void)
Override this to perform a command.
const a2dFill * a2dNullFILL
global a2dFill stock object for defining NO filling
a2dCanvasObjectPtr m_target
target object
Remove from property in a hierarchy of a canvas document.
static const a2dCommandId COMID_PushTool_DragMulti
push this tool on the tools stack
bool Undo()
Override this to undo a command.
Symbolic appearance for a2dCameleon.
double GetPosY2(bool transform=true) const
Get (transformed) position of Y2.
void SetScaleOnResize(bool val)
set if the drawing should be resclaed on a window resize
bool LoadLayers(a2dDocumentInputStream &stream, a2dLayers *layers)
load a layer definition from a CVG file.
void OnPushToolMenu(wxCommandEvent &event)
All menu's a2dMenuIdItem used can be intercepted here.
void Init(a2dLayers *layersetup)
initialize with this layer setup
bool Do()
Override this to perform a command.
a2dEllipse * Add_a2dEllipse(double xc, double yc, double width, double height)
add specific object
a2dCanvasObject flags as a structure
bool Do()
Override this to perform a command.
void SentBusyEvent(bool start, a2dCommand *command)
Contains a2dDrawing Class to hold a drawing.
static const a2dCommandId COMID_PushTool_DrawLine
push this tool on the tools stack
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
virtual void DoSave(wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dXmlSer_flag xmlparts, a2dObjectList *towrite)
Save settings.
used to set the complete Segment list/array of polygons
virtual bool Save(a2dDocumentOutputStream &stream, const wxObject *obj)=0
Override to write to the stream and store (part of) of the document contents in the stream...
a2dArrow is used for having line begin and ends on specific objects.
set a2dCanvasObjects flags in a hierarchy of a a2dCanvasDocument
void WriteEndAttributes(bool close=false)
"Closes" the start tag after writing all attributes (writes the ">" or "/>" bracket).
bool Undo(void)
Override this to undo a command.
void SetNormalizeScale(double scale)
see GetNormalizeScale()
int IndexOf(a2dCanvasObject *obj) const
returns index of the given a2dCanvasObject in this childobjects
Each a2dCommand is given a command id at construction.
void Refresh()
full update of drawing
static const a2dCommandId COMID_PushTool_Image
push this tool on the tools stack
bool Undo()
Override this to undo a command.
virtual bool Submit(a2dCommand *command, bool storeIt=true)
next to the base class submit, it sets a2DocumentCommandProcessor for a2dCommand
int m_refcount
how many references to this object do exist
used to add object to a a2dCanvasDocument in the current parent
void SetCheck(bool check)
general flag use at will.
a2dFill GetTextFill() const
get the current text fill
Keep manhattan lines at end intact.
defines common settinsg for a habitat for a set of a2dCameleons.
bool Undo(void)
Override this to undo a command.
void SetLastXyEntry(double x, double y)
set last mouse X position in world coordinates, as set by tools.
using a file stream for output, stream a a2dDocument or other wxObject into a stream.
bool Undo(void)
Override this to undo a command.
unsigned int GetTextFlags() const
Get the text flags.
const a2dPrintWhat a2dPRINT_PreviewDrawingPart
preview print a2dDrawing Part
boolean operation on primitives in a a2dDocument.
A 2x3 affine matrix class for 2D transformations.
bool Do(void)
Override this to perform a command.
Same as StraightSegment, unless there are dynamic pins on segment.
bool Undo(void)
Override this to undo a command.
bool GetCrossHair()
get enable crosshair cursor
bool Undo()
Override this to undo a command.
double GetAttributeValueDouble(const wxString &attrib, double defaultv=0)
Returns the double value of an attribute.
Master tool for objects graphics slecting and dragging nd zooming.
const a2dStroke * a2dNullSTROKE
global a2dStroke stock object for NO stroking
double GetMaxX() const
get maximum X of the boundingbox
void SetRelativeStart(double x, double y)
set RelativeStart measurement X and Y position in world coordinates
bool Start(a2dCanvasObject *object)
Interactive Selection of an Object.
bool HasPopOut() const
is there structure to popout (see PushIn )
double GetPosX1(bool transform=true) const
Get (transformed) position of X1.
bool ShowDlgStyle(bool onOff)
show style dialog or not, return true of changed from previous state
bool Do(void)
Override this to perform a command.
if set, set in the clone the PROPID_editcopy property to the original object
void OnOK(wxCommandEvent &event)
implementation only
bool Undo()
Override this to undo a command.
double GetPosY() const
get y position from affine matrix
Dialog for displaying/editing layers and properties of layers.
bool Do()
Override this to perform a command.
objects which fit the mask are offset corrected
convert segments in polyline objects in group A to Arcs where possible
virtual void DoLoad(wxObject *parent, a2dIOHandlerXmlSerIn &parser, a2dXmlSer_flag xmlparts)
Load settings.
bool Undo(void)
Override this to undo a command.
bool m_rewire
objects connected with pins rewiring is optional
bool Do()
Override this to perform a command.
bool LoadFromFile(const wxString &filename, a2dIOHandlerStrIn *handler=new a2dIOHandlerCVGIn())
load document from a file with the given filename and given parser type
bool Do()
Override this to perform a command.
for choosing a a2dCanvasObject from a list.
static const a2dCommandId COMID_PushTool_FastCopyMulti
push this tool on the tools stack
void AddPropertyId(a2dPropertyId *id)
add a a2dPropertyId to the list
static const a2dCommandId COMID_PushTool_Drag
push this tool on the tools stack
virtual void ClearAllPinConnections(bool withundo=true)
Remove all pin connections by issuing a2dCommand_DisConnectPins commands.
void OnUndoEvent(a2dCommandProcessorEvent &event)
track modification of document
virtual double GetContourWidth() const
get the Contour width of the shape
bool Select(double x1, double y1, double x2, double y2)
select this area
while iterating a a2dCanvasDocument, this holds the context.
bool PostDo()
Override this to perform a dependency action after command is done.
a2dCanvasObject * m_currentobject
last added object
void SetToObjectClone(a2dObject *obj, a2dPropertyId::SetFlags setflags=a2dPropertyId::set_none) const
Set this property to an object and clone it if neccessary.
double m_normalize_scale
normalization factor to scale normalized objects.
bool Do()
Override this to perform a command.
virtual wxString GetName() const
int Move(double x, double y, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, long target=-1, bool check=false)
move only in this group object with the same mask
virtual bool CanSave(const wxObject *obj=NULL)=0
Should return true if the handler can write this document to a stream.
a2dWalker based algorithms
a2dCanvasObject * AddCurrent(a2dCanvasObject *objectToAdd, bool withUndo=false, a2dPropertyIdList *setStyles=NULL, a2dCanvasObject *parentObject=NULL)
add the current canvas object to parent as child
convert to simple polygons and polylines
static const a2dCommandId COMID_PushTool_DrawEllipticArc_Chord
push this tool on the tools stack
All updates of these modes force an update (e.g. update non-pending valid bounding boxes) ...
a2dLineSegment * AddPoint(double x, double y, a2dLineSegmentPtr seg=NULL, bool afterinversion=true)
add point/segment after a segment.
virtual void DependentCommands(a2dCanvasObject *parent, a2dCommand *command)
call this when a a2dCommands should result in extra commands, to become part of a parent a2dCommandGr...
virtual bool DoPostCommand(a2dCommand &cmd)
Called after doing the actual command.
objects which fit the mask are grouped into a new object
a2dArrow * Add_a2dArrow(double xt, double yt, double l1, double l2, double b, bool spline=false)
add specific object
a2dlist< a2dDumbPtr< a2dPin > > & GetConnectedPins()
Return list fo connected pins.
a2dCommandProcessor * GetCommandProcessor() const
Returns a pointer to the command processor associated with this document.
bool ReleaseChildObjects(a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
removes and release only from the childobjects the objects with the given mask
a2dPolygonL * Add_a2dPolygonL(a2dVertexList *points, bool spline=false)
add specific object
special a2dCanvasObject to make a multi view hierachy.
virtual bool Do()
Override this to perform a command.
const a2dFill & GetFill() const
get the current fill
a2dConnectionGenerator * GetConnectionGenerator() const
Get class for generating new connection objects between object and pins.
static const a2dCommandId COMID_PushTool_DrawEllipticArc
push this tool on the tools stack
virtual bool Submit(a2dCommand *command, bool storeIt=true)
for changing only the matrix of objects for which a certain mask was set
void SetStroke(const wxColour &strokecolor, double width=0, a2dStrokeStyle style=a2dSTROKE_SOLID)
Set a stroke for the object which will be used instead of the layer stroke.
Reuse last straight segment at begin or end of line, dynamic pins move with segment.
a2dSLine * Add_a2dSLine(double x1, double y1, double x2, double y2)
add specific object
int TakeOverFrom(a2dCanvasObjectList *total, const wxString &type=wxT(""), a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, const a2dPropertyId *id=NULL)
Move objects fitting the given filter from the total list to this list.
static const long Boolean_B_SUB_A
static const long Boolean_A_SUB_B
used to release object from a a2dCanvasDocument in the current parent
static const a2dCanvasObjectFlagsMask VISIBLE
virtual void Load(wxObject *parent, a2dIOHandlerXmlSerIn &parser)
load object from CVG file
wxString GetAttributeValue(const wxString &attrib, const wxString &defaultv=wxT(""))
Returns the value of an attribute.
virtual void Load(wxObject *parent, a2dIOHandlerXmlSerIn &parser)
load object from CVG file
a2dRestrictionEngine * GetRestrictionEngine()
Get restriction engine (grid snapping)
static const a2dCommandId COMID_PushTool_DrawPolygonLFast
push this tool on the tools stack
const a2dError a2dError_NoView
bool Do(void)
Override this to perform a command.
void SetText(const wxString &text)
set the text for the object ' ' in string means new line
static const long Boolean_CORRECTION
set pending flag in a drawing
double GetUnitsScale()
this is the number that defines the physical dimension in meters / inch/ etc.
virtual a2dCommand * CloneAndBind(a2dObject *object)
Copy and instantiate the command.
a2dObject * m_parent
in case of a single parent, this can be set.
bool Move_Point(int index, double x, double y)
add a point to the current a2dCanvasObject
property to hold a a2dStroke type variable to be associated with a a2dObject
a2dLayers * GetLayerSetup()
Get the central layersettings for the canvas library.
a2dEndsLine * Add_a2dEndsLine(double x1, double y1, double x2, double y2)
add specific object
bool GetRelease() const
get release flag
editing tool for a2dCanvasObject's
Interactive drawing a text object.
a2dCanvasCommandProcessor * GetCanvasCommandProcessor()
get a pointer to the command processor
void SetTextFlags(unsigned int textflags)
Set the text flags.
dialog for choosing fonts
bool ZoomRealSize(double scaleFromRealSize, bool selected)
Zoom to a real size or a factor of it.
void WriteEndDocument()
Checks if all open tags are closed.
a2dEndsLine with begin and/or end object.
bool Undo(void)
Override this to undo a command.
static const a2dCommandId COMID_PushTool_DrawText
push this tool on the tools stack
bool Start(a2dCanvasObject *object)
start at this object
void SetCurrentToLastActive()
Set the current command to the last command in the active group.
double GetMaxY() const
get maximum Y of the boundingbox
double GetWidth() const
returns width of the boundingbox
bool Undo()
Override this to undo a command.
a2dCanvasObject * SetShowObject(const wxString &name)
set object available in the a2dDrawing to be shown on the drawer
void SetDlgOrEdit(bool dlgOrEdit)
set dlg at Double Left Down if dlgOrEdit == true
int GetCaret() const
Get position of caret (-1 means off)
void Require(const XMLeventType &type, wxString name)
Forces a special tag.
a2dCanvasObjectList * GetAsRectangles(const wxColour &col1, const wxColour &col2, bool transform)
return a list of a2dRect, for each pixel which has a colour in the box formed by col1 and col2 ...
a2dCanvasObjectList * CloneChecked(a2dObject::CloneOptions options=a2dObject::clone_deep, a2dlist< long > *objectsIndex=NULL) const
clone to new list only objects with check flag set
a2dBoundingBox GetAlignmentBbox()
calls GetAlignmentPoints()
bool Add_Point(double x, double y)
add a point to the current a2dCanvasObject
void TriggerChangedTime()
make the changed time Now
bool Undo(void)
Override this to undo a command.
wxString GetTagName()
Returns name of the current XML tag.
static const a2dCommandId COMID_PushTool_DrawPolygonLFast_Splined
push this tool on the tools stack
a2dDrawing(const wxString &name=wxT(""), a2dHabitat *habitat=NULL)
Constructor.
select objects in a rectangle area
bool m_ignorePendingObjects
if set ignore all setting for pendingobjects
a2dNamedPropertyPtr m_property
property set to the object.
void SetPosXY(double x, double y, bool restrict=false)
set position to x,y
void SetTarget(wxUint16 targetlayer)
set the layer where the result will be placed
void SetFont(const a2dFont &font)
used for to set the font for non Text objects
bool Start(a2dCanvasObject *object, bool setTo)
start removing properties from the object given, and down.
property to hold a a2dCanvasObject pointer type variable to be associated with a canvasobject ...
bool m_AppendOrPrepend
add in front of parent childs or add end
bool Undo()
Override this to undo a command.
virtual void ReportErrorF(const a2dError &error, const wxChar *Format,...)
concatenate to the the error report the given error.
Same as StraightEndSegment, unless there are dynamic pins on segment.
#define EVT_ENDBUSY(func)
event sent from a2DocumentCommandProcessor when a command submit/execute is ending ...
bool Undo(void)
Override this to undo a command.
static const a2dCommandId COMID_PushTool_DrawPolylineLFast
push this tool on the tools stack
static const a2dCommandId COMID_PushTool_DrawVPath
push this tool on the tools stack
layer group A and B commands
convert to simple polygons and polylines
static const a2dCommandId Id
layer group A and B command
Master tool for objects graphics slecting and dragging.
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 SetWrongLoad(bool wrongLoad)
Set the flag if text couldn't be loadad from file.
if set, clone members (e.g. line end styles), otherwise ref-copy them
const a2dError a2dError_NotSpecified
static const a2dCommandId COMID_PushTool_DrawArc_Chord
push this tool on the tools stack
virtual bool Undo()
Override this to undo a command.
bool Do(void)
Override this to perform a command.
static const a2dCommandId COMID_PushTool_FastSelect
push this tool on the tools stack
a2dCanvasObject * Find(a2dCanvasObject *obj) const
return the object if it is part of the list
virtual a2dCommand * CloneAndBind(a2dObject *object)
Copy and instantiate the command.
Convert straight segments to manhattan lines and keep manhattan lines at end intact.
void SetGroupA(const a2dLayerGroup &groupA)
objects on layers in group A will be used as first operand
static const long Boolean_OR
bool Do(void)
Override this to perform a command.
A list used for enumerating fonts.
The a2dBoundingBox class stores one a2dBoundingBox of a a2dCanvasObject.
bool Invert(void)
Invert matrix.
virtual bool Do()
Override this to perform a command.
static const a2dCommandId COMID_PushTool_DragOrg
push this tool on the tools stack
void SetSelectedOnlyB(bool selectedOnlyB)
set selectedOnlyB in group operations
void SetDetectCircle(bool detectCircle)
virtual bool MayConnectTo(a2dPin *connectto)
Is given pin allowed to connect to this pin.
void SetLayerSetup(a2dLayers *layersetup)
set the layersettings for the canvas.
bool Undo()
Override this to undo a command.
void Modify(bool increment)
set the drawing as modified or not
virtual a2dCanvasObject * PushInto(a2dCanvasObject *parent)
when wanting to traverse hierarchy what level is down here.
void OnMenu(wxCommandEvent &event)
All menu's a2dMenuIdItem used can be intercepted here.
a2dCanvasObjectList * Clone(a2dObject::CloneOptions options) const
Clone everything ( Clones objects also) in a new created list.
bool Undo(void)
Override this to undo a command.
bool Do()
Override this to perform a command.
Master tool for objects graphics slecting and dragging.
double GetMinY() const
get minimum Y of the boundingbox
a2dDrawing * GetDrawing() const
get drawing via top object
void OnRedoEvent(a2dCommandProcessorEvent &event)
track modification of document
wxString GetAsString()
Get all search paths as one string.
static a2dPropertyIdBoundingBox * PROPID_BoundingBox
used to store state ( redraw area) of the object as it was before a change
Classes for generating connection between pins in canvas objects.
bool SetDrawerStyle(const a2dFill &brush, const a2dStroke &stroke, a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL)
set only in this list fill and stroke of objects with the given mask
void DuplicateConnectedToOtherPins(bool undo=false)
all connections to this pins, will become available in those connected pins too.
void SetFilling(bool OnOff)
the a2dDrawingPart is a a2dView specially designed for displaying parts of a a2dDrawing. It uses a a2dDrawer2D to actually redraw things from the document, by giving that a2dDrawer2D as drawing context to the document, and telling the document to redraw a certain rectangular area. At that last is what this class is for. It optimizes the areas to be redrawn after object in the document were changed. To do that it combines redraw areas to a minimal set of redrawing areas. All the administration for this and the way things will be redrawn is from this view.
a2dCanvasObjectFlagsMask m_targetMask
target mask for m_target
bool AddPendingUpdatesOldNew()
adds current and future boundingbox of the objects with pending flag set, to the pendinglist of all a...
static const a2dCommandId COMID_PushTool_DrawCircle
push this tool on the tools stack
void SetCaret(int position)
set position of caret (-1 means off)
Input handler for the CVG format.
virtual void Store(a2dCommand *command)
just store the command without executing it
void SetLinkHoles(bool doLinkHoles)
void SetMakePending(bool makePending)
if set when a property is removed make the canvas object pending.
bool Undo()
Override this to undo a command.
basetype GetPropertyValue(const a2dObject *obj) const
Get the property value in obj.
bool GetSelected2() const
is the object selected2 flag set
bool Do()
Override this to perform a command.
a2dCanvasGlobal * a2dCanvasGlobals
global a2dCanvasGlobal to have easy access to global settings
virtual bool Redo()
Redo one command or command group.
objects which fit the mask are grouped into a new object
virtual void Save(wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dObjectList *towrite)
write all needed to an XML type of file called the CVG format
#define EVT_UNDO(func)
event sent from a2DocumentCommandProcessor when a command is undone
a2dCanvasObject for a Vector Path
walk a document tree and perform boolean opration on primitives.
size_t GetNumberOfSegments()
get the number of points in the pointlist
void SetCrossHair(bool onoff)
set enable crosshair cursor
Reroute using Lee routing.
algorithm to delete a2dCanvasObjects on layers or to move, copy to other layers
a2dHandle * Add_a2dHandle(double xc, double yc, int w, int h, double angle=0, int radius=0)
add specific object
set the a2dCanvasObject's a2dDrawing root recursive
const a2dPrintWhat a2dPRINT_PrintDrawingPart
print a2dDrawing Part
virtual a2dCanvasObjectList * GetAsPolygons(bool transform=true) const
convert to a list of polygons.
int GetAlignment() const
Get the position of the anchor point w.r.t the text.
This template class is for property ids with a known data type.
double GetPosY1(bool transform=true) const
Get (transformed) position of Y1.
a2dCanvasObjectList * ConvertToVpath(a2dCanvasObject *canvasobject, bool transform)
static const long ConvertPolygonToArcs
convert segments in polygon/polyline with width objects in group A to Arcs where possible ...
void SetSnap(bool snap)
enable all snapping features or not
void SetWireMode(bool drawWire)
set wire first mode on or off
virtual void RemoveSegment(double &x, double &y, a2dLineSegmentPtr seg=NULL, bool transformed=true)
removes point at index
virtual a2dCanvasObjectList * GetAsPolylines(bool transform=true) const
convert to a list of polylines.
bool Undo()
Override this to undo a command.
static const a2dCanvasObjectFlagsMask ALL
wxUint32 GetDocumentDrawStyle()
get drawstyles used for drawing the document
const a2dFontInfo & GetFontInfo() const
Get fontinfo of the font.
command on selected objects
bool Do()
Override this to perform a command.
void GetPosXYSegment(int index, double &x, double &y, bool transform=true) const
get point x and y at index
bool DeSelect(double x1, double y1, double x2, double y2)
de select this area
bool Do()
Override this to perform a command.
objects which fit the mask are moved to target and translated
void SetGridLines(bool gridlines)
Get grid setting for line drawing.
a2dCanvasObject * Find(const wxString &objectname, const wxString &classname=wxT(""), a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, const a2dPropertyId *propid=NULL, const wxString &valueAsString=wxT(""), wxUint32 id=0) const
return the object which fits the filter.
bool Do(void)
Override this to perform a command.
int CollectObjects(a2dCanvasObjectList *total, const wxString &classname=wxT(""), a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, const a2dPropertyId *id=0, const a2dBoundingBox &bbox=wxNonValidBbox) const
Copy objects with the right conditions to the total list.
void Insert(size_t before, a2dCanvasObject *obj, bool ignoreReleased=true)
insert a a2dCanvasObject to the childobjects
const a2dError a2dError_NoController
void SetLineSpacing(double linespace)
Set Space in world coordinates between two lines.
bool Do()
Override this to perform a command.
detection of small objects.
void SetPosXY2(double x, double y, bool afterinversion=true)
sets position of second point
void Append(a2dCanvasObject *obj)
append a a2dCanvasObject to the childobjects
virtual bool Do()
Override this to perform a command.
void SetAvailable(bool status)
set layer available (will be rendered)
a2dCanvasObject * GetParent() const
get parent object of the pin
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.
bool Do(void)
Override this to perform a command.
used to change text and caret of canvas text objects in a a2dCanvasDocument
property to hold a a2dFill type variable to be associated with a a2dObject
wxString GetText() const
get the text of the object ' ' in string means new line
bool Do()
Override this to perform a command.
bool GetWireMode() const
what is the current mode.
objects which fit the mask are converted to polygons or vector paths
virtual bool IsConnect() const
return true, if this object is used to connect other object's using rubberband like structures...
void SetRecursionDepth(int depth=INT_MAX)
how far we go into nested a2dObject's
int BringToBack(a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL, bool check=false)
move only in this group objects with the given mask to the front of the list drawn first ...
virtual bool LinkReferences(bool ignoreNonResolved=false)
link references to their destination
static const a2dCommandId COMID_PushTool_ObjectEdit
push this tool on the tools stack
static const long Boolean_Polygon2Surface
virtual a2dCommand * CloneAndBind(a2dObject *object)
Copy and instantiate the command.
a2dImage * Add_a2dImage(const wxImage &image, double xc, double yc, double w, double h)
add specific object
const a2dPrintWhat a2dPRINT_PrintDrawing
print a2dDrawing
a2dText * GetTextTemplateObject()
set template for line object
~a2dCommandMasked(void)
destructor
for changing boolean select flag values inside canvas objects
wxString GetName() const
get name
bool Start(a2dObject *object)
start removing properties from the object given, and down.
const a2dFont & GetFontData() const
Returns the font.
bool Undo()
Override this to undo a command.
static const a2dCommandId COMID_PushTool_Select
push this tool on the tools stack
void SetFormatVersion(wxString formatVersion)
set version of library or document being parsed for
CloneOptions
options for cloning
virtual void SetMappingWidthHeight(double vx1, double vy1, double width, double height)
Give the virtual size to be displayed, the mapping matrix will be calculated.
convert shapes to seperate lines and arcs
convert shapes to vector paths
void Init(a2dLayers *layersetup)
initialize with this layer setup
static const long Boolean_EXOR
convert shapes to seperate lines and arcs
a2dFill & GetBackgroundFill()
get current background fill for the canvas
a2dBoundingBox & GetBbox()
get boundingbox in world coordinates exclusive stroke width relative to its parent ...
Contain one drawing as hierarchical tree of a2dCanvasObject's.
For exceptions thrown from commands.
used to change a property on objects
a2dCanvasObject * Add_a2dCanvasObject(double x=0, double y=0)
add specific object
objects which fit the mask are grouped into a new object
static const long RemoveRedundant
remove redundant segment
wxDoubleNumberEntryDialog: a dialog with spin control, [ok] and [cancel] buttons
void SetMappingShowAll()
use the boundingbox of the ShowObject to set the mapping such that it will be displayed completely on...
void SetFill(const a2dFill &fill)
Set a fill for the object which will be used instead of the layer fill.
wxInt64 GetUniqueSerializationId() const
return a unique id for this object
a2dEllipticArc centered at x,y
bool Do(void)
Override this to perform a command.
< generate a report of small objects
bool Do()
Override this to perform a command.
static const long Boolean_SMOOTHEN
general canvas module declarations and classes
void WriteStartElement(const wxString &name, bool newLine=true)
Writes start tag which has no attributes.
static const a2dCommandId sm_SetFillStyleCommand
non info.
a base command for the a2dCommandProcessor
#define a2dREFOBJECTPTR_KEEPALIVE