]> granicus.if.org Git - graphviz/commitdiff
gvedit fixes
authorarif <devnull@localhost>
Thu, 3 Mar 2011 16:33:54 +0000 (16:33 +0000)
committerarif <devnull@localhost>
Thu, 3 Mar 2011 16:33:54 +0000 (16:33 +0000)
cmd/gvedit/csettings.cpp
cmd/gvedit/imageviewer.cpp
cmd/gvedit/imageviewer.h
cmd/gvedit/main.cpp
cmd/gvedit/mainwindow.cpp
cmd/gvedit/mainwindow.h
cmd/gvedit/mdichild.cpp
cmd/gvedit/ui/settings.ui
cmd/gvedit/ui_settings.h
cmd/gvedit/vc90.idb
cmd/gvedit/vc90.pdb

index bfc742d7c515fee1c2dd2055786a6f2bd3749b71..904a07c437312c920687df73c684f0ab2bc32279 100644 (file)
@@ -18,6 +18,7 @@
 #include <qfile.h>
 #include "mdichild.h"
 #include "string.h"
+#include "mainwindow.h"
 #define WIDGET(t,f)  ((t*)findChild<t *>(#f))
 
 typedef struct {
@@ -52,7 +53,6 @@ bool loadAttrs(const QString fileName,QComboBox* cbNameG,QComboBox* cbNameN,QCom
                        if(sl[id].contains("E"))
                            cbNameE->addItem(attrName);
                    }
-                   printf ("%s\n",sl[id].constData());
                };
            }
         }
@@ -115,6 +115,7 @@ CFrmSettings::CFrmSettings()
     connect(WIDGET(QPushButton,btnCancel),SIGNAL(clicked()),this,SLOT(cancelSlot()));
     connect(WIDGET(QPushButton,pbOut),SIGNAL(clicked()),this,SLOT(outputSlot()));
     connect(WIDGET(QComboBox,cbScope),SIGNAL(currentIndexChanged(int)),this,SLOT(scopeChangedSlot(int)));
+    scopeChangedSlot(0);
 
 
     loadAttrs("c:/graphviz-ms/bin/attrs.txt",WIDGET(QComboBox,cbNameG),WIDGET(QComboBox,cbNameN),WIDGET(QComboBox,cbNameE));
@@ -286,10 +287,18 @@ bool CFrmSettings::renderLayout()
        _fileName=stripFileExtension(_fileName);
        _fileName=_fileName+"."+WIDGET(QComboBox,cbExtension)->currentText();
        int rv=gvRenderFilename(gvc,graph,(char*)WIDGET(QComboBox,cbExtension)->currentText().toUtf8().constData(),(char*)_fileName.toUtf8().constData());
-       this->getActiveWindow()->loadPreview(_fileName);
        if(rv)
-           this->getActiveWindow()->loadPreview(_fileName);
-       return rv;
+           return false;
+
+       if(getActiveWindow()->previewFrm)
+       {
+           getActiveWindow()->parentFrm->mdiArea->removeSubWindow(getActiveWindow()->previewFrm->subWindowRef);
+           delete getActiveWindow()->previewFrm;
+           getActiveWindow()->previewFrm=NULL;
+
+       }
+       this->getActiveWindow()->loadPreview(_fileName);
+       return true;
 
     }
     return false;
index dcec4b594d03d479fe5b04b63d87656ef41c83a4..80d960ba60313ea01bc79210e63dc899e56108a2 100644 (file)
@@ -13,6 +13,7 @@
 
 
 #include "imageviewer.h"
+#include "mdichild.h"
 
 
 
@@ -30,7 +31,7 @@ ImageViewer::ImageViewer()
     setCentralWidget(scrollArea);
 
     createActions();
-//    createMenus();
+    createMenus();
 
     setWindowTitle(tr(""));
     resize(800, 600);
@@ -44,16 +45,12 @@ void ImageViewer::open(QString fileName)
     if (!fileName.isEmpty()) {
         QImage image(fileName);
         if (image.isNull()) {
-            QMessageBox::information(this, tr("Image Viewer"),
-                                     tr("Cannot load %1.").arg(fileName));
+            QMessageBox::information(this, tr("GVEdit"),
+                                     tr("Image Format of %1 is not supported.").arg(fileName));
             return;
         }
-//! [2] //! [3]
         imageLabel->setPixmap(QPixmap::fromImage(image));
-//! [3] //! [4]
         scaleFactor = 1.0;
-
-        printAct->setEnabled(true);
         fitToWindowAct->setEnabled(true);
         updateActions();
 
@@ -61,11 +58,7 @@ void ImageViewer::open(QString fileName)
             imageLabel->adjustSize();
     }
 }
