Skip to content

Commit

Permalink
Do not force redraw when undo/redo is used from Icon/Diagram view.
Browse files Browse the repository at this point in the history
Mark the model modified after undo/redo.
  • Loading branch information
adeas31 committed Mar 30, 2017
1 parent d7c851f commit a1ddf90
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 4 deletions.
30 changes: 26 additions & 4 deletions OMEdit/OMEditGUI/MainWindow.cpp
Expand Up @@ -1500,15 +1500,26 @@ void MainWindow::undo()
pModelWidget->updateModelText(false);
}
if (pModelWidget && pModelWidget->getEditor() && (pModelWidget->getEditor()->getPlainTextEdit()->document()->isUndoAvailable())) {
// pModelWidget->getEditor()->setForceSetPlainText(true);
if (pModelWidget &&
((pModelWidget->getIconGraphicsView() && pModelWidget->getIconGraphicsView()->isVisible()) ||
(pModelWidget->getDiagramGraphicsView() && pModelWidget->getDiagramGraphicsView()->isVisible()))) {
pModelWidget->getEditor()->setForceSetPlainText(true);
}
pModelWidget->getEditor()->getPlainTextEdit()->document()->undo();
// if (pModelWidget->getEditor()->isVisible() &&
// pModelWidget->getEditor()->getPlainTextEdit()->document()->availableUndoSteps() + 1 == pModelWidget->getUndoStack()->index()) {
// pModelWidget->clearSelection();
// pModelWidget->getUndoStack()->undo();
// pModelWidget->updateClassAnnotationIfNeeded();
// } else {
// pModelWidget->getEditor()->setTextChanged(true);
// }
// pModelWidget->getEditor()->setForceSetPlainText(false);
// pModelWidget->updateModelText(false);
if (pModelWidget &&
((pModelWidget->getIconGraphicsView() && pModelWidget->getIconGraphicsView()->isVisible()) ||
(pModelWidget->getDiagramGraphicsView() && pModelWidget->getDiagramGraphicsView()->isVisible()))) {
pModelWidget->getEditor()->setForceSetPlainText(false);
}
}
}

Expand All @@ -1528,15 +1539,26 @@ void MainWindow::redo()
pModelWidget->updateModelText(false);
}
if (pModelWidget && pModelWidget->getEditor() && (pModelWidget->getEditor()->getPlainTextEdit()->document()->isRedoAvailable())) {
// pModelWidget->getEditor()->setForceSetPlainText(true);
if (pModelWidget &&
((pModelWidget->getIconGraphicsView() && pModelWidget->getIconGraphicsView()->isVisible()) ||
(pModelWidget->getDiagramGraphicsView() && pModelWidget->getDiagramGraphicsView()->isVisible()))) {
pModelWidget->getEditor()->setForceSetPlainText(true);
}
pModelWidget->getEditor()->getPlainTextEdit()->document()->redo();
// if (pModelWidget->getEditor()->isVisible() &&
// pModelWidget->getEditor()->getPlainTextEdit()->document()->availableRedoSteps() == pModelWidget->getUndoStack()->index()) {
// pModelWidget->clearSelection();
// pModelWidget->getUndoStack()->redo();
// pModelWidget->updateClassAnnotationIfNeeded();
// } else {
// pModelWidget->getEditor()->setTextChanged(true);
// }
// pModelWidget->getEditor()->setForceSetPlainText(false);
// pModelWidget->updateModelText(false);
if (pModelWidget &&
((pModelWidget->getIconGraphicsView() && pModelWidget->getIconGraphicsView()->isVisible()) ||
(pModelWidget->getDiagramGraphicsView() && pModelWidget->getDiagramGraphicsView()->isVisible()))) {
pModelWidget->getEditor()->setForceSetPlainText(false);
}
}
}

Expand Down
3 changes: 3 additions & 0 deletions OMEdit/OMEditGUI/Modeling/ModelWidgetContainer.cpp
Expand Up @@ -3290,6 +3290,9 @@ void ModelWidget::updateModelText(bool updateText)
LibraryTreeModel *pLibraryTreeModel = MainWindow::instance()->getLibraryWidget()->getLibraryTreeModel();
if (updateText) {
pLibraryTreeModel->updateLibraryTreeItemClassText(mpLibraryTreeItem);
} else {
mpLibraryTreeItem->setIsSaved(false);
pLibraryTreeModel->updateLibraryTreeItem(mpLibraryTreeItem);
}
#if !defined(WITHOUT_OSG)
// update the ThreeDViewer Browser
Expand Down

0 comments on commit a1ddf90

Please sign in to comment.