Skip to content

Commit 413efaf

Browse files
committed
Closes #1411
1 parent 17934d3 commit 413efaf

File tree

4 files changed

+23
-32
lines changed

4 files changed

+23
-32
lines changed

src/Interface/Application/NetworkEditor.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -667,6 +667,13 @@ void NetworkEditor::mouseMoveEvent(QMouseEvent *event)
667667
QGraphicsView::mouseMoveEvent(event);
668668
}
669669

670+
void NetworkEditor::mousePressEvent(QMouseEvent *event)
671+
{
672+
if (event->button() == Qt::MiddleButton)
673+
Q_EMIT middleMouseClicked();
674+
QGraphicsView::mousePressEvent(event);
675+
}
676+
670677
void NetworkEditor::mouseReleaseEvent(QMouseEvent *event)
671678
{
672679
if (modulesSelectedByCL_)

src/Interface/Application/NetworkEditor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ namespace Gui {
215215
virtual void mouseReleaseEvent(QMouseEvent *event) override;
216216
virtual void wheelEvent(QWheelEvent* event) override;
217217
virtual void contextMenuEvent(QContextMenuEvent *event) override;
218+
virtual void mousePressEvent(QMouseEvent *event) override;
218219

219220
public Q_SLOTS:
220221
void addModuleWidget(const std::string& name, SCIRun::Dataflow::Networks::ModuleHandle module, const SCIRun::Dataflow::Engine::ModuleCounter& count);
@@ -256,6 +257,7 @@ namespace Gui {
256257
void networkExecuted();
257258
void networkExecutionFinished();
258259
void networkEditorMouseButtonPressed();
260+
void middleMouseClicked();
259261
void moduleMoved(const SCIRun::Dataflow::Networks::ModuleId& id, double newX, double newY);
260262
void defaultNotePositionChanged(NotePosition position);
261263
void sceneChanged(const QList<QRectF>& region);

src/Interface/Application/SCIRunMainWindow.cc

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,6 @@ SCIRunMainWindow::SCIRunMainWindow() : shortcuts_(nullptr), firstTimePythonShown
273273
makePipesEuclidean();
274274

275275
connect(this, SIGNAL(moduleItemDoubleClicked()), networkEditor_, SLOT(addModuleViaDoubleClickedTreeItem()));
276-
connect(moduleSelectorTreeWidget_, SIGNAL(itemChanged(QTreeWidgetItem*, int)), this, SLOT(updateSavedSubnetworks()));
277276
connect(moduleFilterLineEdit_, SIGNAL(textChanged(const QString&)), this, SLOT(filterModuleNamesInTreeView(const QString&)));
278277

279278
#if 0 //TODO: decide on modifiable background color
@@ -351,6 +350,7 @@ SCIRunMainWindow::SCIRunMainWindow() : shortcuts_(nullptr), firstTimePythonShown
351350
adjustExecuteButtonAppearance();
352351

353352
connect(networkEditor_, SIGNAL(newSubnetworkCopied(const QString&)), this, SLOT(updateClipboardHistory(const QString&)));
353+
connect(networkEditor_, SIGNAL(middleMouseClicked()), this, SLOT(switchMouseMode()));
354354

355355
connect(openLogFolderButton_, SIGNAL(clicked()), this, SLOT(openLogFolder()));
356356

@@ -877,14 +877,7 @@ void SCIRunMainWindow::setDragMode(bool toggle)
877877
networkEditor_->setMouseAsDragMode();
878878
statusBar()->showMessage("Mouse in drag mode", 2000);
879879
}
880-
if (actionDragMode_->isChecked())
881-
{
882-
actionSelectMode_->setChecked(false);
883-
}
884-
else
885-
{
886-
actionSelectMode_->setChecked(true);
887-
}
880+
actionSelectMode_->setChecked(!actionDragMode_->isChecked());
888881
}
889882

890883
void SCIRunMainWindow::setSelectMode(bool toggle)
@@ -894,12 +887,19 @@ void SCIRunMainWindow::setSelectMode(bool toggle)
894887
networkEditor_->setMouseAsSelectMode();
895888
statusBar()->showMessage("Mouse in select mode", 2000);
896889
}
897-
if (actionSelectMode_->isChecked())
890+
actionDragMode_->setChecked(!actionSelectMode_->isChecked());
891+
}
892+
893+
void SCIRunMainWindow::switchMouseMode()
894+
{
895+
if (actionDragMode_->isChecked())
898896
{
899-
actionDragMode_->setChecked(false);
897+
setSelectMode(true);
898+
actionSelectMode_->setChecked(true);
900899
}
901-
else
900+
else // select->drag
902901
{
902+
setDragMode(true);
903903
actionDragMode_->setChecked(true);
904904
}
905905
}
@@ -1418,10 +1418,8 @@ void SCIRunMainWindow::handleCheckedModuleEntry(QTreeWidgetItem* item, int colum
14181418
void SCIRunMainWindow::removeSavedSubnetwork()
14191419
{
14201420
auto toDelete = sender()->property("ID").toString();
1421-
//qDebug() << "removing from subnet maps: " << toDelete << savedSubnetworksNames_.size() << savedSubnetworksXml_.size();
14221421
savedSubnetworksNames_.remove(toDelete);
14231422
savedSubnetworksXml_.remove(toDelete);
1424-
//qDebug() << "done removing from subnet maps: " << toDelete << savedSubnetworksNames_.size() << savedSubnetworksXml_.size();
14251423
auto tree = getSavedSubnetworksMenu(moduleSelectorTreeWidget_);
14261424
for (int i = 0; i < tree->childCount(); ++i)
14271425
{
@@ -1437,13 +1435,10 @@ void SCIRunMainWindow::removeSavedSubnetwork()
14371435
void SCIRunMainWindow::renameSavedSubnetwork()
14381436
{
14391437
auto toRename = sender()->property("ID").toString();
1440-
qDebug() << "renaming subnet : " << toRename << savedSubnetworksNames_;
1441-
14421438
bool ok;
14431439
auto text = QInputDialog::getText(this, tr("Rename subnet"), tr("Enter new subnet name:"), QLineEdit::Normal, savedSubnetworksNames_[toRename].toString(), &ok);
14441440
if (ok && !text.isEmpty())
14451441
{
1446-
qDebug() << "new name:" << text;
14471442
savedSubnetworksNames_[toRename] = text;
14481443
auto tree = getSavedSubnetworksMenu(moduleSelectorTreeWidget_);
14491444
for (int i = 0; i < tree->childCount(); ++i)
@@ -1452,8 +1447,7 @@ void SCIRunMainWindow::renameSavedSubnetwork()
14521447
if (toRename == subnet->data(0, Qt::UserRole).toString())
14531448
{
14541449
auto widget = moduleSelectorTreeWidget_->itemWidget(subnet, 0);
1455-
qDebug() << widget;
1456-
//qobject_cast<QLabel*>(widget->layout()->children()[0])->setText(text);
1450+
qobject_cast<QLabel*>(widget->layout()->itemAt(0)->widget())->setText(text);
14571451
break;
14581452
}
14591453
}
@@ -1896,18 +1890,6 @@ void SCIRunMainWindow::updateClipboardHistory(const QString& xml)
18961890
clips->addChild(clip);
18971891
}
18981892

1899-
void SCIRunMainWindow::updateSavedSubnetworks()
1900-
{
1901-
//qDebug() << "TODO rewrite: updateSavedSubnetworks";
1902-
//savedSubnetworks_.clear();
1903-
//auto menu = getSavedSubnetworksMenu(moduleSelectorTreeWidget_);
1904-
//for (auto i = 0; i < menu->childCount(); ++i)
1905-
//{
1906-
// auto item = menu->child(i);
1907-
// savedSubnetworks_[item->text(0)] = item->toolTip(0);
1908-
//}
1909-
}
1910-
19111893
void SCIRunMainWindow::showSnippetHelp()
19121894
{
19131895
QMessageBox::information(this, "Snippets",

src/Interface/Application/SCIRunMainWindow.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ private Q_SLOTS:
177177
void runScript();
178178
void importLegacyNetwork();
179179
void networkModified();
180+
void switchMouseMode();
180181
void filterModuleNamesInTreeView(const QString& start);
181182
void makePipesEuclidean();
182183
void makePipesCubicBezier();
@@ -216,7 +217,6 @@ private Q_SLOTS:
216217
void showClipboardHelp();
217218
void copyVersionToClipboard();
218219
void updateClipboardHistory(const QString& xml);
219-
void updateSavedSubnetworks();
220220
void changeExecuteActionIconToStop();
221221
void changeExecuteActionIconToPlay();
222222
void adjustExecuteButtonAppearance();

0 commit comments

Comments
 (0)