//============================================================== void TulipApp::saveInterface(int index) { Controller *controller=tabIndexToController[index]; saveActions(menuBar(),controller,controllerToMenu); saveActions(graphToolBar,controller,controllerToGraphToolBar); saveActions(toolBar,controller,controllerToToolBar); controllerToDockWidget[controller].clear(); controllerToCustomToolBar[controller].clear(); controllerToWidgetVisible[controller].clear(); QObjectList objectList=this->children(); for(QObjectList::iterator it=objectList.begin(); it!=objectList.end(); ++it) { QDockWidget *widget=dynamic_cast<QDockWidget *>(*it); if(widget) { Qt::DockWidgetArea area=dockWidgetArea(widget); if(area!=Qt::NoDockWidgetArea) { controllerToDockWidget[controller].push_back(pair<Qt::DockWidgetArea,QDockWidget *>(area,widget)); controllerToWidgetVisible[controller].push_back(pair<QWidget *, bool>(widget, widget->isVisible())); } } QToolBar *tb = dynamic_cast<QToolBar *>(*it); if (tb && tb != toolBar && tb != graphToolBar) { Qt::ToolBarArea area = toolBarArea(tb); controllerToCustomToolBar[controller].push_back(pair<Qt::ToolBarArea, QToolBar *>(area, tb)); controllerToWidgetVisible[controller].push_back(pair<QWidget *, bool>(tb, tb->isVisible())); } } controllerToWidgetVisible[controller].push_back(pair<QWidget *, bool>(graphToolBar, graphToolBar->isVisible())); controllerToWidgetVisible[controller].push_back(pair<QWidget *, bool>(toolBar, toolBar->isVisible())); pair<string,string > tmp(statusBar()->currentMessage().toStdString(),string()); objectList=statusBar()->children(); for(QObjectList::iterator it=objectList.begin(); it!=objectList.end(); ++it) { QLabel *widget=dynamic_cast<QLabel*>(*it); if(widget) tmp.second=widget->text().toStdString(); } controllerToStatusBar[tabIndexToController[index]]=tmp; }