Does no longer rely on proper indexes (corresponding index in the listWidget and
in the stackedWidget) but actually remebers which plane belongs to which
list entry
setCentralWidget(stackedWidget);
connect(listWidget, SIGNAL(currentRowChanged(int)),
setCentralWidget(stackedWidget);
connect(listWidget, SIGNAL(currentRowChanged(int)),
- stackedWidget, SLOT(setCurrentIndex(int)));
+ this, SLOT(switchMainPlane(int)));
setWindowTitle(tr("FRIDA"));
setWindowTitle(tr("FRIDA"));
manager->reset(fileName.toStdString());
}
manager->reset(fileName.toStdString());
}
+void Mainwindow::switchMainPlane(int index) {
+ stackedWidget->setCurrentWidget(objects_list[listWidget->currentItem()]);
+}
+
void Mainwindow::showListContextMenu(const QPoint& point) {
QListWidgetItem * item = listWidget->itemAt(point);
if (item) {
void Mainwindow::showListContextMenu(const QPoint& point) {
QListWidgetItem * item = listWidget->itemAt(point);
if (item) {
- listWidget->addItem(fun->getName().c_str());
+ QListWidgetItem * item = new QListWidgetItem(fun->getName().c_str(), listWidget);
stackedWidget->addWidget(w);
stackedWidget->addWidget(w);
+ objects_list.insert(std::make_pair(item, w));
QAction *openAction;
std::map<uint64_t, BasicBlockWidget*> blocks;
QAction *openAction;
std::map<uint64_t, BasicBlockWidget*> blocks;
+ std::map<QListWidgetItem*, QWidget*> objects_list;
std::set<Function*> functions;
InformationManager* manager;
std::set<Function*> functions;
InformationManager* manager;
private Q_SLOTS:
void quit();
void open();
private Q_SLOTS:
void quit();
void open();
+ void switchMainPlane(int);
void showListContextMenu(const QPoint&);
void requestNewFunction();
};
void showListContextMenu(const QPoint&);
void requestNewFunction();
};