-//! [4]
-
-//! [5]
 void ImageViewer::print()
-//! [5] //! [6]
 {
     Q_ASSERT(imageLabel->pixmap());
 #ifndef QT_NO_PRINTER
@@ -83,11 +76,7 @@ void ImageViewer::print()
     }
 #endif
 }
-//! [8]
-
-//! [9]
 void ImageViewer::zoomIn()
-//! [9] //! [10]
 {
     scaleImage(1.25);
 }
@@ -97,18 +86,12 @@ void ImageViewer::zoomOut()
     scaleImage(0.8);
 }
 
-//! [10] //! [11]
 void ImageViewer::normalSize()
-//! [11] //! [12]
 {
     imageLabel->adjustSize();
     scaleFactor = 1.0;
 }
-//! [12]
-
-//! [13]
 void ImageViewer::fitToWindow()
-//! [13] //! [14]
 {
     bool fitToWindow = fitToWindowAct->isChecked();
     scrollArea->setWidgetResizable(fitToWindow);
@@ -117,12 +100,7 @@ void ImageViewer::fitToWindow()
     }
     updateActions();
 }
-//! [14]
-
-
-//! [15]
 void ImageViewer::about()
-//! [15] //! [16]
 {
     QMessageBox::about(this, tr("About Image Viewer"),
             tr("<p>The <b>Image Viewer</b> example shows how to combine QLabel "
@@ -138,11 +116,7 @@ void ImageViewer::about()
                "zooming and scaling features. </p><p>In addition the example "
                "shows how to use QPainter to print an image.</p>"));
 }
-//! [16]
-
-//! [17]
 void ImageViewer::createActions()
-//! [17] //! [18]
 {
     openAct = new QAction(tr("&Open..."), this);
     openAct->setShortcut(tr("Ctrl+O"));
@@ -184,18 +158,14 @@ void ImageViewer::createActions()
     aboutQtAct = new QAction(tr("About &Qt"), this);
     connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
 }
-//! [18]
-
-//! [19]
 void ImageViewer::createMenus()
-//! [19] //! [20]
 {
-    /*
-    fileMenu = new QMenu(tr("&File"), this);
+    
+/*    fileMenu = new QMenu(tr("&File"), this);
     fileMenu->addAction(openAct);
     fileMenu->addAction(printAct);
     fileMenu->addSeparator();
-    fileMenu->addAction(exitAct);
+    fileMenu->addAction(exitAct);*/
 
     viewMenu = new QMenu(tr("&View"), this);
     viewMenu->addAction(zoomInAct);
@@ -204,30 +174,22 @@ void ImageViewer::createMenus()
     viewMenu->addSeparator();
     viewMenu->addAction(fitToWindowAct);
 
-    helpMenu = new QMenu(tr("&Help"), this);
+/*    helpMenu = new QMenu(tr("&Help"), this);
     helpMenu->addAction(aboutAct);
-    helpMenu->addAction(aboutQtAct);
+    helpMenu->addAction(aboutQtAct);*/
 
-    menuBar()->addMenu(fileMenu);
+//    menuBar()->addMenu(fileMenu);
     menuBar()->addMenu(viewMenu);
-    menuBar()->addMenu(helpMenu);
-    */
+    //menuBar()->addMenu(helpMenu);
+    
 }
-//! [20]
-
-//! [21]
 void ImageViewer::updateActions()
-//! [21] //! [22]
 {
     zoomInAct->setEnabled(!fitToWindowAct->isChecked());
     zoomOutAct->setEnabled(!fitToWindowAct->isChecked());
     normalSizeAct->setEnabled(!fitToWindowAct->isChecked());
 }
-//! [22]
-
-//! [23]
 void ImageViewer::scaleImage(double factor)
