void PatternWidgetClass::mousePressEvent(QMouseEvent* event) { // left button // if (event->button() == LeftButton) { // are we in the addTransitionMode ? // if (getView().isAddTransitionMode()) { getView().endAddTransition(this); } // else, save the click position for a possible move // else { pickedPos = event->pos(); } } // right button -> popup menu // else if (event->button() == RightButton) { // popup menu // QPopupMenu menu; menuAddBehaviour_ = new QPopupMenu(&menu); menu.insertItem("Start pattern", this, SLOT(onSetStart())); menu.insertSeparator(); menu.insertItem("Add behaviour", menuAddBehaviour_); menu.insertItem("Add transition", this, SLOT(onAddTransition())); menu.insertSeparator(); menu.insertItem("Rename pattern", this, SLOT(onRenamePattern())); menu.insertItem("Rename transition", this, SLOT(onRenameTransition())); menu.insertItem("Delete pattern", this, SLOT(onDelete())); // submenu: add all behaviour names // Generator::GroupMap::const_iterator first, last; PolicyConfigClass::instance()->description().getGroupedClasses("behaviour", first, last); for (; first != last; ++first) { if (first->second.isFinal() && !getDocument().hasBehaviour(patternName, first->second.name())) { menuAddBehaviour_->insertItem(first->second.name()); } } connect(menuAddBehaviour_, SIGNAL(activated(int)), this, SLOT(onAddBehaviour(int))); // show popup menu menu.exec(QCursor::pos()); }
void DocumentRange::setStart(const DocumentPosition &start) { m_start = start; onSetStart(); }