Skip to content

Commit

Permalink
ticket:2249 Only show the documentation as default view for Documenta…
Browse files Browse the repository at this point in the history
…tionClass annotation.
  • Loading branch information
adeas31 committed Oct 19, 2017
1 parent 095b0ef commit 6b6200d
Show file tree
Hide file tree
Showing 6 changed files with 130 additions and 45 deletions.
94 changes: 78 additions & 16 deletions OMEdit/OMEditGUI/Modeling/LibraryTreeWidget.cpp
Expand Up @@ -1600,25 +1600,36 @@ LibraryTreeItem* LibraryTreeModel::getLibraryTreeItemFromFile(QString fileName,
* \param text
* \param show
*/
void LibraryTreeModel::showModelWidget(LibraryTreeItem *pLibraryTreeItem, bool show)
void LibraryTreeModel::showModelWidget(LibraryTreeItem *pLibraryTreeItem, bool show, StringHandler::ViewType viewType)
{
QApplication::setOverrideCursor(Qt::WaitCursor);
// only switch to modeling perspective if show is true and we are not in a debugging perspective.
if (show && MainWindow::instance()->getPerspectiveTabBar()->currentIndex() != 3) {
MainWindow::instance()->getPerspectiveTabBar()->setCurrentIndex(1);
}
if (!pLibraryTreeItem->getModelWidget()) {
ModelWidget *pModelWidget = new ModelWidget(pLibraryTreeItem, MainWindow::instance()->getModelWidgetContainer());
pLibraryTreeItem->setModelWidget(pModelWidget);
}
/* Ticket #3797
* Only show the class Name as window title instead of full path
*/
pLibraryTreeItem->getModelWidget()->setWindowTitle(pLibraryTreeItem->getName() + (pLibraryTreeItem->isSaved() ? "" : "*"));
if (show) {
MainWindow::instance()->getModelWidgetContainer()->addModelWidget(pLibraryTreeItem->getModelWidget(), true);
if (show && ((viewType == StringHandler::NoView && pLibraryTreeItem->mClassInformation.preferredView.compare("info") == 0) ||
(viewType == StringHandler::NoView && pLibraryTreeItem->mClassInformation.preferredView.isEmpty() &&
pLibraryTreeItem->isDocumentationClass()) ||
(viewType == StringHandler::NoView && pLibraryTreeItem->mClassInformation.preferredView.isEmpty() &&
OptionsDialog::instance()->getGeneralSettingsPage()->getDefaultView().compare(Helper::documentationView) == 0))) {
MainWindow::instance()->getDocumentationWidget()->showDocumentation(pLibraryTreeItem);
bool state = MainWindow::instance()->getDocumentationDockWidget()->blockSignals(true);
MainWindow::instance()->getDocumentationDockWidget()->show();
MainWindow::instance()->getDocumentationDockWidget()->blockSignals(state);
} else {
pLibraryTreeItem->getModelWidget()->hide();
// only switch to modeling perspective if show is true and we are not in a debugging perspective.
if (show && MainWindow::instance()->getPerspectiveTabBar()->currentIndex() != 3) {
MainWindow::instance()->getPerspectiveTabBar()->setCurrentIndex(1);
}
if (!pLibraryTreeItem->getModelWidget()) {
ModelWidget *pModelWidget = new ModelWidget(pLibraryTreeItem, MainWindow::instance()->getModelWidgetContainer());
pLibraryTreeItem->setModelWidget(pModelWidget);
}
/* Ticket #3797
* Only show the class Name as window title instead of full path
*/
pLibraryTreeItem->getModelWidget()->setWindowTitle(pLibraryTreeItem->getName() + (pLibraryTreeItem->isSaved() ? "" : "*"));
if (show) {
MainWindow::instance()->getModelWidgetContainer()->addModelWidget(pLibraryTreeItem->getModelWidget(), true, viewType);
} else {
pLibraryTreeItem->getModelWidget()->hide();
}
}
QApplication::restoreOverrideCursor();
}
Expand Down Expand Up @@ -2551,6 +2562,18 @@ void LibraryTreeView::createActions()
mpOpenClassAction = new QAction(QIcon(":/Resources/icons/modeling.png"), Helper::openClass, this);
mpOpenClassAction->setStatusTip(Helper::openClassTip);
connect(mpOpenClassAction, SIGNAL(triggered()), SLOT(openClass()));
// view icon Action
mpViewIconAction = new QAction(QIcon(":/Resources/icons/model.svg"), Helper::viewIcon, this);
mpViewIconAction->setStatusTip(Helper::viewIconTip);
connect(mpViewIconAction, SIGNAL(triggered()), SLOT(viewIcon()));
// view diagram Action
mpViewDiagramAction = new QAction(QIcon(":/Resources/icons/modeling.png"), Helper::viewDiagram, this);
mpViewDiagramAction->setStatusTip(Helper::viewDiagramTip);
connect(mpViewDiagramAction, SIGNAL(triggered()), SLOT(viewDiagram()));
// view text Action
mpViewTextAction = new QAction(QIcon(":/Resources/icons/modeltext.svg"), Helper::viewText, this);
mpViewTextAction->setStatusTip(Helper::viewTextTip);
connect(mpViewTextAction, SIGNAL(triggered()), SLOT(viewText()));
// view documentation Action
mpViewDocumentationAction = new QAction(QIcon(":/Resources/icons/info-icon.svg"), Helper::viewDocumentation, this);
mpViewDocumentationAction->setStatusTip(Helper::viewDocumentationTip);
Expand Down Expand Up @@ -2789,6 +2812,9 @@ void LibraryTreeView::showContextMenu(QPoint point)
case LibraryTreeItem::Modelica:
default:
menu.addAction(mpOpenClassAction);
menu.addAction(mpViewIconAction);
menu.addAction(mpViewDiagramAction);
menu.addAction(mpViewTextAction);
menu.addAction(mpViewDocumentationAction);
menu.addAction(mpInformationAction);
if (!pLibraryTreeItem->isSystemLibrary()) {
Expand Down Expand Up @@ -2894,6 +2920,42 @@ void LibraryTreeView::openClass()
}
}

/*!
* \brief LibraryTreeView::viewIcon
* Shows the icon view of the selected LibraryTreeItem.
*/
void LibraryTreeView::viewIcon()
{
LibraryTreeItem *pLibraryTreeItem = getSelectedLibraryTreeItem();
if (pLibraryTreeItem) {
mpLibraryWidget->getLibraryTreeModel()->showModelWidget(pLibraryTreeItem, true, StringHandler::Icon);
}
}

/*!
* \brief LibraryTreeView::viewDiagram
* Shows the diagram view of the selected LibraryTreeItem.
*/
void LibraryTreeView::viewDiagram()
{
LibraryTreeItem *pLibraryTreeItem = getSelectedLibraryTreeItem();
if (pLibraryTreeItem) {
mpLibraryWidget->getLibraryTreeModel()->showModelWidget(pLibraryTreeItem, true, StringHandler::Diagram);
}
}

/*!
* \brief LibraryTreeView::viewText
* Shows the text view of the selected LibraryTreeItem.
*/
void LibraryTreeView::viewText()
{
LibraryTreeItem *pLibraryTreeItem = getSelectedLibraryTreeItem();
if (pLibraryTreeItem) {
mpLibraryWidget->getLibraryTreeModel()->showModelWidget(pLibraryTreeItem, true, StringHandler::ModelicaText);
}
}

/*!
* \brief LibraryTreeView::viewDocumentation
* Shows the documentation view of the selected LibraryTreeItem.
Expand Down
8 changes: 7 additions & 1 deletion OMEdit/OMEditGUI/Modeling/LibraryTreeWidget.h
Expand Up @@ -253,7 +253,7 @@ class LibraryTreeModel : public QAbstractItemModel
void loadLibraryTreeItemPixmap(LibraryTreeItem *pLibraryTreeItem);
void loadDependentLibraries(QStringList libraries);
LibraryTreeItem* getLibraryTreeItemFromFile(QString fileName, int lineNumber);
void showModelWidget(LibraryTreeItem *pLibraryTreeItem, bool show = true);
void showModelWidget(LibraryTreeItem *pLibraryTreeItem, bool show = true, StringHandler::ViewType viewType = StringHandler::NoView);
void showHideProtectedClasses();
bool unloadClass(LibraryTreeItem *pLibraryTreeItem, bool askQuestion = true);
bool unloadCompositeModelOrTextFile(LibraryTreeItem *pLibraryTreeItem, bool askQuestion = true);
Expand Down Expand Up @@ -303,6 +303,9 @@ class LibraryTreeView : public QTreeView
private:
LibraryWidget *mpLibraryWidget;
QAction *mpOpenClassAction;
QAction *mpViewIconAction;
QAction *mpViewDiagramAction;
QAction *mpViewTextAction;
QAction *mpViewDocumentationAction;
QAction *mpInformationAction;
QAction *mpNewModelicaClassAction;
Expand Down Expand Up @@ -348,6 +351,9 @@ public slots:
void libraryTreeItemExpanded(QModelIndex index);
void showContextMenu(QPoint point);
void openClass();
void viewIcon();
void viewDiagram();
void viewText();
void viewDocumentation();
void openInformationDialog();
void createNewModelicaClass();
Expand Down
53 changes: 26 additions & 27 deletions OMEdit/OMEditGUI/Modeling/ModelWidgetContainer.cpp
Expand Up @@ -5487,7 +5487,7 @@ ModelWidgetContainer::ModelWidgetContainer(QWidget *pParent)
connect(MainWindow::instance()->getAlignInterfacesAction(), SIGNAL(triggered()), SLOT(alignInterfaces()));
}

void ModelWidgetContainer::addModelWidget(ModelWidget *pModelWidget, bool checkPreferedView)
void ModelWidgetContainer::addModelWidget(ModelWidget *pModelWidget, bool checkPreferedView, StringHandler::ViewType viewType)
{
if (pModelWidget->isVisible() || pModelWidget->isMinimized()) {
QList<QMdiSubWindow*> subWindowsList = subWindowList(QMdiArea::ActivationHistoryOrder);
Expand Down Expand Up @@ -5526,8 +5526,7 @@ void ModelWidgetContainer::addModelWidget(ModelWidget *pModelWidget, bool checkP
pModelWidget->getEditor()->show();
}
pModelWidget->getEditor()->getPlainTextEdit()->setFocus(Qt::ActiveWindowFocusReason);
}
else if (pModelWidget->getLibraryTreeItem()->getLibraryType() == LibraryTreeItem::CompositeModel) {
} else if (pModelWidget->getLibraryTreeItem()->getLibraryType() == LibraryTreeItem::CompositeModel) {
if (pModelWidget->getModelWidgetContainer()->getPreviousViewType() != StringHandler::NoView) {
loadPreviousViewType(pModelWidget);
} else {
Expand All @@ -5537,33 +5536,33 @@ void ModelWidgetContainer::addModelWidget(ModelWidget *pModelWidget, bool checkP
if (!checkPreferedView || pModelWidget->getLibraryTreeItem()->getLibraryType() != LibraryTreeItem::Modelica) {
return;
}
// get the preferred view to display
QString preferredView = pModelWidget->getLibraryTreeItem()->mClassInformation.preferredView;
if (!preferredView.isEmpty()) {
if (preferredView.compare("info") == 0) {
pModelWidget->showDocumentationView();
loadPreviousViewType(pModelWidget);
} else if (preferredView.compare("text") == 0) {
pModelWidget->getTextViewToolButton()->setChecked(true);
} else {
pModelWidget->getDiagramViewToolButton()->setChecked(true);
}
} else if (pModelWidget->getLibraryTreeItem()->isDocumentationClass()) {
pModelWidget->showDocumentationView();
loadPreviousViewType(pModelWidget);
} else if (pModelWidget->getModelWidgetContainer()->getPreviousViewType() != StringHandler::NoView) {
loadPreviousViewType(pModelWidget);
// show the view user wants
if (viewType == StringHandler::Icon) {
pModelWidget->getIconViewToolButton()->setChecked(true);
} else if (viewType == StringHandler::Diagram) {
pModelWidget->getDiagramViewToolButton()->setChecked(true);
} else if (viewType == StringHandler::ModelicaText) {
pModelWidget->getTextViewToolButton()->setChecked(true);
} else {
QString defaultView = OptionsDialog::instance()->getGeneralSettingsPage()->getDefaultView();
if (defaultView.compare(Helper::iconView) == 0) {
pModelWidget->getIconViewToolButton()->setChecked(true);
} else if (defaultView.compare(Helper::textView) == 0) {
pModelWidget->getTextViewToolButton()->setChecked(true);
} else if (defaultView.compare(Helper::documentationView) == 0) {
pModelWidget->showDocumentationView();
// get the preferred view to display
QString preferredView = pModelWidget->getLibraryTreeItem()->mClassInformation.preferredView;
if (!preferredView.isEmpty()) {
if (preferredView.compare("text") == 0) {
pModelWidget->getTextViewToolButton()->setChecked(true);
} else {
pModelWidget->getDiagramViewToolButton()->setChecked(true);
}
} else if (pModelWidget->getModelWidgetContainer()->getPreviousViewType() != StringHandler::NoView) {
loadPreviousViewType(pModelWidget);
} else {
pModelWidget->getDiagramViewToolButton()->setChecked(true);
QString defaultView = OptionsDialog::instance()->getGeneralSettingsPage()->getDefaultView();
if (defaultView.compare(Helper::iconView) == 0) {
pModelWidget->getIconViewToolButton()->setChecked(true);
} else if (defaultView.compare(Helper::textView) == 0) {
pModelWidget->getTextViewToolButton()->setChecked(true);
} else {
pModelWidget->getDiagramViewToolButton()->setChecked(true);
}
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion OMEdit/OMEditGUI/Modeling/ModelWidgetContainer.h
Expand Up @@ -488,7 +488,7 @@ class ModelWidgetContainer : public QMdiArea
Q_OBJECT
public:
ModelWidgetContainer(QWidget *pParent = 0);
void addModelWidget(ModelWidget *pModelWidget, bool checkPreferedView = true);
void addModelWidget(ModelWidget *pModelWidget, bool checkPreferedView = true, StringHandler::ViewType viewType = StringHandler::NoView);
ModelWidget* getCurrentModelWidget();
ModelWidget* getModelWidget(const QString &className);
QMdiSubWindow* getCurrentMdiSubWindow();
Expand Down
12 changes: 12 additions & 0 deletions OMEdit/OMEditGUI/Util/Helper.cpp
Expand Up @@ -269,6 +269,12 @@ QString Helper::findVariables;
QString Helper::filterVariables;
QString Helper::openClass;
QString Helper::openClassTip;
QString Helper::viewIcon;
QString Helper::viewIconTip;
QString Helper::viewDiagram;
QString Helper::viewDiagramTip;
QString Helper::viewText;
QString Helper::viewTextTip;
QString Helper::viewDocumentation;
QString Helper::viewDocumentationTip;
QString Helper::dontShowThisMessageAgain;
Expand Down Expand Up @@ -516,6 +522,12 @@ void Helper::initHelperVariables()
Helper::filterVariables = tr("Filter Variables");
Helper::openClass = tr("Open Class");
Helper::openClassTip = tr("Opens the class details");
Helper::viewIcon = tr("View Icon");
Helper::viewIconTip = tr("Opens the class icon");
Helper::viewDiagram = tr("View Diagram");
Helper::viewDiagramTip = tr("Opens the class diagram");
Helper::viewText = tr("View Text");
Helper::viewTextTip = tr("Opens the class text");
Helper::viewDocumentation = tr("View Documentation");
Helper::viewDocumentationTip = tr("Opens the class documentation");
Helper::dontShowThisMessageAgain = tr("Don't show this message again");
Expand Down
6 changes: 6 additions & 0 deletions OMEdit/OMEditGUI/Util/Helper.h
Expand Up @@ -271,6 +271,12 @@ class Helper : public QObject
static QString filterVariables;
static QString openClass;
static QString openClassTip;
static QString viewIcon;
static QString viewIconTip;
static QString viewDiagram;
static QString viewDiagramTip;
static QString viewText;
static QString viewTextTip;
static QString viewDocumentation;
static QString viewDocumentationTip;
static QString dontShowThisMessageAgain;
Expand Down

0 comments on commit 6b6200d

Please sign in to comment.