19#include "kiviotargettool.h"
25#include "kivio_stencil.h"
26#include "kivio_view.h"
27#include "kivio_canvas.h"
28#include "kivio_page.h"
30#include "mousetoolaction.h"
31#include "kivio_pluginmanager.h"
32#include "kivio_command.h"
35 TargetTool::TargetTool(KivioView* parent) :
MouseTool(parent,
"Add Target Mouse Tool")
37 m_targetAction =
new Kivio::MouseToolAction(i18n(
"Add Connector Target"),
38 "add_target", 0, actionCollection(),
"addTargetTool");
39 connect(m_targetAction, TQ_SIGNAL(toggled(
bool)),
this, TQ_SLOT(setActivated(
bool)));
40 connect(m_targetAction, TQ_SIGNAL(doubleClicked()),
this, TQ_SLOT(makePermanent()));
45 TargetTool::~TargetTool()
49 bool TargetTool::processEvent(TQEvent* e)
51 if(e->type() == TQEvent::MouseButtonPress) {
52 mousePress(
static_cast<TQMouseEvent*
>(e));
54 }
else if(e->type() == TQEvent::MouseMove) {
55 mouseMove(
static_cast<TQMouseEvent*
>(e));
62 void TargetTool::setActivated(
bool a)
65 m_targetAction->setChecked(
true);
67 }
else if(m_targetAction->isChecked()) {
68 m_targetAction->setChecked(
false);
73 void TargetTool::applyToolAction(KivioStencil* stencil,
const KoPoint& pos)
75 KivioAddConnectorTargetCommand* command =
new KivioAddConnectorTargetCommand(i18n(
"Add Connector Target"), view()->activePage(), stencil, pos);
77 view()->doc()->addCommand(command);
80 void TargetTool::mousePress(TQMouseEvent* e)
82 KoPoint p = view()->canvasWidget()->mapFromScreen(e->pos());
84 KivioStencil* stencil = view()->canvasWidget()->activePage()->checkForStencil(&p, &colType, 0,
false);
87 applyToolAction(stencil, p);
90 view()->pluginManager()->activateDefaultTool();
95 void TargetTool::mouseMove(TQMouseEvent* e)
97 KoPoint p = view()->canvasWidget()->mapFromScreen(e->pos());
100 if(view()->canvasWidget()->activePage()->checkForStencil(&p, &colType, 0,
false)) {
101 view()->canvasWidget()->setCursor(TQt::CrossCursor);
103 view()->canvasWidget()->setCursor(TQt::ForbiddenCursor);
107 void TargetTool::makePermanent()
113#include "kiviotargettool.moc"