MCPcopy Create free account
hub / github.com/MyGUI/mygui / startDrag

Method startDrag

UnitTests/UnitTest_GraphView/BaseGraphView.h:196–287  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194 }
195
196 void startDrag(BaseGraphConnection* _connection) override
197 {
198 if (!mIsDrug)
199 {
200 bool result = false;
201 requestConnectPoint(this, _connection, nullptr, result);
202
203 // тащим новый конект
204 if (result)
205 {
206 mIsDrug = true;
207
208 const MyGUI::IntCoord& coord = _connection->getAbsoluteCoord();
209
210 mDrugLine.colour.set(1, 1, 1, 1);
211 mDrugLine.start_offset.clear();
212 mDrugLine.end_offset.clear();
213 mDrugLine.point_start.set(
214 coord.left + (coord.width / 2) - mCanvas->getAbsoluteLeft(),
215 coord.top + (coord.height / 2) - mCanvas->getAbsoluteTop());
216 mDrugLine.point_end = mDrugLine.point_start;
217
218 mConnectionStart = _connection;
219
220 updateCanvas();
221 }
222 // разрываем существующий
223 else
224 {
225 BaseGraphConnection* drag_node = nullptr;
226 bool disconect = false;
227 // прямое сочленение
228 if (_connection->isAnyConnection())
229 {
230 EnumeratorConnection conn = _connection->getConnectionEnumerator();
231 while (conn.next())
232 {
233 result = false;
234 requestDisconnectPoint(this, _connection, conn.current(), result);
235 if (result)
236 {
237 drag_node = _connection;
238 eventDisconnectPoint(this, _connection, conn.current());
239 _connection->removeConnectionPoint(conn.current());
240 disconect = true;
241 }
242 break;
243 }
244 }
245 else
246 {
247 // обратное сочленение
248 EnumeratorConnection conn = _connection->getReverseConnectionEnumerator();
249 while (conn.next())
250 {
251 result = false;
252 requestDisconnectPoint(this, conn.current(), _connection, result);
253 if (result)

Callers 1

Calls 11

requestConnectPointFunction · 0.85
requestDisconnectPointFunction · 0.85
getAbsoluteCoordMethod · 0.80
removeConnectionPointMethod · 0.80
setMethod · 0.45
clearMethod · 0.45
isAnyConnectionMethod · 0.45
nextMethod · 0.45
currentMethod · 0.45

Tested by

no test coverage detected