Skip to content

Commit

Permalink
- Changed the font of Modelica Text View to default system font.
Browse files Browse the repository at this point in the history
- Incresed the font size to 10 from 8.
- Created tabs in messages window and also allow user to copy from it.
- search dialog closes with ESC key.

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@7385 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
adeas31 committed Dec 14, 2010
1 parent 3ce5f72 commit 13ce359
Show file tree
Hide file tree
Showing 8 changed files with 199 additions and 62 deletions.
19 changes: 17 additions & 2 deletions OMEdit/OMEditGUI/LibraryWidget.cpp
Expand Up @@ -161,6 +161,19 @@ void ModelicaTree::deleteNode(ModelicaTreeNode *item)
//delete item;
}

void ModelicaTree::removeChildNodes(ModelicaTreeNode *item)
{
int count = item->childCount();

for (int i = 0 ; i < count ; i++)
{
ModelicaTreeNode *treeNode = dynamic_cast<ModelicaTreeNode*>(item->child(i));
deleteNode(treeNode);
}
// Delete the node from list as well
mModelicaTreeNodesList.removeOne(item);
}

void ModelicaTree::addNode(QString name, int type, QString parentName, QString parentStructure)
{
ModelicaTreeNode *newTreePost;
Expand Down Expand Up @@ -209,7 +222,7 @@ void ModelicaTree::openProjectTab(QTreeWidgetItem *item, int column)
isFound = true;
}
}
// if the tab is found in current tabs and removed tabs then user has loaded a new model, just open it then
// if the tab is not found in current tabs and removed tabs then user has loaded a new model, just open it then
if (!isFound)
{
ProjectTab *newTab;
Expand All @@ -223,6 +236,8 @@ void ModelicaTree::openProjectTab(QTreeWidgetItem *item, int column)
newTab->mIsSaved = true;
}
pMainWindow->mpProjectTabs->addProjectTab(newTab, treeNode->mName, treeNode->mNameStructure);
// make the icon view visible and focused for key press events
newTab->showIconView(true);
}
// unset the cursor
unsetCursor();
Expand Down Expand Up @@ -308,7 +323,7 @@ bool ModelicaTree::deleteNodeTriggered(ModelicaTreeNode *node)
{
// print the message before deleting node,
// because after delete node is not available to print message :)
pMainWindow->mpMessageWidget->printGUIInfoMessage(treeNode->mName + " deleted successfully.");
pMainWindow->mpMessageWidget->printGUIInfoMessage("'" + treeNode->mName + "' deleted successfully.");
deleteNode(treeNode);
if (treeNode->childCount())
qDeleteAll(treeNode->takeChildren());
Expand Down
1 change: 1 addition & 0 deletions OMEdit/OMEditGUI/LibraryWidget.h
Expand Up @@ -81,6 +81,7 @@ class ModelicaTree : public QTreeWidget
void createActions();
ModelicaTreeNode* getNode(QString name);
void deleteNode(ModelicaTreeNode *item);
void removeChildNodes(ModelicaTreeNode *item);

LibraryWidget *mpParentLibraryWidget;
private:
Expand Down
97 changes: 60 additions & 37 deletions OMEdit/OMEditGUI/MessageWidget.cpp
Expand Up @@ -42,65 +42,88 @@
#include "mainwindow.h"

MessageWidget::MessageWidget(MainWindow *pParent)
: QTextEdit(pParent)
: QTabWidget(pParent)
{
mpParentMainWindow = pParent;
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
// creates general messages window
mpGeneralMessages = new GeneralMessages(this);
addTab(mpGeneralMessages, QString("General"));
// creates info messages window
mpInfoMessages = new InfoMessages(this);
addTab(mpInfoMessages, QString("Info"));
// creates warning messages window
mpWarningMessages = new WarningMessages(this);
addTab(mpWarningMessages, QString("Warning"));
// creates error messages window
mpErrorMessages = new ErrorMessages(this);
addTab(mpErrorMessages, QString("Error"));

setObjectName(tr("MessagesTab"));
}

void MessageWidget::printGUIMessage(QString message)
{
mpGeneralMessages->printGUIMessage(message);
}

QSize MessageWidget::sizeHint() const
void MessageWidget::printGUIInfoMessage(QString message)
{
mpInfoMessages->printGUIMessage(message);
}

void MessageWidget::printGUIWarningMessage(QString message)
{
mpWarningMessages->printGUIMessage(message);
}

void MessageWidget::printGUIErrorMessage(QString message)
{
mpErrorMessages->printGUIMessage(message);
}

Messages::Messages(MessageWidget *pParent)
: QTextEdit(pParent)
{
setReadOnly(true);
setObjectName(tr("MessagesTextBox"));

mpMessageWidget = pParent;
}

QSize Messages::sizeHint() const
{
QSize size = QTextEdit::sizeHint();
//Set very small height. A minimum apperantly stops at resonable size.
size.rheight() = 100; //pixels
return size;
}

void MessageWidget::setMessageColor(int type)
void Messages::printGUIMessage(QString message)
{
if (type == Error)
{
setTextColor("RED");
}
else if (type == Warning)
{
setTextColor("ORANGE");
}
else if (type == Info)
{
setTextColor("GREEN");
}
else
{
setTextColor("BLACK");
}
append(message);
mpMessageWidget->setCurrentWidget(this);
}

void MessageWidget::printGUIMessage(QString message)
GeneralMessages::GeneralMessages(MessageWidget *pParent)
: Messages(pParent)
{
//! @todo make better
setMessageColor(-1);
append(message);
setTextColor("BLACK");
}

void MessageWidget::printGUIErrorMessage(QString message)
InfoMessages::InfoMessages(MessageWidget *pParent)
: Messages(pParent)
{
//! @todo make better
setMessageColor(Error);
append(QString("Error: ").append(message));
setTextColor("GREEN");
}

void MessageWidget::printGUIWarningMessage(QString message)
WarningMessages::WarningMessages(MessageWidget *pParent)
: Messages(pParent)
{
//! @todo make better
setMessageColor(Warning);
append(QString("Warning: ").append(message));
setTextColor("ORANGE");
}

void MessageWidget::printGUIInfoMessage(QString message)
ErrorMessages::ErrorMessages(MessageWidget *pParent)
: Messages(pParent)
{
//! @todo make better
setMessageColor(Info);
append(QString("Info: ").append(message));
setTextColor("RED");
}
62 changes: 53 additions & 9 deletions OMEdit/OMEditGUI/MessageWidget.h
Expand Up @@ -41,26 +41,70 @@
#ifndef MESSAGEWIDGET_H
#define MESSAGEWIDGET_H

#include <QTabWidget>
#include <QPlainTextEdit>

class MainWindow;
class GeneralMessages;
class InfoMessages;
class WarningMessages;
class ErrorMessages;

class MessageWidget : public QTextEdit
class MessageWidget : public QTabWidget
{
Q_OBJECT
private:
void setMessageColor(int type);

public:
MessageWidget(MainWindow *pParent=0);
MessageWidget(MainWindow *pParent = 0);

MainWindow *mpParentMainWindow;
GeneralMessages *mpGeneralMessages;
InfoMessages *mpInfoMessages;
WarningMessages *mpWarningMessages;
ErrorMessages *mpErrorMessages;

void printGUIMessage(QString message);
void printGUIErrorMessage(QString message);
void printGUIWarningMessage(QString message);
void printGUIInfoMessage(QString message);
void printGUIWarningMessage(QString message);
void printGUIErrorMessage(QString message);
};

class Messages : public QTextEdit
{
Q_OBJECT
public:
Messages(MessageWidget *pParent=0);
QSize sizeHint() const;
void printGUIMessage(QString message);

MainWindow *mpParentMainWindow;
enum OMEditMessage {Error, Warning, Info};
MessageWidget *mpMessageWidget;
};

class GeneralMessages : public Messages
{
Q_OBJECT
public:
GeneralMessages(MessageWidget *pParent=0);
};

class InfoMessages : public Messages
{
Q_OBJECT
public:
InfoMessages(MessageWidget *pParent=0);
};

class WarningMessages : public Messages
{
Q_OBJECT
public:
WarningMessages(MessageWidget *pParent=0);
};

class ErrorMessages : public Messages
{
Q_OBJECT
public:
ErrorMessages(MessageWidget *pParent=0);
};

#endif // MESSAGEWIDGET_H
11 changes: 6 additions & 5 deletions OMEdit/OMEditGUI/OptionsWidget.cpp
Expand Up @@ -36,8 +36,9 @@
ModelicaTextSettings::ModelicaTextSettings()
{
// set default values, will be handy if we are unable to create the xml file
setFontFamily("Courier");
setFontSize(8);
setFontFamily(qApp->font().family()); // get system font
//setFontFamily("Courier");
setFontSize(10);
setTextRuleColor("0, 0, 0"); // black
setKeywordRuleColor("255, 0, 0"); // red
setTypeRuleColor("0, 139, 0"); // dark green
Expand Down Expand Up @@ -167,7 +168,7 @@ OptionsWidget::OptionsWidget(MainWindow *pParent)

void OptionsWidget::getSettings()
{
QString filePath = QString(QDir::tempPath()).append("/").append(Helper::settingsFileName);
QString filePath = QString(qApp->applicationDirPath()).append("/").append(Helper::settingsFileName);
QFile settingsFile(filePath);
// check if the file exists, if it exists then get the settings
if (!settingsFile.exists())
Expand Down Expand Up @@ -365,7 +366,7 @@ void OptionsWidget::changePage(QListWidgetItem *current, QListWidgetItem *previo
void OptionsWidget::reject()
{
// read the old settings from the file
QString filePath = QString(QDir::tempPath()).append("/").append(Helper::settingsFileName);
QString filePath = QString(qApp->applicationDirPath()).append("/").append(Helper::settingsFileName);
readSettings(filePath);
// set the fields back to default values
dynamic_cast<ModelicaTextEditorPage*>(mpPagesWidget->widget(0))->initializeFields();
Expand All @@ -375,7 +376,7 @@ void OptionsWidget::reject()
void OptionsWidget::saveSettings()
{
// delete the settings file and create a new one
QString filePath = QString(QDir::tempPath()).append("/").append(Helper::settingsFileName);
QString filePath = QString(qApp->applicationDirPath()).append("/").append(Helper::settingsFileName);
QFile::remove(filePath);
// create a new file now
createSettings(filePath);
Expand Down

0 comments on commit 13ce359

Please sign in to comment.