-//! [23] //! [24]
 {
     Q_ASSERT(imageLabel->pixmap());
     scaleFactor *= factor;
@@ -239,13 +201,14 @@ void ImageViewer::scaleImage(double factor)
     zoomInAct->setEnabled(scaleFactor < 3.0);
     zoomOutAct->setEnabled(scaleFactor > 0.333);
 }
-//! [24]
-
-//! [25]
 void ImageViewer::adjustScrollBar(QScrollBar *scrollBar, double factor)
-//! [25] //! [26]
 {
     scrollBar->setValue(int(factor * scrollBar->value()
                             + ((factor - 1) * scrollBar->pageStep()/2)));
 }
-//! [26]
+void ImageViewer::closeEvent(QCloseEvent *event)
+{
+    this->graphWindow->previewFrm=NULL;
+    event->accept();
+
+}
index f9732e9cce19035f03674a621121a817ace0083c..2d953ebbc0fdf5258bdd5fb34439f4eba799ef77 100644 (file)
@@ -36,6 +36,7 @@ class ImageViewer : public QMainWindow
 public:
     ImageViewer();
     MdiChild* graphWindow;
+    QMdiSubWindow* subWindowRef; //reference to its wrapping sub window
 public slots:
     void open(QString fileName);
     void print();
@@ -73,9 +74,12 @@ private:
     QAction *aboutAct;
     QAction *aboutQtAct;
 
-/*    QMenu *fileMenu;
+//    QMenu *fileMenu;
     QMenu *viewMenu;
-    QMenu *helpMenu;*/
+//    QMenu *helpMenu;
+       protected:
+        void closeEvent(QCloseEvent *event);
+
 };
 //! [0]
 
index 0049035abcf423fa63c478be47455dba5a1a8a37..45baf4976d56808fc80e943e83fd53bb3623db62 100644 (file)
 #include "windows.h"
 #endif
 #include <QApplication>
-
 #include "mainwindow.h"
 
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#else
+#include "compat_getopt.h"
+#endif
+
+
 #ifdef WIN32_DLL
 __declspec(dllimport) boolean MemTest;
 /*gvc.lib cgraph.lib*/
@@ -26,13 +32,15 @@ __declspec(dllimport) boolean MemTest;
     #pragma comment( lib, "cgraph.lib" )
 #else
     #pragma comment( lib, "graph.lib" )
+    #pragma comment( lib, "ingraphs.lib" )
+
 #endif
     #pragma comment( lib, "gvc.lib" )
 #endif
 
 static char* cmd;
 
-extern int Verbose;
+int Verbose;
 
 static char *useString =
     "Usage: gvedit [-v?] <files>\n\
index 400f7e53417b0550fb08d4d6a35a402feb217dd8..96db752361045904015eafa4a611866c117e18d1 100644 (file)
@@ -12,6 +12,7 @@
  *************************************************************************/
 
 #include <QtGui>
+#include <qframe>
 #include "mainwindow.h"
 #include "mdichild.h"
 #include "csettings.h"
@@ -69,10 +70,19 @@ CMainWindow::CMainWindow()
        globTextEdit=textEdit;
        agseterrf(errorPipe);
         verticalLayout->addWidget(textEdit);
-
+       QFrame *fr=new QFrame(centralwidget);
+       verticalLayout->addWidget(fr);
 
         verticalLayout_2->addLayout(verticalLayout);
-
+       QPushButton* logNewBtn=new QPushButton(QIcon(":/images/new.png"),"",fr);
+       QPushButton* logSaveBtn=new QPushButton(QIcon(":/images/save.png"),"",fr);
+       QHBoxLayout* consoleLayout = new QHBoxLayout();
+       consoleLayout->addWidget(logNewBtn);
+       connect(logNewBtn,SIGNAL(clicked()),this,SLOT(slotNewLog()));
+       connect(logSaveBtn,SIGNAL(clicked()),this,SLOT(slotSaveLog()));
+       consoleLayout->addWidget(logSaveBtn);
+       consoleLayout->addStretch();
+       fr->setLayout(consoleLayout);
        setCentralWidget(centralwidget);
 
 
@@ -190,9 +200,9 @@ void CMainWindow::slotPaste()
 
 void CMainWindow::slotAbout()
 {
-   QMessageBox::about(this, tr("About MDI"),
-            tr("The <b>MDI</b> example demonstrates how to write multiple "
-               "document interface applications using Qt."));
+   QMessageBox::about(this, tr("About GVEdit\n"),
+            tr("<b>GVEdit</b> Graph File Editor For Graphviz\n"
+           "Version:1.01"));
 }
 
 
