QWidget *DlgSettingsExportFormat::createSubPanel () { LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsExportFormat::createSubPanel"; QWidget *subPanel = new QWidget (); QGridLayout *layout = new QGridLayout (subPanel); subPanel->setLayout (layout); int row = 0; createCurveSelection (layout, row); createTabWidget (layout, row); QWidget *widgetMisc = new QWidget; layout->addWidget (widgetMisc, row++, 0, 1, 3); QHBoxLayout *layoutMisc = new QHBoxLayout; widgetMisc->setLayout (layoutMisc); createDelimiters (layoutMisc); // One row of radio buttons createHeader (layoutMisc); // Two rows with radio buttons and then header label createFileLayout (layoutMisc); // One row of radio buttons createPreview (layout, row); return subPanel; }
QWidget* UiGenerator::generateUi(scheme::Para& para, QWidget* parent, QButtonGroup* btnGroupPtr) { QWidget* res = nullptr; if(util::isCheckBoxGroup(para)) { res = createCheckBoxGroup(para, parent, btnGroupPtr); } else if(!para.getOrParas().empty()) { res = createToolBox(para, parent); } else if(!para.getAndParas().empty()) { res = createTabWidget(para, parent); } return res; }
QWidget* UiGenerator::createSpecialParaWidget(scheme::Para& para, QWidget* parent) { QWidget* res = nullptr; const auto& name = para.getName(); if(name == QObject::tr("方案选择")) { res = createSchemeSelWidget(para, parent); } else if(name == QObject::tr("基本参数选择")) { res = createTabWidget(para, parent, [this](scheme::Para ¶, QWidget *parent){ return createCheckBoxGroup(para, parent); }); } return res; }
GoodsDialogView::GoodsDialogView(QWidget *parent, GoodsDialogController *controller) : QDialog(parent) { this->controller = controller; lineSymbol = new QLineEdit(); lineSymbol->setMaxLength(200); linePkwiu = new QLineEdit(); linePriceMagNet = new QLineEdit(); linePriceMagGross = new QLineEdit(); lineName = new QLineEdit(); lineName->setMaxLength(200); lineWeight = new QLineEdit(); radioGood = new QRadioButton(); radioService = new QRadioButton(); boxGoodGroup = new QComboBox(); boxUnit = new QComboBox(); boxTax = new QComboBox(); tableFeature = new QTableView(); picture = new QLabel(); textDescription = new QTextEdit(); framePicture = new QFrame(); addToWarehouseComboBox = new QComboBox(); createTabWidget(); createTablePrices(); createMenu(); addAllStandardComponents(); addAllPriceComponents(); addAllFeatureComponents(); setTabOrders(); connect(lineName,SIGNAL(textEdited(QString)),controller,SLOT(nameTyping(QString))); connect(lineSymbol,SIGNAL(textEdited(QString)),controller,SLOT(checkAutoSymbol(QString))); this->setMaximumSize(650,460); this->setMinimumSize(650,460); }
MainWindow::MainWindow( IfcPlusPlusSystem* sys, ViewerWidget* vw, QWidget *parent) : m_system(sys), m_viewer_widget(vw), QMainWindow(parent) { m_system = sys; setWindowTitle("IFC++ example application"); setWindowIcon( QIcon( ":img/IfcPlusPlusViewerWindowIcon.png" ) ); // global style sheet definitions QFile file( ":styles.css" ); file.open( QFile::ReadOnly ); QString styleSheet = QLatin1String( file.readAll() ); setStyleSheet( styleSheet ); createTabWidget(); QAction* zoom_bounds_btn = new QAction(QIcon(":img/zoomBoundings.png"), "&Zoom to boundings", this ); zoom_bounds_btn->setShortcut(tr("Ctrl+Z")); zoom_bounds_btn->setStatusTip("Zoom to boundings"); connect(zoom_bounds_btn, SIGNAL(triggered()), this, SLOT(slotBtnZoomBoundingsClicked())); QAction* remove_selected_objects = new QAction(QIcon(":img/RemoveSelectedObjects.png"), "&Remove selected objects [del]", this ); remove_selected_objects->setStatusTip("Remove selected objects [del]"); connect(remove_selected_objects, SIGNAL(triggered()), this, SLOT(slotBtnRemoveSelectedObjectsClicked())); m_file_toolbar = new QToolBar(); m_file_toolbar->setObjectName("FileToolbar"); m_file_toolbar->addAction(zoom_bounds_btn); m_file_toolbar->addAction(remove_selected_objects); addToolBar( Qt::LeftToolBarArea, m_file_toolbar ); // building structure widget QDockWidget *dock = new QDockWidget(tr("Project structure"), this); dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); addDockWidget(Qt::RightDockWidgetArea, dock); IfcTreeWidget* ifc_tree_widget = new IfcTreeWidget( m_system ); dock->setWidget( ifc_tree_widget ); m_splitter = new QSplitter( Qt::Vertical ); m_splitter->setContentsMargins( 0, 0, 0, 0 ); m_splitter->addWidget( m_viewer_widget ); m_splitter->addWidget( m_tabwidget ); m_splitter->setStretchFactor( 0, 2 ); m_splitter->setStretchFactor( 1, 0 ); QList<int> splitter_sizes; splitter_sizes << 400 << 100; m_splitter->setSizes( splitter_sizes ); // status bar QStatusBar* status = new QStatusBar(); m_label_status_cursor = new QLabel( "0.000, 0.000, 0.000" ); status->addWidget( m_label_status_cursor, 0 ); status->setSizeGripEnabled( true ); setStatusBar( status ); // central widget setCentralWidget( m_splitter ); // restore geometry QSettings settings(QSettings::UserScope, QLatin1String("IfcPlusPlus")); QStringList keys = settings.allKeys(); if( keys.contains( "MainWindowGeometry" ) ) { restoreGeometry(settings.value("MainWindowGeometry").toByteArray()); } else { showMaximized(); } if( keys.contains( "mainWindowState" ) ) { restoreState(settings.value("mainWindowState").toByteArray()); } }
QTabWidget* UiGenerator::createTabWidget(scheme::Para ¶, QWidget *parent) { return createTabWidget(para, parent, [this](scheme::Para ¶, QWidget *parent){ return generateUi(para, parent); }); }