void MainWindow::makeUI() { setObjectName(QString::fromUtf8("MainWindow")); #if 1 action_Exit = new QAction(this); action_Exit->setObjectName(QString::fromUtf8("action_Exit")); //connect(action_Exit, SIGNAL(triggered()), qApp, SLOT(quit())); connect(action_Exit, SIGNAL(triggered()), this, SLOT(close())); #endif centralwidget = new QWidget(this); centralwidget->setObjectName(QString::fromUtf8("centralwidget")); widget = new QWidget(centralwidget); widget->setObjectName(QString::fromUtf8("widget")); widget->setGeometry(QRect(190, 0, 1080, 821)); widget->setMinimumSize(QSize(400, 0)); vboxLayout = new QVBoxLayout(widget); vboxLayout->setSpacing(0); vboxLayout->setMargin(0); vboxLayout->setObjectName(QString::fromUtf8("vboxLayout")); dockWidget = new QDockWidget(widget); dockWidget->setObjectName(QString::fromUtf8("dockWidget")); QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(7), static_cast<QSizePolicy::Policy>(7)); sizePolicy.setHorizontalStretch(0); sizePolicy.setVerticalStretch(0); sizePolicy.setHeightForWidth(dockWidget->sizePolicy().hasHeightForWidth()); dockWidget->setSizePolicy(sizePolicy); dockWidgetContents = new QWidget(dockWidget); dockWidgetContents->setObjectName(QString::fromUtf8("dockWidgetContents")); vdockLayout = new QVBoxLayout(widget); vdockLayout->setSpacing(0); vdockLayout->setMargin(0); vdockLayout->setObjectName(QString::fromUtf8("vdockLayout")); stackedWidget = new QStackedWidget(dockWidgetContents); stackedWidget->setObjectName(QString::fromUtf8("stackedWidget")); stackedWidget->setGeometry(QRect(0, 0, 1080, 821)); dockWidget->setWidget(dockWidgetContents); vboxLayout->addWidget(dockWidget); dockWidgetContents->setLayout(vdockLayout); vdockLayout->addWidget(stackedWidget); tabWidget = new QTabWidget(centralwidget); tabWidget->setObjectName(QString::fromUtf8("tabWidget")); tabWidget->setGeometry(QRect(0, 0, 190, 821)); QSizePolicy sizePolicy1(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(5)); sizePolicy1.setHorizontalStretch(0); sizePolicy1.setVerticalStretch(0); sizePolicy1.setHeightForWidth(tabWidget->sizePolicy().hasHeightForWidth()); tabWidget->setSizePolicy(sizePolicy1); tabWidget->setMaximumSize(QSize(16777215, 16777215)); tabWidget->setTabPosition(QTabWidget::West); tabWidget->setTabShape(QTabWidget::Triangular); tabWidget->setElideMode(Qt::ElideNone); tab_0 = new QWidget(); tab_0->setObjectName(QString::fromUtf8("tab_0")); QFont font; font.setPointSize(14); vboxLayout0 = new QVBoxLayout(tab_0); vboxLayout0->setSpacing(6); vboxLayout0->setMargin(9); vboxLayout0->setAlignment(Qt::AlignTop); vboxLayout0->setObjectName(QString::fromUtf8("vboxLayout0")); pushButton[0] = new QPushButton(tab_0); pushButton[0]->setObjectName(QString::fromUtf8("pushButton_0")); pushButton[0]->setFont(font); pushButton[0]->setText(QApplication::translate("MainWindow", "PMS In Board", 0, QApplication::UnicodeUTF8)); vboxLayout0->addWidget(pushButton[0]); pushButton[1] = new QPushButton(tab_0); pushButton[1]->setObjectName(QString::fromUtf8("pushButton_1")); pushButton[1]->setFont(font); pushButton[1]->setText(QApplication::translate("MainWindow", "PMS Out Board", 0, QApplication::UnicodeUTF8)); vboxLayout0->addWidget(pushButton[1]); QSpacerItem *spacerItem; //spacerItem = new QSpacerItem(31, 61, QSizePolicy::Minimum, QSizePolicy::Expanding); spacerItem = new QSpacerItem(31, 61, QSizePolicy::Minimum, QSizePolicy::Fixed); vboxLayout0->addItem(spacerItem); //Add Code. archiveList = new QComboBox(tab_0); archiveList->setObjectName(QString::fromUtf8("archiveList")); vboxLayout0->addWidget(archiveList); Start_dateTime = new QDateTimeEdit(tab_0); Start_dateTime->setObjectName(QString::fromUtf8("Start_dateTime")); Start_dateTime->setDisplayFormat("yyyy/MM/dd hh:mm:ss"); Start_dateTime->setDateTime(QDateTime(QDate(2012,5,29), QTime(12,0,0))); vboxLayout0->addWidget(Start_dateTime); End_dateTime = new QDateTimeEdit(tab_0); End_dateTime->setObjectName(QString::fromUtf8("End_dateTime")); End_dateTime->setDisplayFormat("yyyy/MM/dd hh:mm:ss"); End_dateTime->setDateTime(QDateTime(QDate(2012,5,29), QTime(13,0,0))); vboxLayout0->addWidget(End_dateTime); RButton = new QPushButton(tab_0); RButton->setObjectName(QString::fromUtf8("RButton")); RButton->setText("OK"); if(RButton!=0) connect(RButton, SIGNAL(clicked()), this, SLOT(getChannelValues())); //RButton->setGeometry(QRect(980, 20, 80, 27)); vboxLayout0->addWidget(RButton); currentTimeLabel = new QLabel(tab_0); currentTimeLabel->setObjectName(QString::fromUtf8("currentTimeLabel")); currentTimeLabel->setText("Current Index Time"); //currentTimeLabel->setGeometry(QRect(760, 7, 161, 21)); vboxLayout0->addWidget(currentTimeLabel); timeSlider = new QSlider(tab_0); timeSlider->setObjectName(QString::fromUtf8("timeSlider")); //timeSlider->setGeometry(QRect(760, 24, 201, 16)); timeSlider->setValue(-1); timeSlider->setOrientation(Qt::Horizontal); connect(timeSlider, SIGNAL(valueChanged(int)), this, SLOT(readValue(int))); vboxLayout0->addWidget(timeSlider); //--> Splitter splitter = new QSplitter(tab_0); splitter->setObjectName(QString::fromUtf8("splitter")); splitter->setOrientation(Qt::Horizontal); incButtonDouble = new QPushButton(splitter); incButtonDouble->setObjectName(QString::fromUtf8("incButtonDouble")); QSizePolicy sizePol(QSizePolicy::Fixed, QSizePolicy::Fixed); sizePol.setHeightForWidth(incButtonDouble->sizePolicy().hasHeightForWidth()); incButtonDouble->setSizePolicy(sizePol); incButtonDouble->setText("<<"); connect(incButtonDouble,SIGNAL(clicked()), this, SLOT(decDouble())); splitter->addWidget(incButtonDouble); incButton = new QPushButton(splitter); incButton->setObjectName(QString::fromUtf8("incButton")); sizePol.setHeightForWidth(incButton->sizePolicy().hasHeightForWidth()); incButton->setSizePolicy(sizePol); incButton->setText("<"); connect(incButton,SIGNAL(clicked()), this, SLOT(decrease())); splitter->addWidget(incButton); decButton = new QPushButton(splitter); decButton->setObjectName(QString::fromUtf8("decButton")); sizePol.setHeightForWidth(decButton->sizePolicy().hasHeightForWidth()); decButton->setSizePolicy(sizePol); decButton->setText(">"); connect(decButton,SIGNAL(clicked()), this, SLOT(increase())); splitter->addWidget(decButton); decButtonDouble = new QPushButton(splitter); decButtonDouble->setObjectName(QString::fromUtf8("decButtonDouble")); sizePol.setHeightForWidth(decButtonDouble->sizePolicy().hasHeightForWidth()); decButtonDouble->setSizePolicy(sizePol); decButtonDouble->setText(">>"); connect(decButtonDouble,SIGNAL(clicked()), this, SLOT(incDouble())); splitter->addWidget(decButtonDouble); vboxLayout0->addWidget(splitter); //<-- Splitter splitter2 = new QSplitter(tab_0); splitter2->setObjectName(QString::fromUtf8("splitter2")); splitter2->setOrientation(Qt::Horizontal); stopButton = new QPushButton(splitter2); stopButton->setObjectName(QString::fromUtf8("stopButton")); sizePol.setHeightForWidth(stopButton->sizePolicy().hasHeightForWidth()); stopButton->setSizePolicy(sizePol); stopButton->setText("Stop"); connect(stopButton,SIGNAL(clicked()), this, SLOT(timerStop())); splitter2->addWidget(stopButton); startButton = new QPushButton(splitter2); startButton->setObjectName(QString::fromUtf8("startButton")); sizePol.setHeightForWidth(startButton->sizePolicy().hasHeightForWidth()); startButton->setSizePolicy(sizePol); startButton->setText("Run"); connect(startButton,SIGNAL(clicked()), this, SLOT(timerRun())); splitter2->addWidget(startButton); vboxLayout0->addWidget(splitter2); tabWidget->addTab(tab_0, QApplication::translate("MainWindow", "PMS Panel", 0, QApplication::UnicodeUTF8)); menubar = new QMenuBar(this); menubar->setObjectName(QString::fromUtf8("menubar")); menubar->setGeometry(QRect(0, 0, 1280, 30)); menu_File = new QMenu(menubar); menu_File->setObjectName(QString::fromUtf8("menu_File")); menu_Util = new QMenu(menubar); menu_Util->setObjectName(QString::fromUtf8("menu_Util")); menu_Help = new QMenu(menubar); menu_Help->setObjectName(QString::fromUtf8("menu_Help")); setMenuBar(menubar); QLabel *slabel1 = new QLabel("Set your mouse on the dynamic value to read PVNAME."); slabel1->setAlignment(Qt::AlignHCenter); slabel1->setMinimumSize(slabel1->sizeHint()); slabel1->setFrameStyle(QFrame::Panel | QFrame::Plain); QFrame *sframe = new QFrame(); QVBoxLayout *svlayout = new QVBoxLayout(sframe); svlayout->setSpacing(1); svlayout->setMargin(2); statusBar()->addWidget(sframe,1); toolBar = new QToolBar(this); toolBar->setObjectName(QString::fromUtf8("toolBar")); QPalette palette; QBrush brush(QColor(108, 147, 255, 100)); brush.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Active, QPalette::Base, brush); palette.setBrush(QPalette::Active, QPalette::AlternateBase, brush); QBrush brush1(QColor(44, 51, 91, 100)); brush1.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Active, QPalette::Window, brush1); QBrush brush2(QColor(108, 147, 255, 100)); brush2.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Inactive, QPalette::Base, brush2); QBrush brush3(QColor(44, 51, 91, 100)); brush3.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Inactive, QPalette::Window, brush3); QBrush brush4(QColor(44, 51, 91, 100)); brush4.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Disabled, QPalette::Base, brush4); QBrush brush5(QColor(44, 51, 91, 100)); brush5.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Disabled, QPalette::Window, brush5); toolBar->setPalette(palette); toolBar->setOrientation(Qt::Horizontal); addToolBar(static_cast<Qt::ToolBarArea>(4), toolBar); menubar->addAction(menu_File->menuAction()); menubar->addAction(menu_Util->menuAction()); menubar->addSeparator(); menubar->addAction(menu_Help->menuAction()); menu_File->addAction(action_Exit); QSize size(1280, 1024); size = size.expandedTo(minimumSizeHint()); resize(size); tabWidget->setCurrentIndex(0); QMetaObject::connectSlotsByName(this); msgframe = new QFrame(centralwidget); msgframe->setObjectName(QString::fromUtf8("msgframe")); QSizePolicy sizePolicy4(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(5)); sizePolicy4.setHorizontalStretch(0); sizePolicy4.setVerticalStretch(0); msgframe->setGeometry(QRect(19, 820, 1255, 90)); //msgframe->setSizePolicy(sizePolicy4); //msgframe->setGeometry(QRect(18, 880, 1254, 70)); //msgframe->setMinimumSize(QSize(1164, 90)); //msgframe->setFrameShape(QFrame::StyledPanel); //msgframe->setFrameShadow(QFrame::Raised); setCentralWidget(centralwidget); QObject::connect(tabWidget, SIGNAL(currentChanged(int)), SLOT(setDefaultIndex(int))); // Set Object Text. setWindowTitle(QApplication::translate("MainWindow", "PMS (Plant Monitoring System)", 0, QApplication::UnicodeUTF8)); action_Exit->setText(QApplication::translate("MainWindow", "e&Xit", 0, QApplication::UnicodeUTF8)); tabWidget->setTabText(tabWidget->indexOf(tab_0), QApplication::translate("MainWindow", "PMS Data Retrieval", 0, QApplication::UnicodeUTF8)); menu_File->setTitle(QApplication::translate("MainWindow", "&File", 0, QApplication::UnicodeUTF8)); menu_Util->setTitle(QApplication::translate("MainWindow", "&Util", 0, QApplication::UnicodeUTF8)); menu_Help->setTitle(QApplication::translate("MainWindow", "&Help", 0, QApplication::UnicodeUTF8)); } // makeUI
Marco::Marco(QWidget *parent) { QHBoxLayout *layout_main = new QHBoxLayout; QVBoxLayout *layout_infos = new QVBoxLayout; QList<QString> header ; sum_manga = new QSummaryManga; sum_show = new QSummaryShow; header << "Name" << "Last" << "Next"; table_infos_scans = new QTableWidget(0,3); table_infos_shows = new QTableWidget(0,3); infos_vu = Easylast::parse_info("VU"); infos_dl = Easylast::parse_info("DL"); viewer = new Qtviewer; //viewer = new Qtviewer("Bleach",Easylast::stoi(infos_vu["Bleach"])); viewer->setQSummary(sum_manga); QSizePolicy sizePol(QSizePolicy::Expanding,QSizePolicy::Expanding); viewer->setSizePolicy(sizePol); table_infos_scans->setHorizontalHeaderLabels(QStringList(header)); table_infos_scans->verticalHeader()->hide(); table_infos_scans->setSelectionBehavior(QAbstractItemView::SelectRows); table_infos_scans->setSelectionMode(QAbstractItemView::SingleSelection); table_infos_scans->setEditTriggers(QAbstractItemView::NoEditTriggers); QSize size_table(table_infos_scans->sizeHint()); table_infos_scans->setMinimumSize(QSize(size_table.width()+48,size_table.height())); table_infos_scans->setMaximumSize(QSize(size_table.width()+48,size_table.height())); size_table = table_infos_shows->sizeHint(); table_infos_shows->setMinimumSize(QSize(size_table.width()+48,size_table.height())); table_infos_shows->setMaximumSize(QSize(size_table.width()+48,size_table.height())); table_infos_shows->setHorizontalHeaderLabels(QStringList(header)); table_infos_shows->verticalHeader()->hide(); table_infos_shows->setSelectionBehavior(QAbstractItemView::SelectRows); table_infos_shows->setSelectionMode(QAbstractItemView::SingleSelection); table_infos_shows->setEditTriggers(QAbstractItemView::NoEditTriggers); connect(table_infos_scans, SIGNAL(cellDoubleClicked(int,int)), this, SLOT(double_clicked_scans(int,int))); connect(table_infos_shows, SIGNAL(cellClicked(int,int)), this, SLOT(simple_clicked_shows())); connect(table_infos_scans, SIGNAL(cellClicked(int,int)), this, SLOT(simple_clicked_scans())); connect(viewer, SIGNAL(nextScan(string,int)), this, SLOT(set_new_scan(string,int))); fill_table(infos_vu); layout_infos->addWidget(table_infos_shows,1); layout_infos->addWidget(table_infos_scans,1); layout_infos->addWidget(sum_manga); layout_main->addLayout(layout_infos); // Le stretch est pour que le viewer utilise tout l'espace layout_main->addWidget(viewer,1); setLayout(layout_main); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); signalMapper=NULL; computedMeshes=false; ui->tabWidgetLeft->setCurrentIndex(0); ui->tabWidgetRight->setCurrentIndex(0); //policy for window resizing QSizePolicy sizePol(QSizePolicy::Expanding,QSizePolicy::Expanding); ui->splitter->setSizePolicy(sizePol); leftWidgets= new MeshViewerWidget*[MAX_VIEWERS]; rightWidgets= new MeshViewerWidget*[MAX_VIEWERS]; nViewers=0; //even viewers - left viewers //odd viewers - right viewers leftWidgets[nViewers]=ui->viewer_2; rightWidgets[nViewers]=ui->viewer; nViewers++; leftWidgets[nViewers]=ui->viewer_4; rightWidgets[nViewers]=ui->viewer_3; nViewers++; leftWidgets[nViewers]=ui->viewer_6; rightWidgets[nViewers]=ui->viewer_5; nViewers++; //mouse events propagation between viewers for( int i=0; i<nViewers; i++ ){ for( int j=0;j<nViewers;j++ ){ connect( leftWidgets[i],SIGNAL(wheelMoved(QWheelEvent*)),rightWidgets[j],SLOT(wheelMoveSlot(QWheelEvent*)) ); connect( leftWidgets[i],SIGNAL(mouseMoved(QMouseEvent*)),rightWidgets[j],SLOT(mouseMoveSlot(QMouseEvent*)) ); connect( leftWidgets[i],SIGNAL(mousePressed(QMouseEvent*)),rightWidgets[j],SLOT(mousePresSlot(QMouseEvent*)) ); connect( leftWidgets[i],SIGNAL(mouseReleased(QMouseEvent*)),rightWidgets[j],SLOT(mouseReleaseSlot(QMouseEvent*)) ); connect( rightWidgets[i],SIGNAL(wheelMoved(QWheelEvent*)),leftWidgets[j],SLOT(wheelMoveSlot(QWheelEvent*)) ); connect( rightWidgets[i],SIGNAL(mouseMoved(QMouseEvent*)),leftWidgets[j],SLOT(mouseMoveSlot(QMouseEvent*)) ); connect( rightWidgets[i],SIGNAL(mousePressed(QMouseEvent*)),leftWidgets[j],SLOT(mousePresSlot(QMouseEvent*)) ); connect( rightWidgets[i],SIGNAL(mouseReleased(QMouseEvent*)),leftWidgets[j],SLOT(mouseReleaseSlot(QMouseEvent*)) ); } } //redirecting standard, error and log output to text box in the application ui->outputText->setReadOnly(true); qout=new QDebugStream(std::cout, ui->outputText); qlog=new QDebugStream(std::clog, ui->outputText); qerr=new QDebugStream(std::cerr, ui->outputText); ////Just for testing has to be commented /* ui->viewer->open_mesh_gui("../../../tetra.off"); ui->viewer->insertAxis( 0, Axis3D(std::pair<Vec3f,Vec3f>( OpenMesh::Vec3f(0,0,0),OpenMesh::Vec3f(10,0,0) ), std::pair<Vec3f,Vec3f>( OpenMesh::Vec3f(0,0,0),OpenMesh::Vec3f(0,0,10) ) ) ); ui->viewer->open_mesh_gui("/media/dades/vibot/se/project/shrec_training_corr/0010.null.0.off"); ui->viewer->open_mesh_gui("/media/dades/vibot/se/project/shrec_training_corr/0002.noise.4.off"); ui->viewer->open_mesh_gui("/media/dades/vibot/se/project/shrec_training_corr/0002.partial.3.off"); ui->viewer_2->open_mesh_gui("../../../tetra.off"); ui->viewer_2->insertAxis( 0, Axis3D(std::pair<Vec3f,Vec3f>( OpenMesh::Vec3f(0,0,0),OpenMesh::Vec3f(10,0,0) ), std::pair<Vec3f,Vec3f>( OpenMesh::Vec3f(0,0,0),OpenMesh::Vec3f(0,0,10) ) ) ); ui->viewer_2->open_mesh_gui("/media/dades/vibot/se/project/shrec_training_corr/0010.null.0.off"); ui->viewer_2->open_mesh_gui("/media/dades/vibot/se/project/shrec_training_corr/0002.noise.4.off"); ui->viewer_2->open_mesh_gui("/media/dades/vibot/se/project/shrec_training_corr/0002.partial.3.off"); */ //// //needed after every modif of the number of meshes updateMenu(); }