@@ -209,6 +219,43 @@ void CMainWindow::slotRun()
        frmSettings->showSettings(activeMdiChild());
 
 
+}
+void CMainWindow::slotNewLog()
+{
+    globTextEdit->clear();
+}
+void CMainWindow::slotSaveLog()
+{
+
+    if(globTextEdit->toPlainText().trimmed().length()==0)
+    {
+       QMessageBox::warning(this, tr("GvEdit"),tr("Nothing to save!"),QMessageBox::Ok,QMessageBox::Ok);
+       return;
+
+
+    }
+
+    QString fileName = QFileDialog::getSaveFileName(this, tr("Open File"),
+                                                "/",
+                                                 tr("Text File(*.*)"));
+ if (!fileName.isEmpty())
+ {
+
+    QFile file(fileName);
+    if (!file.open(QFile::WriteOnly | QFile::Text)) {
+        QMessageBox::warning(this, tr("MDI"),
+                             tr("Cannot write file %1:\n%2.")
+                             .arg(fileName)
+                             .arg(file.errorString()));
+        return;
+    }
+
+    QTextStream out(&file);
+    out << globTextEdit->toPlainText();
+    return;
+ }
+
+
 }
 
 void CMainWindow::updateFileMenu()
@@ -395,20 +442,21 @@ void CMainWindow::actions()
     aboutAct->setStatusTip(tr("Show the application's About box"));
     connect(aboutAct, SIGNAL(triggered()), this, SLOT(slotAbout()));
 
-    aboutQtAct = new QAction(tr("About &Qt"), this);
-    aboutQtAct->setStatusTip(tr("Show the Qt library's About box"));
-    connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
 
 
     settingsAct = new QAction(QIcon(":/images/settings.png"),tr("Settings"), this);
     settingsAct->setStatusTip(tr("Show Graphviz Settings"));
     connect(settingsAct, SIGNAL(triggered()), this, SLOT(slotSettings()));
+    settingsAct->setShortcut(QKeySequence(Qt::SHIFT + Qt::Key_F5));
+
 
 
 
     layoutAct = new QAction(QIcon(":/images/run.png"),tr("Layout"), this);
     layoutAct->setStatusTip(tr("Layout the active graph"));
     connect(layoutAct, SIGNAL(triggered()), this, SLOT(slotRun()));
+    layoutAct->setShortcut(QKeySequence(Qt::Key_F5));
+
 
 
 }
@@ -418,6 +466,7 @@ void CMainWindow::menus()
     mFile = menuBar()->addMenu(tr("&File"));
     mEdit = menuBar()->addMenu(tr("&Edit"));
     mWindow = menuBar()->addMenu(tr("&Window"));
+    mGraph =  menuBar()->addMenu (tr("&Graph"));
     mHelp = menuBar()->addMenu(tr("&Help"));
 
 
@@ -433,7 +482,6 @@ void CMainWindow::menus()
     mEdit->addAction(copyAct);
     mEdit->addAction(pasteAct);
 
-    mGraph =  menuBar()->addMenu (tr("&Graph"));
     mGraph->addAction(settingsAct);
     mGraph->addAction(layoutAct);
     mGraph->addSeparator();
@@ -442,7 +490,6 @@ void CMainWindow::menus()
     updateWindowMenu();
     connect(mWindow, SIGNAL(aboutToShow()), this, SLOT(slotRefreshMenus()));
     mHelp->addAction(aboutAct);
-    mHelp->addAction(aboutQtAct);
 }
 
 void CMainWindow::toolBars()
@@ -529,3 +576,4 @@ void CMainWindow::loadPlugins()
 {
 
 }
+
index 7824d514cd54f2ca66773dce219a9c5aa22eb535..a49c5ec7d391efbf25ad45050dbcd02d75eb8fd7 100644 (file)
@@ -40,7 +40,6 @@ public:
     CMainWindow();
     QMdiArea *mdiArea;
     void addFile (QString fileName);
-
 private slots:
     void slotSettings();
     void slotRun();
@@ -53,6 +52,8 @@ private slots:
     void slotPaste();
     void slotAbout();
     void slotRefreshMenus();
