Skip to content

Commit

Permalink
- Automatic resizing of graphics view.
Browse files Browse the repository at this point in the history
- Fixed the image path for Modelica documentation since the Modelica Library path is now changed.
- some other minor changes.

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@9603 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
adeas31 committed Aug 7, 2011
1 parent 7e90943 commit 4c33c73
Show file tree
Hide file tree
Showing 12 changed files with 328 additions and 234 deletions.
57 changes: 37 additions & 20 deletions OMEdit/OMEditGUI/DocumentationWidget.cpp
Expand Up @@ -39,6 +39,7 @@ DocumentationWidget::DocumentationWidget(MainWindow *pParent)
mpParentMainWindow = pParent;
mpDocumentationViewer = new DocumentationViewer(this);
mpDocumentationEditor = new DocumentationEditor(this);
setIsCustomModel(false);
mpHeadingLabel = new QLabel;
mpHeadingLabel->setFont(QFont("", Helper::headingFontSize - 5));
mpHeadingLabel->setAlignment(Qt::AlignTop);
Expand Down Expand Up @@ -87,17 +88,24 @@ void DocumentationWidget::show(QString className)
{
mpPixmapLabel->setVisible(true);
mpPixmapLabel->setPixmap(libraryComponent->getComponentPixmap(QSize(75, 75)));
mpEditButton->setVisible(false);
mpSaveButton->setVisible(false);
}
else
{
mpPixmapLabel->setVisible(false);
}
// show edit and save buttons if show is called for a custom model
if (isCustomModel())
{
mpEditButton->setVisible(true);
mpEditButton->setDisabled(false);
mpSaveButton->setVisible(true);
mpSaveButton->setDisabled(true);
}
else
{
mpEditButton->setVisible(false);
mpSaveButton->setVisible(false);
}
QString documentation = mpParentMainWindow->mpOMCProxy->getDocumentationAnnotation(className);
mpDocumentationViewer->setHtml(documentation, mpDocumentationViewer->getBaseUrl());
mpDocumentationViewer->setVisible(true);
Expand All @@ -106,37 +114,44 @@ void DocumentationWidget::show(QString className)

void DocumentationWidget::showDocumentationEditView(QString className)
{
QString validText;
mpDocumentationViewer->hide();

// get the already existing documentation text of the model
mpDocumentationEditor->toPlainText();
mpDocumentationEditor->setPlainText(mpParentMainWindow->mpOMCProxy->getDocumentationAnnotation(className));
mpDocumentationEditor->setFocus();
mpDocumentationEditor->show();
}

void DocumentationWidget::setIsCustomModel(bool isCustomModel)
{
mIsCustomModel = isCustomModel;
}

bool DocumentationWidget::isCustomModel()
{
return mIsCustomModel;
}

void DocumentationWidget::editDocumentation()
{
showDocumentationEditView(mClassName);
mpEditButton->setDisabled(true);
mpSaveButton->setDisabled(false);
showDocumentationEditView(mClassName);
mpEditButton->setDisabled(true);
mpSaveButton->setDisabled(false);
}

void DocumentationWidget::saveChanges()
{
QString doc = mpDocumentationEditor->toPlainText();
if(doc.startsWith("<html>",Qt::CaseSensitive) && doc.endsWith("</html>",Qt::CaseSensitive))
{
mpParentMainWindow->mpOMCProxy->addClassAnnotation(mClassName,"annotate=Documentation(info = \""+doc+"\")");
show(mClassName);
}
else
{
QString message = QString(GUIMessages::getMessage(GUIMessages::INCORRECT_HTML_TAGS));
mpParentMainWindow->mpMessageWidget->printGUIErrorMessage(message);

}
QString doc = mpDocumentationEditor->toPlainText();
if(doc.startsWith("<html>",Qt::CaseSensitive) && doc.endsWith("</html>",Qt::CaseSensitive))
{
mpParentMainWindow->mpOMCProxy->addClassAnnotation(mClassName,"annotate=Documentation(info = \""+doc+"\")");
show(mClassName);
}
else
{
QString message = QString(GUIMessages::getMessage(GUIMessages::INCORRECT_HTML_TAGS));
mpParentMainWindow->mpMessageWidget->printGUIErrorMessage(message);
}
}

