| 75 | } |
| 76 | |
| 77 | GistMainWindow::GistMainWindow(Space* root, bool bab, |
| 78 | const Options& opt0) |
| 79 | : opt(opt0), aboutGist(this) { |
| 80 | c = new Gist(root,bab,this,opt); |
| 81 | setCentralWidget(c); |
| 82 | setWindowTitle(tr("Gist")); |
| 83 | |
| 84 | Logos logos; |
| 85 | QPixmap myPic; |
| 86 | myPic.loadFromData(logos.gistLogo, logos.gistLogoSize); |
| 87 | setWindowIcon(myPic); |
| 88 | |
| 89 | resize(500,500); |
| 90 | setMinimumSize(400, 200); |
| 91 | |
| 92 | menuBar = new QMenuBar(0); |
| 93 | |
| 94 | QMenu* fileMenu = menuBar->addMenu(tr("&File")); |
| 95 | fileMenu->addAction(c->print); |
| 96 | #if QT_VERSION >= 0x040400 |
| 97 | fileMenu->addAction(c->exportWholeTreePDF); |
| 98 | #endif |
| 99 | QAction* quitAction = fileMenu->addAction(tr("Quit")); |
| 100 | quitAction->setShortcut(QKeySequence("Ctrl+Q")); |
| 101 | connect(quitAction, SIGNAL(triggered()), |
| 102 | this, SLOT(close())); |
| 103 | prefAction = fileMenu->addAction(tr("Preferences")); |
| 104 | connect(prefAction, SIGNAL(triggered()), this, SLOT(preferences())); |
| 105 | |
| 106 | QMenu* nodeMenu = menuBar->addMenu(tr("&Node")); |
| 107 | |
| 108 | inspectNodeMenu = new QMenu("Inspect"); |
| 109 | inspectNodeMenu->addAction(c->inspect); |
| 110 | connect(inspectNodeMenu, SIGNAL(aboutToShow()), |
| 111 | this, SLOT(populateInspectors())); |
| 112 | |
| 113 | inspectNodeBeforeFPMenu = new QMenu("Inspect before fixpoint"); |
| 114 | inspectNodeBeforeFPMenu->addAction(c->inspectBeforeFP); |
| 115 | connect(inspectNodeBeforeFPMenu, SIGNAL(aboutToShow()), |
| 116 | this, SLOT(populateInspectors())); |
| 117 | populateInspectors(); |
| 118 | |
| 119 | nodeMenu->addMenu(inspectNodeMenu); |
| 120 | nodeMenu->addMenu(inspectNodeBeforeFPMenu); |
| 121 | nodeMenu->addAction(c->compareNode); |
| 122 | nodeMenu->addAction(c->compareNodeBeforeFP); |
| 123 | nodeMenu->addAction(c->setPath); |
| 124 | nodeMenu->addAction(c->inspectPath); |
| 125 | nodeMenu->addAction(c->showNodeStats); |
| 126 | bookmarksMenu = new QMenu("Bookmarks"); |
| 127 | bookmarksMenu->addAction(c->bookmarkNode); |
| 128 | connect(bookmarksMenu, SIGNAL(aboutToShow()), |
| 129 | this, SLOT(populateBookmarks())); |
| 130 | nodeMenu->addMenu(bookmarksMenu); |
| 131 | nodeMenu->addSeparator(); |
| 132 | nodeMenu->addAction(c->navUp); |
| 133 | nodeMenu->addAction(c->navDown); |
| 134 | nodeMenu->addAction(c->navLeft); |