+    void slotNewLog();
+    void slotSaveLog();
     MdiChild *createMdiChild();
     void activateChild(QWidget *window);
 protected:
@@ -96,7 +97,6 @@ private:
     QAction *previousAct;
     QAction *separatorAct;
     QAction *aboutAct;
-    QAction *aboutQtAct;
 
     QAction *settingsAct;
     QAction *layoutAct;
index adcecc443a1db21a5bd5d5a9266113966d6d7405..cb6b73e7904b48de5361c56927c1434b8eb9d9b5 100644 (file)
@@ -162,7 +162,12 @@ void MdiChild::loadPreview(QString fileName)
     {
        previewFrm=new ImageViewer();
        previewFrm->graphWindow=this;
-       parentFrm->mdiArea->addSubWindow(previewFrm);
+       QMdiSubWindow* s=parentFrm->mdiArea->addSubWindow(previewFrm);
+
+       s->resize(600,400);
+       s->move(parentFrm->mdiArea->subWindowList().count()*5,parentFrm->mdiArea->subWindowList().count()*5);
+       previewFrm->subWindowRef=s;
+
     }
     previewFrm->open(fileName);
     previewFrm->show();
index ff05bb729dce9015390fbaaf73d666148bef6008..550b9f63cbcc6159422c8822d9faf8a57a15ffb3 100644 (file)
@@ -6,10 +6,28 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>403</width>
+    <width>404</width>
     <height>512</height>
    </rect>
   </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>404</width>
+    <height>512</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>404</width>
+    <height>512</height>
+   </size>
+  </property>
   <property name="windowTitle">
    <string>Dialog</string>
   </property>
      <rect>
       <x>2</x>
       <y>0</y>
-      <width>436</width>
+      <width>401</width>
       <height>62</height>
      </rect>
     </property>
index 278b2b811eb2adb6d6034b996a882a0ae3d7be17..6015d9861c9b810ab54680388b3d9be4b5eb223b 100644 (file)
@@ -1,7 +1,7 @@
 /********************************************************************************
 ** Form generated from reading UI file 'settings.ui'
 **
-** Created: Tue Mar 1 14:00:08 2011
+** Created: Thu Mar 3 11:30:17 2011
 **      by: Qt User Interface Compiler version 4.7.0
 **
 ** WARNING! All changes made in this file will be lost when recompiling UI file!
@@ -85,7 +85,14 @@ public:
     {
         if (Dialog->objectName().isEmpty())
             Dialog->setObjectName(QString::fromUtf8("Dialog"));
-        Dialog->resize(403, 512);
+        Dialog->resize(404, 512);
+        QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
+        sizePolicy.setHorizontalStretch(0);
+        sizePolicy.setVerticalStretch(0);
+        sizePolicy.setHeightForWidth(Dialog->sizePolicy().hasHeightForWidth());
+        Dialog->setSizePolicy(sizePolicy);
+        Dialog->setMinimumSize(QSize(404, 512));
+        Dialog->setMaximumSize(QSize(404, 512));
         actionCSettingsOK = new QAction(Dialog);
         actionCSettingsOK->setObjectName(QString::fromUtf8("actionCSettingsOK"));
         frame = new QFrame(Dialog);
@@ -180,7 +187,7 @@ public:
         frame_2->setFrameShadow(QFrame::Raised);
         layoutWidget1 = new QWidget(frame_2);
         layoutWidget1->setObjectName(QString::fromUtf8("layoutWidget1"));
-        layoutWidget1->setGeometry(QRect(2, 0, 436, 62));
+        layoutWidget1->setGeometry(QRect(2, 0, 401, 62));
         horizontalLayout_7 = new QHBoxLayout(layoutWidget1);
         horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7"));
         horizontalLayout_7->setContentsMargins(0, 0, 0, 0);
index 0fae3a01bfe8b736434915880a2fa6bbf197ef5b..10c4fe6de772766040ccc25b37238065fe26f79e 100644 (file)
Binary files a/cmd/gvedit/vc90.idb and b/cmd/gvedit/vc90.idb differ
index ad033189877b0c229a847717d3d64f5ee8b54953..5181306abb18c79cd77c89a224a7588baedbb86a 100644 (file)
Binary files a/cmd/gvedit/vc90.pdb and b/cmd/gvedit/vc90.pdb differ