From: arif Date: Thu, 24 Feb 2011 17:44:43 +0000 (+0000) Subject: more gvedit development X-Git-Tag: LAST_LIBGRAPH~32^2~999 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cc84f5bd3902494fb5e7d5ce8cf6f2ab879ae3a0;p=graphviz more gvedit development --- diff --git a/cmd/gvedit/main.cpp b/cmd/gvedit/main.cpp index 289d34038..b48e39df8 100644 --- a/cmd/gvedit/main.cpp +++ b/cmd/gvedit/main.cpp @@ -61,7 +61,7 @@ int main(int argc, char *argv[]) Q_INIT_RESOURCE(mdi); QApplication app(argc, argv); - MainWindow mainWin; + CMainWindow mainWin; mainWin.show(); return app.exec(); } diff --git a/cmd/gvedit/mainwindow.cpp b/cmd/gvedit/mainwindow.cpp index e1eb57e31..111c8e86e 100644 --- a/cmd/gvedit/mainwindow.cpp +++ b/cmd/gvedit/mainwindow.cpp @@ -1,45 +1,4 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - #include - #include "mainwindow.h" #include "mdichild.h" #include "csettings.h" @@ -90,7 +49,7 @@ void LoadLayouts(QComboBox* cb) gvFreeLayout(gvc, g); } -MainWindow::MainWindow() +CMainWindow::CMainWindow() { QWidget* centralwidget = new QWidget(this); @@ -122,17 +81,17 @@ MainWindow::MainWindow() connect(mdiArea, SIGNAL(subWindowActivated(QMdiSubWindow*)), - this, SLOT(updateMenus())); + this, SLOT(slotRefreshMenus())); windowMapper = new QSignalMapper(this); connect(windowMapper, SIGNAL(mapped(QWidget*)), this, SLOT(setActiveSubWindow(QWidget*))); frmSettings= new CFrmSettings(); - createActions(); - createMenus(); - createToolBars(); - createStatusBar(); + actions(); + menus(); + toolBars(); + statusBar(); updateMenus(); readSettings(); @@ -144,9 +103,10 @@ MainWindow::MainWindow() // (QComboBox*)frmSettings->findChild("cbLayout") LoadLayouts((QComboBox*)frmSettings->findChild("cbLayout")); LoadRenderers((QComboBox*)frmSettings->findChild("cbExtension")); + statusBar()->showMessage(tr("Ready")); } -void MainWindow::closeEvent(QCloseEvent *event) +void CMainWindow::closeEvent(QCloseEvent *event) { mdiArea->closeAllSubWindows(); if (mdiArea->currentSubWindow()) { @@ -157,14 +117,14 @@ void MainWindow::closeEvent(QCloseEvent *event) } } -void MainWindow::newFile() +void CMainWindow::slotNew() { MdiChild *child = createMdiChild(); child->newFile(); child->show(); } -void MainWindow::open() +void CMainWindow::slotOpen() { QStringList filters; filters << "*.cpp" << "*.cxx" << "*.cc"; @@ -191,37 +151,37 @@ void MainWindow::open() } } -void MainWindow::save() +void CMainWindow::slotSave() { if (activeMdiChild() && activeMdiChild()->save()) statusBar()->showMessage(tr("File saved"), 2000); } -void MainWindow::saveAs() +void CMainWindow::slotSaveAs() { if (activeMdiChild() && activeMdiChild()->saveAs()) statusBar()->showMessage(tr("File saved"), 2000); } -void MainWindow::cut() +void CMainWindow::slotCut() { if (activeMdiChild()) activeMdiChild()->cut(); } -void MainWindow::copy() +void CMainWindow::slotCopy() { if (activeMdiChild()) activeMdiChild()->copy(); } -void MainWindow::paste() +void CMainWindow::slotPaste() { if (activeMdiChild()) activeMdiChild()->paste(); } -void MainWindow::about() +void CMainWindow::slotAbout() { QMessageBox::about(this, tr("About MDI"), tr("The MDI example demonstrates how to write multiple " @@ -229,47 +189,81 @@ void MainWindow::about() } -void MainWindow::settings() +void CMainWindow::slotSettings() { frmSettings->showSettings(activeMdiChild()); } +void CMainWindow::updateFileMenu() +{ + if (!activeMdiChild()) + { + saveAct->setEnabled(false); + saveAsAct->setEnabled(false); + pasteAct->setEnabled(false); + closeAct->setEnabled(false); + closeAllAct->setEnabled(false); + tileAct->setEnabled(false); + cascadeAct->setEnabled(false); + nextAct->setEnabled(false); + previousAct->setEnabled(false); + separatorAct->setVisible(false); + } + else + { + saveAct->setEnabled(true); + saveAsAct->setEnabled(true); + pasteAct->setEnabled(true); + closeAct->setEnabled(true); + closeAllAct->setEnabled(true); + tileAct->setEnabled(true); + cascadeAct->setEnabled(true); + nextAct->setEnabled(true); + previousAct->setEnabled(true); + separatorAct->setVisible(true); + if(activeMdiChild()->textCursor().hasSelection()) + { + cutAct->setEnabled(true); + copyAct->setEnabled(true); + + } + else + { + cutAct->setEnabled(false); + copyAct->setEnabled(false); + + } -void MainWindow::updateMenus() + } + +} + +void CMainWindow::slotRefreshMenus() +{ + updateMenus(); +} +void CMainWindow::updateMenus() { - bool hasMdiChild = (activeMdiChild() != 0); - saveAct->setEnabled(hasMdiChild); - saveAsAct->setEnabled(hasMdiChild); - pasteAct->setEnabled(hasMdiChild); - closeAct->setEnabled(hasMdiChild); - closeAllAct->setEnabled(hasMdiChild); - tileAct->setEnabled(hasMdiChild); - cascadeAct->setEnabled(hasMdiChild); - nextAct->setEnabled(hasMdiChild); - previousAct->setEnabled(hasMdiChild); - separatorAct->setVisible(hasMdiChild); - - bool hasSelection = (activeMdiChild() && - activeMdiChild()->textCursor().hasSelection()); - cutAct->setEnabled(hasSelection); - copyAct->setEnabled(hasSelection); + this->updateFileMenu(); + this->updateWindowMenu(); + } -void MainWindow::updateWindowMenu() +void CMainWindow::updateWindowMenu() { - windowMenu->clear(); - windowMenu->addAction(closeAct); - windowMenu->addAction(closeAllAct); - windowMenu->addSeparator(); - windowMenu->addAction(tileAct); - windowMenu->addAction(cascadeAct); - windowMenu->addSeparator(); - windowMenu->addAction(nextAct); - windowMenu->addAction(previousAct); - windowMenu->addAction(separatorAct); + mWindow->clear(); + mWindow->addAction(closeAct); + mWindow->addAction(closeAllAct); + mWindow->addSeparator(); + mWindow->addAction(tileAct); + mWindow->addAction(cascadeAct); + mWindow->addSeparator(); + mWindow->addAction(nextAct); + mWindow->addAction(previousAct); + mWindow->addAction(separatorAct); QList windows = mdiArea->subWindowList(); separatorAct->setVisible(!windows.isEmpty()); @@ -286,7 +280,7 @@ void MainWindow::updateWindowMenu() text = tr("%1 %2").arg(i + 1) .arg(child->userFriendlyCurrentFile()); } - QAction *action = windowMenu->addAction(text); + QAction *action = mWindow->addAction(text); action->setCheckable(true); action ->setChecked(child == activeMdiChild()); connect(action, SIGNAL(triggered()), windowMapper, SLOT(map())); @@ -295,7 +289,7 @@ void MainWindow::updateWindowMenu() } } -MdiChild *MainWindow::createMdiChild() +MdiChild *CMainWindow::createMdiChild() { MdiChild *child = new MdiChild; child->parentFrm=this; @@ -310,62 +304,55 @@ MdiChild *MainWindow::createMdiChild() return child; } -void MainWindow::createActions() +void CMainWindow::actions() { newAct = new QAction(QIcon(":/images/new.png"), tr("&New"), this); newAct->setShortcuts(QKeySequence::New); newAct->setStatusTip(tr("Create a new file")); - connect(newAct, SIGNAL(triggered()), this, SLOT(newFile())); + connect(newAct, SIGNAL(triggered()), this, SLOT(slotNew())); openAct = new QAction(QIcon(":/images/open.png"), tr("&Open..."), this); openAct->setShortcuts(QKeySequence::Open); openAct->setStatusTip(tr("Open an existing file")); - connect(openAct, SIGNAL(triggered()), this, SLOT(open())); + connect(openAct, SIGNAL(triggered()), this, SLOT(slotOpen())); saveAct = new QAction(QIcon(":/images/save.png"), tr("&Save"), this); saveAct->setShortcuts(QKeySequence::Save); saveAct->setStatusTip(tr("Save the document to disk")); - connect(saveAct, SIGNAL(triggered()), this, SLOT(save())); + connect(saveAct, SIGNAL(triggered()), this, SLOT(slotSave())); saveAsAct = new QAction(tr("Save &As..."), this); saveAsAct->setShortcuts(QKeySequence::SaveAs); saveAsAct->setStatusTip(tr("Save the document under a new name")); - connect(saveAsAct, SIGNAL(triggered()), this, SLOT(saveAs())); - -//! [0] + connect(saveAsAct, SIGNAL(triggered()), this, SLOT(slotSaveAs())); exitAct = new QAction(tr("E&xit"), this); exitAct->setShortcuts(QKeySequence::Quit); exitAct->setStatusTip(tr("Exit the application")); connect(exitAct, SIGNAL(triggered()), qApp, SLOT(closeAllWindows())); -//! [0] - cutAct = new QAction(QIcon(":/images/cut.png"), tr("Cu&t"), this); cutAct->setShortcuts(QKeySequence::Cut); - cutAct->setStatusTip(tr("Cut the current selection's contents to the " - "clipboard")); - connect(cutAct, SIGNAL(triggered()), this, SLOT(cut())); + cutAct->setStatusTip(tr("Cut the current selection's contents to the ""clipboard")); + connect(cutAct, SIGNAL(triggered()), this, SLOT(slotCut())); copyAct = new QAction(QIcon(":/images/copy.png"), tr("&Copy"), this); copyAct->setShortcuts(QKeySequence::Copy); copyAct->setStatusTip(tr("Copy the current selection's contents to the " "clipboard")); - connect(copyAct, SIGNAL(triggered()), this, SLOT(copy())); + connect(copyAct, SIGNAL(triggered()), this, SLOT(slotCopy())); pasteAct = new QAction(QIcon(":/images/paste.png"), tr("&Paste"), this); pasteAct->setShortcuts(QKeySequence::Paste); pasteAct->setStatusTip(tr("Paste the clipboard's contents into the current " "selection")); - connect(pasteAct, SIGNAL(triggered()), this, SLOT(paste())); + connect(pasteAct, SIGNAL(triggered()), this, SLOT(slotPaste())); closeAct = new QAction(tr("Cl&ose"), this); closeAct->setStatusTip(tr("Close the active window")); - connect(closeAct, SIGNAL(triggered()), - mdiArea, SLOT(closeActiveSubWindow())); + connect(closeAct, SIGNAL(triggered()),mdiArea, SLOT(closeActiveSubWindow())); closeAllAct = new QAction(tr("Close &All"), this); closeAllAct->setStatusTip(tr("Close all the windows")); - connect(closeAllAct, SIGNAL(triggered()), - mdiArea, SLOT(closeAllSubWindows())); + connect(closeAllAct, SIGNAL(triggered()),mdiArea, SLOT(closeAllSubWindows())); tileAct = new QAction(tr("&Tile"), this); tileAct->setStatusTip(tr("Tile the windows")); @@ -378,22 +365,19 @@ void MainWindow::createActions() nextAct = new QAction(tr("Ne&xt"), this); nextAct->setShortcuts(QKeySequence::NextChild); nextAct->setStatusTip(tr("Move the focus to the next window")); - connect(nextAct, SIGNAL(triggered()), - mdiArea, SLOT(activateNextSubWindow())); + connect(nextAct, SIGNAL(triggered()),mdiArea, SLOT(activateNextSubWindow())); previousAct = new QAction(tr("Pre&vious"), this); previousAct->setShortcuts(QKeySequence::PreviousChild); - previousAct->setStatusTip(tr("Move the focus to the previous " - "window")); - connect(previousAct, SIGNAL(triggered()), - mdiArea, SLOT(activatePreviousSubWindow())); + previousAct->setStatusTip(tr("Move the focus to the previous window")); + connect(previousAct, SIGNAL(triggered()),mdiArea, SLOT(activatePreviousSubWindow())); separatorAct = new QAction(this); separatorAct->setSeparator(true); aboutAct = new QAction(tr("&About"), this); aboutAct->setStatusTip(tr("Show the application's About box")); - connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); + connect(aboutAct, SIGNAL(triggered()), this, SLOT(slotAbout())); aboutQtAct = new QAction(tr("About &Qt"), this); aboutQtAct->setStatusTip(tr("Show the Qt library's About box")); @@ -402,7 +386,7 @@ void MainWindow::createActions() settingsAct = new QAction(tr("Settings"), this); settingsAct->setStatusTip(tr("Show Graphviz Settings")); - connect(settingsAct, SIGNAL(triggered()), this, SLOT(settings())); + connect(settingsAct, SIGNAL(triggered()), this, SLOT(slotSettings())); @@ -413,62 +397,58 @@ void MainWindow::createActions() } -void MainWindow::createMenus() +void CMainWindow::menus() { - fileMenu = menuBar()->addMenu(tr("&File")); - fileMenu->addAction(newAct); - fileMenu->addAction(openAct); - fileMenu->addAction(saveAct); - fileMenu->addAction(saveAsAct); - fileMenu->addSeparator(); - QAction *action = fileMenu->addAction(tr("Switch layout direction")); - connect(action, SIGNAL(triggered()), this, SLOT(switchLayoutDirection())); - fileMenu->addAction(exitAct); - - editMenu = menuBar()->addMenu(tr("&Edit")); - editMenu->addAction(cutAct); - editMenu->addAction(copyAct); - editMenu->addAction(pasteAct); - - graphMenu = menuBar()->addMenu (tr("&Graph")); - graphMenu->addAction(settingsAct); - graphMenu->addAction(layoutAct); - - windowMenu = menuBar()->addMenu(tr("&Window")); - updateWindowMenu(); - connect(windowMenu, SIGNAL(aboutToShow()), this, SLOT(updateWindowMenu())); + mFile = menuBar()->addMenu(tr("&File")); + mEdit = menuBar()->addMenu(tr("&Edit")); + mWindow = menuBar()->addMenu(tr("&Window")); + mHelp = menuBar()->addMenu(tr("&Help")); - menuBar()->addSeparator(); - helpMenu = menuBar()->addMenu(tr("&Help")); - helpMenu->addAction(aboutAct); - helpMenu->addAction(aboutQtAct); -} + mFile->addAction(newAct); + mFile->addAction(openAct); + mFile->addAction(saveAct); + mFile->addAction(saveAsAct); + mFile->addSeparator(); -void MainWindow::createToolBars() -{ - fileToolBar = addToolBar(tr("File")); - fileToolBar->addAction(newAct); - fileToolBar->addAction(openAct); - fileToolBar->addAction(saveAct); + mFile->addAction(exitAct); - editToolBar = addToolBar(tr("Edit")); - editToolBar->addAction(cutAct); - editToolBar->addAction(copyAct); - editToolBar->addAction(pasteAct); + mEdit->addAction(cutAct); + mEdit->addAction(copyAct); + mEdit->addAction(pasteAct); - graphToolBar = addToolBar(tr("Graph")); - graphToolBar->addAction(settingsAct); - graphToolBar->addAction(layoutAct); + mGraph = menuBar()->addMenu (tr("&Graph")); + mGraph->addAction(settingsAct); + mGraph->addAction(layoutAct); + mGraph->addSeparator(); + loadPlugins(); + updateWindowMenu(); + connect(mWindow, SIGNAL(aboutToShow()), this, SLOT(slotRefreshMenus())); + mHelp->addAction(aboutAct); + mHelp->addAction(aboutQtAct); } -void MainWindow::createStatusBar() +void CMainWindow::toolBars() { - statusBar()->showMessage(tr("Ready")); + tbFile = addToolBar(tr("File")); + tbFile->addAction(newAct); + tbFile->addAction(openAct); + tbFile->addAction(saveAct); + + tbEdit = addToolBar(tr("Edit")); + tbEdit->addAction(cutAct); + tbEdit->addAction(copyAct); + tbEdit->addAction(pasteAct); + + tbGraph = addToolBar(tr("Graph")); + tbGraph->addAction(settingsAct); + tbGraph->addAction(layoutAct); + } -void MainWindow::readSettings() + +void CMainWindow::readSettings() { QSettings settings("Trolltech", "MDI Example"); QPoint pos = settings.value("pos", QPoint(200, 200)).toPoint(); @@ -477,14 +457,14 @@ void MainWindow::readSettings() resize(size); } -void MainWindow::writeSettings() +void CMainWindow::writeSettings() { QSettings settings("Trolltech", "MDI Example"); settings.setValue("pos", pos()); settings.setValue("size", size()); } -MdiChild *MainWindow::activeMdiChild() +MdiChild *CMainWindow::activeMdiChild() { if (QMdiSubWindow *activeSubWindow = mdiArea->activeSubWindow()) { @@ -497,7 +477,7 @@ MdiChild *MainWindow::activeMdiChild() return 0; } -QMdiSubWindow *MainWindow::findMdiChild(const QString &fileName) +QMdiSubWindow *CMainWindow::findMdiChild(const QString &fileName) { QString canonicalFilePath = QFileInfo(fileName).canonicalFilePath(); @@ -523,17 +503,13 @@ QMdiSubWindow *MainWindow::findMdiChild(const QString &fileName) return 0; } -void MainWindow::switchLayoutDirection() -{ - if (layoutDirection() == Qt::LeftToRight) - qApp->setLayoutDirection(Qt::RightToLeft); - else - qApp->setLayoutDirection(Qt::LeftToRight); -} - -void MainWindow::setActiveSubWindow(QWidget *window) +void CMainWindow::setActiveSubWindow(QWidget *window) { if (!window) return; mdiArea->setActiveSubWindow(qobject_cast(window)); } +void CMainWindow::loadPlugins() +{ + +} \ No newline at end of file diff --git a/cmd/gvedit/mainwindow.h b/cmd/gvedit/mainwindow.h index 2d77e39f9..fca8b0da3 100644 --- a/cmd/gvedit/mainwindow.h +++ b/cmd/gvedit/mainwindow.h @@ -1,6 +1,10 @@ +/* +Core structures of mdi windowing code is either inspired or directly copied from Nokia Corporation's QT Toolkit examples. +These examples are published under the terms of the BSD +*/ -#ifndef MAINWINDOW_H -#define MAINWINDOW_H +#ifndef CMAINWINDOW_H +#define CMAINWINDOW_H #include #include "ui_settings.h" @@ -15,55 +19,52 @@ class QMdiSubWindow; class QSignalMapper; QT_END_NAMESPACE -class MainWindow : public QMainWindow +class CMainWindow : public QMainWindow { Q_OBJECT public: - MainWindow(); + CMainWindow(); QMdiArea *mdiArea; +private slots: + void slotSettings(); + void slotNew(); + void slotOpen(); + void slotSave(); + void slotSaveAs(); + void slotCut(); + void slotCopy(); + void slotPaste(); + void slotAbout(); + void slotRefreshMenus(); + MdiChild *createMdiChild(); + void activateChild(QWidget *window); protected: void closeEvent(QCloseEvent *event); -private slots: - void newFile(); - void open(); - void save(); - void saveAs(); - void cut(); - void copy(); - void paste(); - void about(); - void updateMenus(); - void updateWindowMenu(); - MdiChild *createMdiChild(); - void switchLayoutDirection(); - void setActiveSubWindow(QWidget *window); - void settings(); private: - void createActions(); - void createMenus(); - void createToolBars(); - void createStatusBar(); + void actions(); + void menus(); + void updateMenus(); + void updateWindowMenu(); + void updateFileMenu(); + void toolBars(); void readSettings(); void writeSettings(); + void loadPlugins(); MdiChild *activeMdiChild(); QMdiSubWindow *findMdiChild(const QString &fileName); - QSignalMapper *windowMapper; - QMenu *fileMenu; - QMenu *editMenu; - QMenu *graphMenu; - QMenu *windowMenu; - QMenu *helpMenu; - QToolBar *fileToolBar; - QToolBar *editToolBar; - QToolBar *graphToolBar; + + QToolBar *tbFile; + QToolBar *tbEdit; + QToolBar *tbGraph; + QAction *newAct; QAction *openAct; QAction *saveAct; @@ -85,8 +86,14 @@ private: QAction *settingsAct; QAction *layoutAct; - CFrmSettings* frmSettings; + //menus + QMenu *mFile; + QMenu *mEdit; + QMenu *mGraph; + QMenu *mWindow; + QMenu *mHelp; + }; #endif diff --git a/cmd/gvedit/mdichild.h b/cmd/gvedit/mdichild.h index fa5f7e4e3..83f2b8d23 100644 --- a/cmd/gvedit/mdichild.h +++ b/cmd/gvedit/mdichild.h @@ -43,7 +43,7 @@ #include #include "imageviewer.h" -class MainWindow; +class CMainWindow; class MdiChild : public QTextEdit { @@ -66,7 +66,7 @@ public: bool applyCairo; QString attributes; ImageViewer* previewFrm; - MainWindow* parentFrm; + CMainWindow* parentFrm; void loadPreview(QString fileName); protected: void closeEvent(QCloseEvent *event); diff --git a/cmd/gvedit/ui_settings.h b/cmd/gvedit/ui_settings.h index aa5f6a54d..8c7743107 100644 --- a/cmd/gvedit/ui_settings.h +++ b/cmd/gvedit/ui_settings.h @@ -1,7 +1,7 @@ /******************************************************************************** ** Form generated from reading UI file 'settings.ui' ** -** Created: Wed Feb 23 16:12:05 2011 +** Created: Thu Feb 24 12:31:24 2011 ** by: Qt User Interface Compiler version 4.7.0 ** ** WARNING! All changes made in this file will be lost when recompiling UI file! diff --git a/cmd/gvedit/vc90.idb b/cmd/gvedit/vc90.idb index 6050567be..27f21fc59 100644 Binary files a/cmd/gvedit/vc90.idb and b/cmd/gvedit/vc90.idb differ diff --git a/cmd/gvedit/vc90.pdb b/cmd/gvedit/vc90.pdb index 9a67729b4..b05d57282 100644 Binary files a/cmd/gvedit/vc90.pdb and b/cmd/gvedit/vc90.pdb differ