wxArt2D
sttool2.h
Go to the documentation of this file.
1 /*! \file wx/canvas/sttool2.h
2  \brief stack based tools for drawing and editing in a faster manner, but with less document feedback.
3 
4  Tools here are drawn directly via the drawing context, and not by first adding them to the document.
5  This makes certain feadback drawing from the document impossible, but is much faster.
6 
7  \author Klaas Holwerda
8 
9  Copyright: 2001-2004 (c) Klaas Holwerda
10 
11  Licence: wxWidgets Licence
12 
13  RCS-ID: $Id: sttool2.h,v 1.15 2009/05/31 23:37:29 titato Exp $
14 */
15 
16 #ifndef __A2DSTTOOL2_H__
17 #define __A2DSTTOOL2_H__
18 
19 #ifndef WX_PRECOMP
20 #include "wx/wx.h"
21 #endif
22 
23 #include <wx/listimpl.cpp>
24 #include "wx/canvas/sttool.h"
25 
26 //! base for tools that draw and are stack based.
27 class A2DCANVASDLLEXP a2dStDrawToolFast: public a2dStDrawTool
28 {
29 public:
30  //!\param controller Pointer to a a2dStToolContr controller.
31  a2dStDrawToolFast( a2dStToolContr* controller );
32 
33  //!destructor
34  virtual ~a2dStDrawToolFast();
35 
36  //! template adepts to style change from outside or not
37  void SetAllowModifyTemplate( bool allowModifyTemplate ) { m_AllowModifyTemplate = allowModifyTemplate; }
38 
39  //! template adepts to style change from outside or not
40  bool GetAllowModifyTemplate() { return m_AllowModifyTemplate; }
41 
42 
43 protected:
44 
45  //!Create the editcopy and other tool objects (e.g. decorations)
46  /*! m_original must be set before this function is called */
47  virtual bool CreateToolObjects();
48  virtual void CleanupToolObjects();
49  void Render();
50 
51 public:
52 
53  DECLARE_CLASS( a2dStDrawToolFast )
54  DECLARE_EVENT_TABLE()
55 };
56 
57 
58 //!Interactive Zooming.
59 /*! Use mouse to drag a rectangle to zoom into area.
60 
61 \remark Left Click and/or drag.
62 \remark Right Click for zoom popup.
63 \remark Double Left Click for zoom out.
64 
65 \sa a2dStToolContr
66 
67  \ingroup tools
68 */
69 class A2DCANVASDLLEXP a2dZoomFast: public a2dStTool
70 {
71 public:
72 
73  //! push this tool on the tools stack
74  /*! \ingroup commandid
75  */
77 
78  //! constructor
79  a2dZoomFast( a2dStToolContr* controller );
80 
81  //! constructor
82  a2dZoomFast( const a2dZoomFast& other, CloneOptions options, a2dRefMap* refs );
83 
84  //! destructor
85  ~a2dZoomFast();
86 
87  bool ZoomSave() {return true;};
88 
89 protected:
90 
91  virtual a2dObject* DoClone( CloneOptions options, a2dRefMap* refs ) const;
92 
93  virtual void GenerateAnotation();
94  void Render();
95 
96  //! character handling
97  void OnChar( wxKeyEvent& event );
98 
99  void OnMouseEvent( wxMouseEvent& event );
100 
101  virtual wxString GetCommandGroupName() { return _( "Zoom objects" ); }
102 
103 public:
104 
105  DECLARE_CLASS( a2dZoomFast )
106  DECLARE_EVENT_TABLE()
107 
108 };
109 
110 
111 //!Interactive Selection of an Object.
112 /*!Either with just one click or draging a rectangle to select many.
113 
114 \remark Left Click and/or drag.
115 \remark Shift Down to Un select.
116 
117 \sa a2dStToolContr
118 
119 */
120 class A2DCANVASDLLEXP a2dFastSelect: public a2dStTool
121 {
122 public:
123 
124  //! push this tool on the tools stack
125  /*! \ingroup commandid
126  */
128 
129  a2dFastSelect( a2dStToolContr* controller );
130  ~a2dFastSelect();
131  bool ZoomSave() {return true;};
132  void SetShiftIsAdd() { m_shift_is_add = true; }
133 
134 protected:
135  void DeselectAll();
136 
137  virtual void GenerateAnotation();
138 
139  //! character handling
140  void OnChar( wxKeyEvent& event );
141 
142  void OnMouseEvent( wxMouseEvent& event );
143 
144  void Render();
145 
146  virtual wxString GetCommandGroupName() { return _( "Fast Select objects" ); }
147 
148 public:
149 
150  DECLARE_CLASS( a2dFastSelect )
151  DECLARE_EVENT_TABLE()
152 
153  //! false: shift key will unselect, true: shift will add to selection
154  bool m_shift_is_add;
155 
156 };
157 
158 //!Interactive (De)selection Selection of an Object(s).
159 /*!Either with just one click or dragging a rectangle to (de)select many.
160 
161 \remark Left Click and/or drag.
162 
163 \sa a2dStToolContr
164 
165 */
166 class A2DCANVASDLLEXP a2dFastSelect2: public a2dStTool
167 {
168 public:
169 
170  //! push this tool on the tools stack
171  /*! \ingroup commandid
172  */
174 
175  a2dFastSelect2( a2dStToolContr* controller );
176  ~a2dFastSelect2();
177  bool ZoomSave() {return true;};
178 
179  //! if set true selection is done, when false it is deselect.
180  void SetSelectMode( bool select ) { m_selectMode = select; }
181 
182 protected:
183 
184  void SelectAll( bool select );
185 
186  virtual void GenerateAnotation();
187 
188  //! character handling
189  void OnChar( wxKeyEvent& event );
190 
191  void OnMouseEvent( wxMouseEvent& event );
192 
193  virtual wxString GetCommandGroupName() { return _( "Fast Select objects" ); }
194 
195 public:
196 
197  DECLARE_CLASS( a2dFastSelect2 )
198  DECLARE_EVENT_TABLE()
199 
200  bool m_selectMode;
201 
202 };
203 
204 //!Drag Selected canvasObjects
205 /*! \sa a2dStToolContr
206  \ingroup tools
207 */
208 class A2DCANVASDLLEXP a2dFastDragMultiTool: public a2dStTool
209 {
210 public:
211 
212  //! push this tool on the tools stack
213  /*! \ingroup commandid
214  */
216 
217  a2dFastDragMultiTool( a2dStToolContr* controller );
219  bool ZoomSave() { return !GetBusy(); };
220 
221  void SetMode( int mode );
222 
223  bool StartDragging( int x, int y, a2dCanvasObject* original );
224 
225 protected:
226 
227  void GenerateAnotation();
228 
229  void OnChar( wxKeyEvent& event );
230 
231  void OnMouseEvent( wxMouseEvent& event );
232 
233  void OnIdle( wxIdleEvent& event );
234 
235  virtual bool EnterBusyMode();
236  virtual void FinishBusyMode();
237  virtual void AbortBusyMode();
238 
239  //!redirect all mouse events for the canvas to this object
240  void CaptureMouse();
241  //!release the mouse capture for this object
242  void ReleaseMouse();
243 
244  //!called for incremental keyboard shifts
245  virtual void DragRelative( double x, double y );
246  //!render in drag style
247  virtual void Render();
248  //!This is overriden by copy tools to have a minimum distance between original and copy
249  virtual void AdjustShift( double* x, double* y );
250 
251  virtual wxString GetCommandGroupName() { return _( "Move multiple objects" ) ; }
252  virtual bool CreateToolObjects();
253  virtual void CleanupToolObjects();
254 
255  //!the list of selected objects
257  a2dCanvasObjectList m_copies;
258 
259  double m_startObjectx;
260  double m_startObjecty;
261  double m_startMousexw;
262  double m_startMouseyw;
263 
264 public:
265  DECLARE_CLASS( a2dFastDragMultiTool )
266  DECLARE_EVENT_TABLE()
267 
268 };
269 
270 //!Drag and Copy Selected canvasObjects
271 /*!\sa a2dStToolContr
272  \ingroup tools
273 */
274 class A2DCANVASDLLEXP a2dFastCopyMultiTool: public a2dFastDragMultiTool
275 {
276 public:
277 
278  //! push this tool on the tools stack
279  /*! \ingroup commandid
280  */
282 
283  a2dFastCopyMultiTool( a2dStToolContr* controller );
284 
285  bool StartDragging( int x, int y, a2dCanvasObject* original );
286 
287 protected:
288 
289  void OnChar( wxKeyEvent& event );
290 
291  void OnMouseEvent( wxMouseEvent& event );
292 
293  void FinishBusyMode();
294 
295  void AdjustShift( double* x, double* y );
296 
297  virtual wxString GetCommandGroupName() { return _( "Copy multiple objects" ) ; }
298 
299  // minimum distance of the copy from the original
300  double m_mindist;
301 public:
302  DECLARE_CLASS( a2dFastCopyMultiTool )
303  DECLARE_EVENT_TABLE()
304 
305 };
306 
307 //!Interactive drawing of a Rectangle.
308 /*!
309 \remark Left Click and drag.
310 \remark Cursor keys to shift object.
311 \remark Or Spacebar to end rectangle.
312 
313 \sa a2dStToolContr
314 
315  \ingroup tools
316 */
317 class A2DCANVASDLLEXP a2dDrawRectangleToolFast: public a2dStDrawToolFast
318 {
319 public:
320 
321  //! push this tool on the tools stack
322  /*! \ingroup commandid
323  */
325 
328 
329  void SetRadius( double radius ) { m_radius = radius; }
330 
331  bool ZoomSave() { return true; }
332 
333 protected:
334 
335  void OnComEvent( a2dComEvent& event );
336 
337  void OnMouseEvent( wxMouseEvent& event );
338 
339  virtual wxString GetCommandGroupName() { return _( "Draw Rectangle Fast" ); }
340 
341  bool CreateToolObjects();
342 
343  double m_radius;
344  double m_xwlast;
345  double m_ywlast;
346  bool m_didDraw;
347 
348 public:
349  DECLARE_CLASS( a2dDrawRectangleToolFast )
350  DECLARE_EVENT_TABLE()
351 
352 };
353 
354 //!Interactive drawing of a Circle.
355 /*!
356 \remark Left Click and drag.
357 \remark Cursor keys to shift object.
358 \remark Or Spacebar to end line.
359 
360 \sa a2dStToolContr
361 */
362 class A2DCANVASDLLEXP a2dDrawCircleToolFast: public a2dStDrawToolFast
363 {
364 public:
365 
366  //! push this tool on the tools stack
367  /*! \ingroup commandid
368  */
370 
371  a2dDrawCircleToolFast( a2dStToolContr* controller );
372  bool ZoomSave() { return true;};
373 
374  void SetMode( int mode );
375 
376 protected:
377 
378  //! tool specific statusbar
379  void OnComEvent( a2dComEvent& event );
380 
381  void OnChar( wxKeyEvent& event );
382 
383  void OnMouseEvent( wxMouseEvent& event );
384 
385  bool CreateToolObjects();
386 
387  double m_start_x;
388  double m_start_y;
389  double m_radius;
390 
391 public:
392  DECLARE_CLASS( a2dDrawCircleToolFast )
393  DECLARE_EVENT_TABLE()
394 
395 };
396 
397 //!Interactive drawing of a polygon.
398 /*!
399 \remark Left Click to add points.
400 \remark Space bar or Double click to end drawing.
401 \remark Cursor keys to shift object.
402 \remark Cursor keys + control to shift point.
403 \remark Right Click to zoom.
404 
405 \sa a2dStToolContr
406 
407  \ingroup tools
408 */
409 class A2DCANVASDLLEXP a2dDrawPolygonLToolFast: public a2dStDrawToolFast
410 {
411 public:
412 
413  //! push this tool on the tools stack
414  /*! \ingroup commandid
415  */
417  //! push this tool on the tools stack
418  /*! \ingroup commandid
419  */
421 
422  //! constructor
423  /*!
424  \param controller tool controller one which this tool is pushed.
425  \param templateObject when not NULL, this object is cloned and used for the new drawn object.
426  */
427  a2dDrawPolygonLToolFast( a2dStToolContr* controller, a2dPolygonL* templateObject = NULL );
428 
430 
431  //! save to zoom while drawing
432  bool ZoomSave() { return true;};
433 
434  //! mode of drawing, can be swicthed with Tab key.
435  void SetMode( int mode );
436 
437  //!certain drawing tools like polygon drawing use this setting
438  /*! You might want to reset m_newObjectsGetCommandProcStyle also.
439  Otherwise the command processor will overwrite what you set here
440  */
441  void SetSpline( bool spline );
442 
443  //!certain drawing tools like polygon drawing use this setting
444  bool GetSpline() {return m_spline;}
445 
446 protected:
447 
448  void OnIdle( wxIdleEvent& event );
449 
450  void OnChar( wxKeyEvent& event );
451 
452  void OnMouseEvent( wxMouseEvent& event );
453 
454  void OnUndoEvent( a2dCommandProcessorEvent& event );
455  void OnRedoEvent( a2dCommandProcessorEvent& event );
456 
457  bool CreateToolObjects();
458 
459  void AddPoint( a2dLineSegment* point );
460 
461  virtual wxString GetCommandGroupName() { return _( "Draw polygon" ) ; }
462 
463  //! object to clone to use as start
465 
466  //! previous x
467  double m_prev_x;
468  //! previous y
469  double m_prev_y;
470 
471  //! points sofar
473 
474  //! last point
476 
477  //! spline polygons
478  bool m_spline;
479 
480  //! end to begin wire.
481  bool m_reverse;
482 
483 public:
484  DECLARE_CLASS( a2dDrawPolygonLToolFast )
485  DECLARE_EVENT_TABLE()
486 
487 };
488 
489 //!Interactive drawing of a polyline.
490 /*!
491 \remark Left Click to add points.
492 \remark Space bar or Double click to end drawing.
493 \remark Cursor keys to shift object.
494 \remark Cursor keys + control to shift point.
495 \remark Right Click to zoom.
496 
497 \sa a2dStToolContr
498 
499  \ingroup tools
500 */
502 {
503 public:
504 
505  //! push this tool on the tools stack
506  /*! \ingroup commandid
507  */
509  //! push this tool on the tools stack
510  /*! \ingroup commandid
511  */
513 
514  //! constructor
515  /*!
516  \param controller tool controller one which this tool is pushed.
517  \param templateObject when not NULL, this object is cloned and used for the new drawn object.
518  */
519  a2dDrawPolylineLToolFast( a2dStToolContr* controller, a2dPolylineL* templateObject = NULL );
520 
522 
523  //!defines line begin object for line and polyline drawing tools
524  /*! You might want to reset m_newObjectsGetCommandProcStyle also.
525  Otherwise the command processor will overwrite what you set here
526  */
527  void SetLineBegin( a2dCanvasObject* begin );
528 
529  //!defines line end object for line and polyline drawing tools
530  /*! You might want to reset m_newObjectsGetCommandProcStyle also.
531  Otherwise the command processor will overwrite what you set here
532  */
533  void SetLineEnd( a2dCanvasObject* end );
534 
535  //!get current line begin object for line and polyline drawing tools.
536  /*!\return Null if not set. */
537  a2dCanvasObject* GetLineBegin() {return m_begin;}
538 
539  //!get current line end object for line and polyline drawing tools
540  /*!return: Null if not set. */
541  a2dCanvasObject* GetLineEnd() {return m_end;}
542 
543  //!scaling in X for begin and end objects of linres and polylines
544  void SetEndScaleX( double xs ) { m_xscale = xs; }
545 
546  //!scaling in Y for begin and end objects of linres and polylines
547  void SetEndScaleY( double ys ) { m_yscale = ys; }
548 
549  //!get scaling in X for begin and end objects of lines and polylines
550  double GetEndScaleX() {return m_xscale;}
551 
552  //!get scaling in Y for begin and end objects of lines and polylines
553  double GetEndScaleY() {return m_yscale;}
554 
555  //! Set when m_contourwidth != 0 what is the end of the line should be.
556  void SetPathType( a2dPATH_END_TYPE pathtype );
557 
558  //! get when m_contourwidth != 0 what is the end of the line looks like.
559  a2dPATH_END_TYPE GetPathType() { return m_pathtype; }
560 
561 protected:
562 
563  bool CreateToolObjects();
564 
565  void OnMouseEvent( wxMouseEvent& event );
566 
567  void OnDoEvent( a2dCommandProcessorEvent& event );
568 
569  //! begin point object for lines and polylines
571 
572  //! end point object for lines and polylines
574 
575  //!begin point scaling
576  double m_xscale;
577 
578  //!end point scaling
579  double m_yscale;
580 
581  //! when m_contourwidth != 0 what is the end of the line looking like.
583 
584 public:
585  DECLARE_CLASS( a2dDrawPolylineLToolFast )
586  DECLARE_EVENT_TABLE()
587 
588 };
589 
590 #endif /* __A2DSTTOOL2_H__ */
591 
592 
593 
double m_prev_x
previous x
Definition: sttool2.h:467
a2dPATH_END_TYPE
defines the way a polyline with a contour width is ended.
Definition: polyver.h:31
bool ZoomSave()
Is Zooming while the tool is busy Save.
Definition: sttool2.h:131
a2dPATH_END_TYPE GetPathType()
get when m_contourwidth != 0 what is the end of the line looks like.
Definition: sttool2.h:559
a2dLineSegment * m_point
last point
Definition: sttool2.h:475
Drag Selected canvasObjects.
Definition: sttool2.h:208
void OnUndoEvent(a2dCommandProcessorEvent &event)
handler for Undo event
Definition: sttool.cpp:1487
a2dCanvasObject * GetLineBegin()
get current line begin object for line and polyline drawing tools.
Definition: sttool2.h:537
class to map references to objects stored in XML, in order to make the connection later on...
Definition: gen.h:3462
static const a2dCommandId COMID_PushTool_FastSelect2
push this tool on the tools stack
Definition: sttool2.h:173
virtual wxString GetCommandGroupName()
return the command group name for commands of a derived class
Definition: sttool2.h:297
virtual wxString GetCommandGroupName()
return the command group name for commands of a derived class
Definition: sttool2.h:251
bool ZoomSave()
Is Zooming while the tool is busy Save.
Definition: sttool2.h:219
polygon defined with list of points.
Definition: polygon.h:45
Ref Counted base object.
Definition: gen.h:1045
virtual wxString GetCommandGroupName()
return the command group name for commands of a derived class
Definition: sttool2.h:193
The a2dStTool is used to derive tools from.
Definition: sttool.h:115
a2dVertexList * m_points
points sofar
Definition: sttool2.h:472
virtual void Render()
implement rendering
Definition: sttool.cpp:1402
static const a2dCommandId COMID_PushTool_FastDragMulti
push this tool on the tools stack
Definition: sttool2.h:215
double m_yscale
end point scaling
Definition: sttool2.h:579
bool GetSpline()
certain drawing tools like polygon drawing use this setting
Definition: sttool2.h:444
a2dPATH_END_TYPE m_pathtype
when m_contourwidth != 0 what is the end of the line looking like.
Definition: sttool2.h:582
virtual wxString GetCommandGroupName()
return the command group name for commands of a derived class
Definition: sttool2.h:339
void SetEndScaleX(double xs)
scaling in X for begin and end objects of linres and polylines
Definition: sttool2.h:544
static const a2dCommandId COMID_PushTool_DrawRectangleFast
push this tool on the tools stack
Definition: sttool2.h:324
virtual void FinishBusyMode(bool closeCommandGroup=true)
Called when the user finishes editing a distinct object */.
Definition: sttool.cpp:1737
a2dCanvasObjectPtr m_end
end point object for lines and polylines
Definition: sttool2.h:573
void OnIdle(wxIdleEvent &event)
handler for idle events
Definition: sttool.cpp:1370
Interactive drawing of a polygon.
Definition: sttool2.h:409
Interactive Zooming.
Definition: sttool2.h:69
a2dCanvasObject is the base class for Canvas Objects.
Definition: canobj.h:371
static const a2dCommandId COMID_PushTool_DrawCircleFast
push this tool on the tools stack
Definition: sttool2.h:369
virtual bool CreateToolObjects()
Create the editcopy and other tool objects (e.g. decorations)
Definition: sttool.cpp:1711
vertex list of line and arc segments.
Definition: polyver.h:600
static const a2dCommandId COMID_PushTool_ZoomFast
push this tool on the tools stack
Definition: sttool2.h:76
bool EnterBusyMode()
starts a new action (e.g drawing something ) in a tool that is already pushed.
Definition: sttool.cpp:1731
a2dCanvasObject * GetLineEnd()
get current line end object for line and polyline drawing tools
Definition: sttool2.h:541
bool ZoomSave()
save to zoom while drawing
Definition: sttool2.h:432
void OnMouseEvent(wxMouseEvent &event)
called on mouse events
Definition: sttool.cpp:1203
bool ZoomSave()
Is Zooming while the tool is busy Save.
Definition: sttool2.h:177
bool ZoomSave()
Is Zooming while the tool is busy Save.
Definition: sttool2.h:87
Interactive (De)selection Selection of an Object(s).
Definition: sttool2.h:166
base for tools that draw and are stack based.
Definition: sttool.h:427
polyline defined with list of points.
Definition: polygon.h:332
The a2dStToolContr is a Tool Controller specialized for working with a2dCanvasView.
Definition: sttool.h:485
bool m_reverse
end to begin wire.
Definition: sttool2.h:481
bool GetAllowModifyTemplate()
template adepts to style change from outside or not
Definition: sttool2.h:40
Normal straight line segment in a2dVertexList and a2dVertexArray.
Definition: polyver.h:163
bool ZoomSave()
Is Zooming while the tool is busy Save.
Definition: sttool2.h:372
static const a2dCommandId COMID_PushTool_DrawPolylineLFast_Splined
push this tool on the tools stack
Definition: sttool2.h:512
a2dCanvasObjectList m_objects
the list of selected objects
Definition: sttool2.h:256
Each a2dCommand is given a command id at construction.
Definition: comevt.h:99
bool m_spline
spline polygons
Definition: sttool2.h:478
double GetEndScaleY()
get scaling in Y for begin and end objects of lines and polylines
Definition: sttool2.h:553
Interactive Selection of an Object.
Definition: sttool2.h:120
static const a2dCommandId COMID_PushTool_FastCopyMulti
push this tool on the tools stack
Definition: sttool2.h:281
a2dSmrtPtr< a2dPolygonL > m_templateObject
object to clone to use as start
Definition: sttool2.h:464
Interactive drawing of a Rectangle.
Definition: sttool2.h:317
double m_prev_y
previous y
Definition: sttool2.h:469
static const a2dCommandId COMID_PushTool_DrawPolygonLFast
push this tool on the tools stack
Definition: sttool2.h:416
double m_xscale
begin point scaling
Definition: sttool2.h:576
void AbortBusyMode()
Called when the user aborts editing a distinct object */.
Definition: sttool.cpp:1763
virtual void CleanupToolObjects()
Cleanup the editcopy other tool objects (e.g. decorations)
Definition: sttool.cpp:1265
base for tools that draw and are stack based.
Definition: sttool2.h:27
void SetSelectMode(bool select)
if set true selection is done, when false it is deselect.
Definition: sttool2.h:180
static const a2dCommandId COMID_PushTool_DrawPolygonLFast_Splined
push this tool on the tools stack
Definition: sttool2.h:420
static const a2dCommandId COMID_PushTool_DrawPolylineLFast
push this tool on the tools stack
Definition: sttool2.h:508
Interactive drawing of a polyline.
Definition: sttool2.h:501
Event sent to a2dCommandProcessor.
Definition: comevt.h:701
a2dCanvasObjectPtr m_begin
begin point object for lines and polylines
Definition: sttool2.h:570
virtual wxString GetCommandGroupName()
return the command group name for commands of a derived class
Definition: sttool2.h:461
see a2dComEvent
Definition: gen.h:371
static const a2dCommandId COMID_PushTool_FastSelect
push this tool on the tools stack
Definition: sttool2.h:127
void SetEndScaleY(double ys)
scaling in Y for begin and end objects of linres and polylines
Definition: sttool2.h:547
Interactive drawing of a Circle.
Definition: sttool2.h:362
void OnComEvent(a2dComEvent &event)
called when a tool has changed (fill stroke layer spline )
Definition: sttool.cpp:1497
virtual wxString GetCommandGroupName()
return the command group name for commands of a derived class
Definition: sttool2.h:101
void SetAllowModifyTemplate(bool allowModifyTemplate)
template adepts to style change from outside or not
Definition: sttool2.h:37
void OnDoEvent(a2dCommandProcessorEvent &event)
handler for Do event
Definition: sttool.cpp:1492
void OnChar(wxKeyEvent &event)
called on key events
Definition: sttool.cpp:1798
virtual wxString GetCommandGroupName()
return the command group name for commands of a derived class
Definition: sttool2.h:146
Drag and Copy Selected canvasObjects.
Definition: sttool2.h:274
bool GetBusy()
Check if the tool is busy editing a distinct object */.
Definition: tools.h:513
double GetEndScaleX()
get scaling in X for begin and end objects of lines and polylines
Definition: sttool2.h:550
stack based tools controller and tools for drawing and editing.
virtual void GenerateAnotation()
to display a string along with a tool drawing.
Definition: sttool.cpp:1346
CloneOptions
options for cloning
Definition: gen.h:1200
virtual void SetMode(int mode)
general integer to set operation modes for a tool (e.g the way it draws)
Definition: tools.h:604
bool ZoomSave()
Is Zooming while the tool is busy Save.
Definition: sttool2.h:331
sttool2.h Source File -- Sun Oct 12 2014 17:04:25 -- Sun Oct 12 2014 -- 1.8.5 -- wxArt2D -- . -- Main Page Reference Documentation