21 #ifndef __A2DCANVASMASTERTOOL_H__
22 #define __A2DCANVASMASTERTOOL_H__
69 void OnChar( wxKeyEvent& event );
95 bool m_preserve_select;
97 bool m_preserve_RouteWhenDrag;
131 void AppendTool(
a2dBaseTool* tool, wxMenuItem* menuItem, wxChar key );
133 void OnPostPushTool();
135 void PushToolFromMouseMenu( wxCommandEvent& event );
142 void OnChar( wxKeyEvent& event );
151 DECLARE_EVENT_TABLE()
224 void SetWiringMode(
a2dWiringMode wiringMode ) { m_wiringMode = wiringMode; }
226 void MouseDump( wxMouseEvent& event, wxString strinfo =
"" );
228 bool RotateObject90LeftRight(
bool right );
242 void SetStyleDlgSimple(
bool styleDlgSimple ) { m_styleDlgSimple = styleDlgSimple; }
251 void SetEndSegmentMode( a2dNextSeg mode );
253 a2dNextSeg GetEndSegmentMode() {
return m_endSegmentMode; }
259 virtual void PushZoomTool();
260 virtual void PushSelectTool();
261 virtual void PushDeSelectTool();
263 virtual void PushDragMultiTool(
a2dCanvasObject* hit,
bool onlyKeys =
false );
269 virtual void PushEditWireVertexTool(
a2dCanvasObject* hit,
int vertex );
270 virtual void PushEditWireSegmentHorizontalTool(
a2dCanvasObject* hit,
int segment );
271 virtual void PushEditWireSegmentVerticalTool(
a2dCanvasObject* hit,
int segment );
272 virtual void PushEditWireSegmentInsertTool(
a2dCanvasObject* hit,
int segment );
277 virtual void EditDlgOrHandles(
a2dCanvasObject* hit,
bool modifier,
bool noHandleEditForWire );
279 void SelectedStatus();
286 virtual bool ZoomSave();
287 virtual void DoStopTool(
bool abort );
289 void OnChar( wxKeyEvent& event );
291 void OnKeyDown( wxKeyEvent& event );
292 void OnKeyUp( wxKeyEvent& event );
294 void OnMouseEvent( wxMouseEvent& event );
298 void InitMouseEvent(wxMouseEvent& eventnew,
300 wxMouseEvent& event );
302 bool m_hadDoubleClick;
306 bool m_dlgOrEditModal;
308 bool m_styleDlgSimple;
312 bool m_escapeToStopFirst;
317 a2dNextSeg m_endSegmentMode;
321 DECLARE_EVENT_TABLE()
341 mode_editwire_segment,
342 mode_editwire_segmenthorizontal,
343 mode_editwire_segmentvertical,
344 mode_editwire_segmentinsert,
345 mode_editwire_vertex,
358 bool m_vertexSegmentEdit;
362 bool m_modehitLastSelectState;
366 bool m_allowMultiEdit;
399 void OnChar( wxKeyEvent& event );
401 void OnMouseEvent( wxMouseEvent& event );
403 void OnKeyDown( wxKeyEvent& event );
404 void OnKeyUp( wxKeyEvent& event );
411 DECLARE_EVENT_TABLE()
438 void DoStopTool(
bool abort );
440 void OnChar( wxKeyEvent& event );
442 void OnMouseEvent( wxMouseEvent& event );
444 void OnKeyDown( wxKeyEvent& event );
445 void OnKeyUp( wxKeyEvent& event );
450 void AbortBusyMode();
453 DECLARE_EVENT_TABLE()
484 void OnMouseEvent( wxMouseEvent& event );
490 DECLARE_EVENT_TABLE()
497 #endif // __A2DCANVASMASTERTOOL_H__
Base class for all types of strokes, understood by a2dDrawer2D classes.
void SetAllowMultiEdit(bool onOff)
if set true, Double Click on N selected objects, leads to editing them as a group ...
Master tool for objects graphics slecting and dragging nd zooming.
void SetFastTools(bool onOff)
tools using inverse drawing will be used.
void SetEscapeToStopFirst(bool onOff)
if set true pressing escape key, stops current active tool.
The base class for all drawable objects in a a2dCanvasDocument.
a2dCanvasObject is the base class for Canvas Objects.
handle holds a pointer to a polygon/polyline segment
bool GetFastTools()
tools using inverse drawing will be used.
bool GetEscapeToStopFirst()
bool GetDlgOrEditModal() const
get style dlg as modal setting
void SetDlgOrEditModal(bool dlgOrEditModal)
set style dlg as modal
void SetSelectUndo(bool onOff)
if set true selecting object will be undoable
void SetSelectStroke(const a2dStroke &stroke)
set select stroke
Master tool for objects graphics slecting and dragging nd zooming.
bool GetAllowMultiEdit()
if true, Double Click on N selected objects, leads to editing them as a group
common stuff for several master tools
const a2dStroke & GetSelectStroke() const
get the select stroke
struct for how a single object on one layer was hit
void SetSelectFill(const a2dFill &fill)
set select fill
bool GetDlgOrEdit() const
set dlg at Double Left Down if dlgOrEdit == true
editing tool for a2dCanvasObject's
void SetDlgOrEdit(bool dlgOrEdit)
set dlg at Double Left Down if dlgOrEdit == true
bool GetSelectUndo()
if true selecting object is undoable
void SetLateConnect(bool lateconnect)
defines if an object will try to connect at the end of a drag
const a2dFill & GetSelectFill() const
get the select fill
A pointer class, that automatically calls SmrtPtrOwn/SmrtPtrRelease.
structure to give as parameter to member functions of a2dCanvasObject