// This is set in glade. // gtk_widget_add_events(mDrawingArea, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | // GDK_FOCUS_CHANGE_MASK); void ClassDiagramView::buttonReleaseEvent(const GdkEventButton *event) { if(event->button == 1) { // if(abs(event->x - gPressInfo.startPos.x) > 5 || // abs(event->y - gPressInfo.startPos.y) > 5) { ClassNode *node = getNode( gStartPosInfo.x, gStartPosInfo.y); if(node) { GraphPoint clickOffset(static_cast<int>(event->x), static_cast<int>(event->y)); clickOffset.sub(gStartPosInfo); GraphPoint newPos(node->getPosition()); newPos.add(clickOffset.getZoomed(1/mClassDiagram.getDesiredZoom())); node->setPosition(newPos); mClassDiagram.setModified(); drawToDrawingArea(); } } // else { /* DiagramNode *node = getNode(event->x, event->y); if(node) { // gDiagramGraph.clearGraph(); // gLastSelectedClassName = node->getClassifier()->getName(); // gDiagramGraph.addNodes(gModelData, node->getClassifier()); // gDiagramGraph.setGraph(gModelData, getDrawOptions()); // gDiagramGraph.drawDiagram(getDrawOptions()); } */ } } else { displayDrawContextMenu(event->button, event->time, reinterpret_cast<gpointer>(const_cast<GdkEventButton*>(event))); } }