DocumentationEditor::DocumentationEditor(DocumentationWidget *pParent)
Expand All @@ -158,8 +173,10 @@ DocumentationViewer::DocumentationViewer(DocumentationWidget *pParent)
{
mpParentDocumentationWidget = pParent;
// set the base url for documentation.
mpParentDocumentationWidget->mpParentMainWindow->mpOMCProxy->sendCommand("getNamedAnnotation(Modelica,version)");
QString versionStr = StringHandler::unparseStrings(mpParentDocumentationWidget->mpParentMainWindow->mpOMCProxy->getResult()).at(0);
// We need to replace the back slashes(\) with forward slash(/), since QWebView baseurl doesn't handle it.
QString baseUrl = QString(Helper::OpenModelicaLibrary).replace("\\", "/").append(Helper::documentationBaseUrl);
QString baseUrl = QString(Helper::OpenModelicaLibrary).replace("\\", "/").append("/Modelica ").append(versionStr).append("/Images/");
setBaseUrl(baseUrl);
// set page font settings
settings()->setFontFamily(QWebSettings::StandardFont, "Verdana");
Expand Down
7 changes: 3 additions & 4 deletions OMEdit/OMEditGUI/DocumentationWidget.h
Expand Up @@ -46,17 +46,17 @@ class DocumentationWidget : public QWidget
{
Q_OBJECT
private:

bool mIsCustomModel;
public slots:
void editDocumentation();
void saveChanges();

public:
DocumentationWidget(MainWindow *pParent);
~DocumentationWidget();
void show(QString className);
void showDocumentationEditView(QString className);

void setIsCustomModel(bool isCustomModel);
bool isCustomModel();

MainWindow *mpParentMainWindow;
DocumentationViewer *mpDocumentationViewer;
Expand All @@ -67,7 +67,6 @@ public slots:
QPushButton *mpSaveButton;
QDialogButtonBox *mpButtonBox;
QString mClassName;

};
class ModelicaTextSettings;

Expand Down
6 changes: 2 additions & 4 deletions OMEdit/OMEditGUI/Helper.cpp
Expand Up @@ -50,8 +50,6 @@ QString Helper::tmpPath = QString(getenv("OPENMODELICAHOME")).replace("\\", "/")
// Don't randomize the path as then it becomes annoying to remove all dirs
QString Helper::tmpPath = QString("/tmp/OMEdit");
#endif
QString Helper::settingsFileName = QString("OMEdit-Settings.xml");
QString Helper::documentationBaseUrl = QString("/Modelica/Images/");
QString Helper::readOnly = QString("Read-Only");
QString Helper::writeAble = QString("Writeable");
QString Helper::iconView = QString("Icon View");
Expand All @@ -62,8 +60,8 @@ int Helper::viewWidth = 2000;
int Helper::viewHeight = 2000;
qreal Helper::globalDiagramXScale = 1.0;
qreal Helper::globalDiagramYScale = 1.0;
qreal Helper::globalIconXScale = 0.15;
qreal Helper::globalIconYScale = 0.15;
qreal Helper::globalIconXScale = 0.12;
qreal Helper::globalIconYScale = 0.12;
int Helper::treeIndentation = 13;
QSize Helper::iconSize = QSize(20, 20);
QSize Helper::buttonIconSize = QSize(20, 20);
Expand Down
2 changes: 0 additions & 2 deletions OMEdit/OMEditGUI/Helper.h
Expand Up @@ -51,8 +51,6 @@ class Helper
static QString omnotebookFileTypes;
static QString imageFileTypes;
static QString tmpPath;
static QString settingsFileName;
static QString documentationBaseUrl;
static QString readOnly;
static QString writeAble;
static QString iconView;
Expand Down

0 comments on commit 4c33c73

Please sign in to comment.