MCPcopy Create free account
hub / github.com/Linloir/GraphBuilder / mouseReleaseEvent

Method mouseReleaseEvent

graph_view.cpp:90–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

88}
89
90void MyGraphicsView::mouseReleaseEvent(QMouseEvent *event){
91 if(onMiddlePress){
92 onMiddlePress = false;
93 return;
94 }
95 if(itemState == NON){
96 if(selItem == nullptr){
97 //create vex
98 if(onRightPress)
99 onRightPress = false;
100 else
101 addVex(mapToScene(event->pos()));
102 }
103 else{
104 //deselect
105 if(event->buttons() == 0){
106 selItem = nullptr;
107 emit unselected();
108 }
109 else if(selItem != nullptr)
110 itemState |= SEL;
111 }
112 }
113 else if(itemState & ADD){
114 clearSketch();
115 itemState = NON;
116 if(selItem == nullptr){
117 selItem = addVex(mapToScene(event->pos()));
118 ((MyGraphicsVexItem*)selItem)->select();
119 addLine(strtVex, (MyGraphicsVexItem*)selItem);
120 }
121 else if(selItem->type() == QGraphicsItem::UserType + 1){
122 addLine(strtVex, (MyGraphicsVexItem*)selItem);
123 }
124 else{
125 itemState = SEL | selItem->type();
126 }
127 emit selected(selItem);
128 }
129 else if(itemState & SEL)
130 emit selected(selItem);
131 emit mouseReleased();
132 changeCursor();
133}
134
135void MyGraphicsView::mouseMoveEvent(QMouseEvent *event){
136 if(onMiddlePress){

Callers

nothing calls this directly

Calls 2

selectMethod · 0.80
typeMethod · 0.45

Tested by

no test coverage detected