OpenStructure
|
#include <tool.hh>
Inherits QObject.
Inherited by Manipulator, MapTool, MeasureTool, and SelectionTool.
Public Member Functions | |
virtual | ~Tool () |
virtual void | Click (const MouseEvent &event) |
virtual void | DoubleClick (const MouseEvent &event) |
virtual void | MousePress (const MouseEvent &event) |
virtual void | MouseMove (const MouseEvent &event) |
virtual void | RenderGL () |
virtual void | Activate () |
virtual void | Deactivate () |
virtual bool | CanOperateOn (gfx::NodePtrList nodes)=0 |
ToolOptions * | GetToolOptions () const |
const String & | GetName () const |
virtual QIcon | GetIcon () const |
Protected Member Functions | |
Tool (const String &name) | |
base class for tools
Parameters of the tool that are configurable should be implemented using the ToolOptions facility. This automatically takes care of remembering the used options over different sessions (in the future) and creates a widget to modify these options.
Tools receive input events when the Control key (Command on macOS) is pressed. This includes both keyboard events and mouse events such as mouse move events, clicks and Real clicks.
Tools only receive mouse move events when one of the mouse buttons is pressed.
CanOperateOn() determines if the tool can manipulate a certain gfx::GfxNodeP. This method is used to enabled/disable certain actions (in the toolbar, for example).
|
virtual |
|
inlinevirtual |
|
pure virtual |
whether the tool is capable of manipulating the given node
Implemented in MeasureTool, Manipulator, SelectionTool, and MapTool.
|
inlinevirtual |
left mouse click
Reimplemented in MeasureTool, and SelectionTool.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Reimplemented in MeasureTool, Manipulator, SelectionTool, and MapTool.
const String& GetName | ( | ) | const |
ToolOptions* GetToolOptions | ( | ) | const |
|
inlinevirtual |
Reimplemented in Manipulator, and MapTool.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in MeasureTool.