7#ifndef __KIS_DELEGATED_TOOL_H
8#define __KIS_DELEGATED_TOOL_H
22#define PRESS_CONDITION_OM(_event, _mode, _button, _modifier) \
23 (this->mode() == (_mode) && (_event)->button() == (_button) && \
24 ((_event)->modifiers() & (_modifier) || \
25 (_event)->modifiers() == Qt::NoModifier))
27template <
class BaseClass,
class DelegateTool,
class ActivationPolicy = NoopActivationPolicy>
32 const QCursor &cursor,
33 DelegateTool *delegateTool)
34 : BaseClass(canvas, cursor),
43 void activate(
const QSet<KoShape*> &shapes)
override
45 BaseClass::activate(shapes);
47 ActivationPolicy::onActivate(BaseClass::canvas());
58 BaseClass::deactivate();
69 Qt::LeftButton, Qt::ShiftModifier |
70 Qt::ControlModifier | Qt::AltModifier)) {
78 BaseClass::mousePressEvent(event);
85 Qt::LeftButton, Qt::ShiftModifier |
86 Qt::ControlModifier | Qt::AltModifier)) {
92 BaseClass::mouseDoubleClickEvent(event);
101 BaseClass::mouseMoveEvent(event);
113 BaseClass::mouseReleaseEvent(event);
126 BaseClass::createOptionWidgets();
130 if (baseWidgetList.size() > 0
132 baseWidgetList.first().data())) {
135 baseWidgetList.first().data());
136 for (
int i = 0; i < localWidgetList.size(); ++i) {
137 QWidget *widget = localWidgetList[i];
140 widget->windowTitle());
141 const QString sectionName =
"section" + QString::number(i);
146 baseWidgetList.append(localWidgetList);
148 return baseWidgetList;
Qt::MouseButton button() const
return button pressed (see QMouseEvent::button());