a2dDragMultiTool Class Reference
[Objects used for interactive manipulation.]

Drag Selected canvasObjects. More...

#include <sttool.h>

Inheritance diagram for a2dDragMultiTool:

Inheritance graph
[legend]
Collaboration diagram for a2dDragMultiTool:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 a2dDragMultiTool (a2dStToolContr *controller)
bool ZoomSave ()
 Is Zooming while the tool is busy Save.

Static Public Attributes

static const a2dCommandId COMID_PushTool_DragMulti
 push this tool on the tools stack

Protected Member Functions

void OnChar (wxKeyEvent &event)
 called on key events
void OnMouseEvent (wxMouseEvent &event)
 called on mouse events
virtual bool EnterBusyMode ()
 starts a new action (e.g drawing something ) in a tool that is already pushed.
virtual void FinishBusyMode (bool closeCommandGroup=true)
 Called when the user finishes editing a distinct object */.
virtual void AbortBusyMode ()
 Called when the user aborts editing a distinct object */.
void CaptureMouse ()
 redirect all mouse events for the canvas to this object
void ReleaseMouse ()
 release the mouse capture for this object
void DragAbsolute (double x, double y)
virtual void Render ()
 render in drag style
virtual void AdjustShift (double *x, double *y)
 This is overriden by copy tools to have a minimum distance between original and copy.
virtual wxString GetCommandGroupName ()
 return the command group name for commands of a derived class
virtual bool CreateToolObjects ()
 Create the editcopy and other tool objects (e.g. decorations).
virtual void CleanupToolObjects ()
 Cleanup the editcopy other tool objects (e.g. decorations).

Protected Attributes

a2dCanvasObjectList m_objects
 the list of selected objects
a2dCanvasObjectList m_connectedwirecopies
 the list of connectedwire editcopies
double m_startObjectx
 hold start of drag
double m_startObjecty
 hold start of drag
double m_startMousexw
 hold start of drag
double m_startMouseyw
 hold start of drag


Detailed Description

Drag Selected canvasObjects.

See also:
a2dStToolContr

Definition at line 1833 of file sttool.h.


Member Function Documentation

bool a2dDragMultiTool::ZoomSave (  )  [inline, virtual]

Is Zooming while the tool is busy Save.

If so, the active tool will redraw itself in the new Mapping state

Implements a2dBaseTool.

Definition at line 1844 of file sttool.h.

bool a2dDragMultiTool::EnterBusyMode (  )  [protected, virtual]

starts a new action (e.g drawing something ) in a tool that is already pushed.

Opens a new a2dCommandGroup, which will be closed at the end of an action. This is normally in FinishBusyMode(), but might be delayed when other tools are pushed, like the edit tool to further edit the drawn figure. This should become part of the same command group.

Reimplemented from a2dStTool.

Definition at line 6120 of file sttool.cpp.

void a2dDragMultiTool::FinishBusyMode ( bool  closeCommandGroup = true  )  [protected, virtual]

Called when the user finishes editing a distinct object */.

See also:
EnterBusyMode,

GetActive You should call the base class (this) version at the END of your function

Reimplemented from a2dStTool.

Definition at line 6128 of file sttool.cpp.

void a2dDragMultiTool::AbortBusyMode (  )  [protected, virtual]

Called when the user aborts editing a distinct object */.

See also:
EnterBusyMode This is supposed to undo aeverything the tool did since entering busy mode

Reimplemented from a2dStTool.

Definition at line 6148 of file sttool.cpp.

virtual wxString a2dDragMultiTool::GetCommandGroupName (  )  [inline, protected, virtual]

return the command group name for commands of a derived class

this defaults to the class name

Reimplemented from a2dBaseTool.

Reimplemented in a2dCopyMultiTool.

Definition at line 1868 of file sttool.h.

bool a2dDragMultiTool::CreateToolObjects (  )  [protected, virtual]

Create the editcopy and other tool objects (e.g. decorations).

m_original must be set before this function is called

Reimplemented from a2dStTool.

Definition at line 6237 of file sttool.cpp.


The documentation for this class was generated from the following files:
a2dDragMultiTool Class Reference -- Tue Aug 31 18:23:19 2010 -- 31 Aug 2010 -- 1.5.5 -- wxArt2D -- . -- Main Page Reference Documentation