void FuturesDialog::createDetailsPage () { QWidget *w = new QWidget(this); QVBoxLayout *vbox = new QVBoxLayout(w); vbox->setMargin(5); vbox->setSpacing(0); QGridLayout *grid = new QGridLayout(vbox); grid->setSpacing(5); QLabel *label = new QLabel(tr("Symbol"), w); grid->addWidget(label, 0, 0); QString s; DBIndexItem item; index->getIndexItem(symbol, item); item.getSymbol(s); label = new QLabel(s, w); label->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); grid->addWidget(label, 0, 1); label = new QLabel(tr("Name"), w); grid->addWidget(label, 1, 0); item.getTitle(s); title = new QLineEdit(s, w); grid->addWidget(title, 1, 1); label = new QLabel(tr("Exchange"), w); grid->addWidget(label, 2, 0); item.getExchange(s); Exchange ex; ex.getExchange(s.toInt(), s); label = new QLabel(s, w); label->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); grid->addWidget(label, 2, 1); label = new QLabel(tr("Type"), w); grid->addWidget(label, 3, 0); item.getType(s); label = new QLabel(s, w); label->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); grid->addWidget(label, 3, 1); label = new QLabel(tr("Futures Type"), w); grid->addWidget(label, 4, 0); QString s2; item.getFuturesType(s2); label = new QLabel(s2, w); label->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); grid->addWidget(label, 4, 1); label = new QLabel(tr("Futures Month"), w); grid->addWidget(label, 5, 0); item.getFuturesMonth(s2); label = new QLabel(s2, w); label->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); grid->addWidget(label, 5, 1); label = new QLabel(tr("First Date"), w); grid->addWidget(label, 6, 0); Bar bar; db->getFirstBar(bar); if (! bar.getEmptyFlag()) { bar.getDateTimeString(TRUE, s); label = new QLabel(s, w); label->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); grid->addWidget(label, 6, 1); } label = new QLabel(tr("Last Date"), w); grid->addWidget(label, 7, 0); Bar bar2; db->getLastBar(bar2); if (! bar2.getEmptyFlag()) { bar2.getDateTimeString(TRUE, s); label = new QLabel(s, w); label->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); grid->addWidget(label, 7, 1); } grid->setColStretch(1, 1); vbox->insertStretch(-1, 0); addTab(w, tr("Details")); }
BackupProfileWidget::BackupProfileWidget( QWidget* parent, const char* name ) : KTabCtl( parent, name ) { QWidget* one = new QWidget( this ); addTab( one, i18n( "Backup" ) ); QLabel* lbl1 = new QLabel( i18n( "Archive name:" ), one ); lbl1->setFixedSize( lbl1->sizeHint() ); _archiveName = new QLineEdit( one ); _archiveName->setFixedHeight( _archiveName->sizeHint().height() ); QLabel* lbl2 = new QLabel( i18n( "Working directory:" ), one ); lbl2->setFixedSize( lbl2->sizeHint() ); _workingDir = new QComboBox( FALSE, one ); _workingDir->setFixedHeight( _workingDir->sizeHint().height() ); QLabel* lbl3 = new QLabel( i18n( "Backup files:" ), one ); lbl3->setFixedHeight( lbl3->sizeHint().height() ); _files = new QListBox( one ); QWidget* two = new QWidget( this ); addTab( two, i18n( "Tar Options" ) ); _oneFilesystem = new QCheckBox( i18n( "Stay on one filesystem" ), two ); _oneFilesystem->setFixedHeight( _oneFilesystem->sizeHint().height() ); _incremental = new QCheckBox( i18n( "GNU listed incremental" ), two ); _incremental->setFixedHeight( _incremental->sizeHint().height() ); connect( _incremental, SIGNAL( toggled( bool ) ), this, SLOT( slotIncrementalToggled( bool ) ) ); _snapshotLabel = new QLabel( i18n( "Snapshot file:" ), two ); _snapshotLabel->setFixedSize( _snapshotLabel->sizeHint() ); _snapshotFile = new QLineEdit( two ); _snapshotFile->setFixedHeight( _snapshotFile->sizeHint().height() ); _removeSnapshot = new QCheckBox( i18n( "Remove snapshot file before backup" ), two ); _removeSnapshot->setFixedHeight( _removeSnapshot->sizeHint().height() ); slotIncrementalToggled( FALSE ); QVBoxLayout* l1 = new QVBoxLayout( one, 8, 4 ); QHBoxLayout* l1_1 = new QHBoxLayout(); l1->addLayout( l1_1 ); l1_1->addWidget( lbl1 ); l1_1->addWidget( _archiveName, 1 ); QHBoxLayout* l1_2 = new QHBoxLayout(); l1->addLayout( l1_2 ); l1_2->addWidget( lbl2 ); l1_2->addWidget( _workingDir, 1 ); l1->addWidget( lbl3 ); l1->addWidget( _files, 1 ); QVBoxLayout* l2 = new QVBoxLayout( two, 8, 4 ); l2->addWidget( _oneFilesystem ); l2->addWidget( _incremental ); QHBoxLayout* l2_1 = new QHBoxLayout(); l2->addLayout( l2_1 ); l2_1->addSpacing( 20 ); l2_1->addWidget( _snapshotLabel ); l2_1->addWidget( _snapshotFile, 1 ); QHBoxLayout* l2_2 = new QHBoxLayout(); l2->addLayout( l2_2 ); l2_2->addSpacing( 20 ); l2_2->addWidget( _removeSnapshot ); l2->addStretch( 1 ); connect( _archiveName , SIGNAL( textChanged( const char* ) ), this, SLOT( slotTextChanged( const char* ) ) ); connect( _workingDir , SIGNAL( activated( const char* ) ) , this, SLOT( slotWorkingDirActivated( const char* ) ) ); connect( _oneFilesystem , SIGNAL( toggled( bool ) ) , this, SLOT( slotToggled( bool ) ) ); connect( _incremental , SIGNAL( toggled( bool ) ) , this, SLOT( slotIncrementalToggled( bool ) ) ); connect( _snapshotFile , SIGNAL( textChanged( const char* ) ), this, SLOT( slotTextChanged( const char* ) ) ); connect( _removeSnapshot, SIGNAL( toggled( bool ) ) , this, SLOT( slotToggled( bool ) ) ); }
void Preferences::createMTPage() { // main tool bar page QWidget *w = new QWidget(this); Q3VBoxLayout *vbox = new Q3VBoxLayout(w); Q3GridLayout *grid = new Q3GridLayout(vbox, 1, 6); // two more cols as needed grid->setMargin(5); grid->setSpacing(5); grid->setColStretch(2, 1); // middle spacing col grid->setColStretch(5, 2); // outer right col vbox->insertStretch(-1, 1); int i = 0; // count rows int j = 0; // "count" cols bool tb; // temporary RcFile rcfile; QLabel *label = new QLabel(tr("Quit"), w); grid->addWidget(label, i, j); quitBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowQuitBtn, tb); quitBtnCheck->setChecked(tb); connect(quitBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(quitBtnCheck, i++, j + 1); label = new QLabel(tr("Preferences"), w); grid->addWidget(label, i, j); prefBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowPrefBtn, tb); prefBtnCheck->setChecked(tb); connect(prefBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(prefBtnCheck, i++, j + 1); label = new QLabel(tr("Side Panel"), w); grid->addWidget(label, i, j); sidePanelBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowSidePanelBtn, tb); sidePanelBtnCheck->setChecked(tb); connect(sidePanelBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(sidePanelBtnCheck, i++, j + 1); label = new QLabel(tr("Grid"), w); grid->addWidget(label, i, j); gridBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowGridBtn, tb); gridBtnCheck->setChecked(tb); connect(gridBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(gridBtnCheck, i++, j + 1); label = new QLabel(tr("Scale to Screen"), w); grid->addWidget(label, i, j); scaleToScreenBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowScaleToScreenBtn, tb); scaleToScreenBtnCheck->setChecked(tb); connect(scaleToScreenBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(scaleToScreenBtnCheck, i++, j + 1); label = new QLabel(tr("CrossHair"), w); grid->addWidget(label, i, j); crosshairBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCrosshairBtn, tb); crosshairBtnCheck->setChecked(tb); connect(crosshairBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(crosshairBtnCheck, i++, j + 1); // now fill a second col i = 0; j = 3; label = new QLabel(tr("PaperTrade"), w); grid->addWidget(label, i, j); paperTradeBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowPaperTradeBtn, tb); paperTradeBtnCheck->setChecked(tb); connect(paperTradeBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(paperTradeBtnCheck, i++, j + 1); label = new QLabel(tr("DrawMode"), w); grid->addWidget(label, i, j); drawModeBtnCheck= new QCheckBox(w); rcfile.loadData(RcFile::ShowDrawModeBtn, tb); drawModeBtnCheck->setChecked(tb); connect(drawModeBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(drawModeBtnCheck, i++, j + 1); label = new QLabel(tr("NewIndicator"), w); grid->addWidget(label, i, j); newIndicatorBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowNewIndicatorBtn, tb); newIndicatorBtnCheck->setChecked(tb); connect(newIndicatorBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(newIndicatorBtnCheck, i++, j + 1); label = new QLabel(tr("DataWindow"), w); grid->addWidget(label, i, j); dataWindowBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowDataWindowBtn, tb); dataWindowBtnCheck->setChecked(tb); connect(dataWindowBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(dataWindowBtnCheck, i++, j + 1); label = new QLabel(tr("MainQuote"), w); grid->addWidget(label, i, j); mainQuoteBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowMainQuoteBtn, tb); mainQuoteBtnCheck->setChecked(tb); connect(mainQuoteBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(mainQuoteBtnCheck, i++, j + 1); label = new QLabel(tr("Help"), w); grid->addWidget(label, i, j); helpButtonCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowHelpButton, tb); helpButtonCheck->setChecked(tb); connect(helpButtonCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(helpButtonCheck, i++, j + 1); addTab(w, tr("MainToolbar")); }
PinDialog::PinDialog(PinData * pi) : TabDialog(0, 0, FALSE, Qt::WA_DeleteOnClose), pin(pi) { pi->browser_node->edit_start(); if (pi->browser_node->is_writable()) { setOkButton(tr("OK")); setCancelButton(tr("Cancel")); } else { setOkButton(QString()); setCancelButton(tr("Close")); } visit = !hasOkButton(); setWindowTitle(tr("Pin dialog")); GridBox * grid; HHBox * htab; QString s; // general tab grid = new GridBox(2, this); umltab = grid; grid->setMargin(5); grid->setSpacing(5); grid->addWidget(new QLabel(tr("name :"), grid)); grid->addWidget(edname = new LineEdit(pi->name(), grid)); edname->setReadOnly(visit); QFont font = edname->font(); if (! hasCodec()) font.setFamily("Courier"); font.setFixedPitch(TRUE); grid->addWidget(new QLabel(tr("stereotype : "), grid)); grid->addWidget(edstereotype = new QComboBox( grid)); edstereotype->setEditable(!visit); edstereotype->addItem(toUnicode(pi->stereotype)); if (! visit) { edstereotype->addItems(BrowserPin::default_stereotypes()); edstereotype->addItems(ProfiledStereotypes::defaults(UmlActivityPin)); edstereotype->setAutoCompletion(completion()); } edstereotype->setCurrentIndex(0); QSizePolicy sp = edstereotype->sizePolicy(); sp.setHorizontalPolicy(QSizePolicy::Expanding); edstereotype->setSizePolicy(sp); SmallPushButton* sButton; connect(sButton = new SmallPushButton(tr("type :"), grid), SIGNAL(clicked()), this, SLOT(menu_type())); grid->addWidget(sButton); grid->addWidget(edtype = new QComboBox(grid)); edtype->setEditable(!visit); edtype->addItem(pi->get_type().get_full_type()); if (!visit) { BrowserClass::instances(nodes); nodes.full_names(list); edtype->addItems(GenerationSettings::basic_types()); offset = edtype->count(); edtype->addItems(list); edtype->setAutoCompletion(completion()); view = pi->browser_node->container(UmlClass); } edtype->setCurrentIndex(0); edtype->setSizePolicy(sp); grid->addWidget(new QLabel(tr("direction :"), grid)); grid->addWidget(htab = new HHBox(grid)); htab->addWidget(eddir = new QComboBox(htab)); UmlParamDirection dir = pi->get_dir(); eddir->addItem(stringify(dir)); if (! visit) { // note : inout not allowed if (dir != UmlIn) eddir->addItem(stringify(UmlIn)); if (dir != UmlOut) eddir->addItem(stringify(UmlOut)); if (dir != UmlReturn) eddir->addItem(stringify(UmlReturn)); } htab->addWidget(new QLabel(tr(" multiplicity : "), htab)); htab->addWidget(edmultiplicity = new QComboBox( htab)); edmultiplicity->setEditable(!visit); edmultiplicity->setSizePolicy(sp); edmultiplicity->addItem(pi->get_multiplicity()); if (!visit) { edmultiplicity->addItem("1"); edmultiplicity->addItem("0..1"); edmultiplicity->addItem("*"); edmultiplicity->addItem("1..*"); } htab->addWidget(new QLabel(tr(" ordering : "), htab)); htab->addWidget(edordering = new QComboBox(htab)); UmlOrderingKind o = pi->get_ordering(); edordering->addItem(stringify(o)); if (!visit) { if (o != UmlUnordered) edordering->addItem(stringify(UmlUnordered)); if (o != UmlOrdered) edordering->addItem(stringify(UmlOrdered)); if (o != UmlLifo) edordering->addItem(stringify(UmlLifo)); if (o != UmlFifo) edordering->addItem(stringify(UmlFifo)); } htab->addWidget(new QLabel(tr(" effect : "), htab)); htab->addWidget(edeffect = new QComboBox(htab)); UmlParamEffect e = pi->get_effect(); edeffect->addItem(stringify(e)); if (!visit) { if (e != UmlNoEffect) edeffect->addItem(stringify(UmlNoEffect)); if (e != UmlCreate) edeffect->addItem(stringify(UmlCreate)); if (e != UmlRead) edeffect->addItem(stringify(UmlRead)); if (e != UmlUpdate) edeffect->addItem(stringify(UmlUpdate)); if (e != UmlDelete) edeffect->addItem(stringify(UmlDelete)); } grid->addWidget(new QLabel(tr("in state : "), grid)); grid->addWidget(edin_state = new LineEdit(pi->in_state, grid)); edin_state->setReadOnly(visit); grid->addWidget(new QLabel(grid)); grid->addWidget(htab = new HHBox(grid)); BButtonGroup * bg; htab->addWidget(bg = new BButtonGroup(2, Qt::Horizontal, QString(), htab)); bg->addWidget(is_control_cb = new QCheckBox(tr("is_control"), bg)); if (pi->is_control) is_control_cb->setChecked(TRUE); is_control_cb->setDisabled(visit); bg->addWidget(unique_cb = new QCheckBox(tr("unique"), bg)); if (pi->unique) unique_cb->setChecked(TRUE); unique_cb->setDisabled(visit); htab->addWidget(bg = new BButtonGroup(3, Qt::Horizontal, QString(), htab)); bg->setExclusive(TRUE); bg->addWidget(standard_rb = new QRadioButton(tr("standard"), bg)); bg->addWidget(exception_rb = new QRadioButton(tr("exception"), bg)); bg->addWidget(stream_rb = new QRadioButton(tr("stream"), bg)); if (pi->exception) exception_rb->setChecked(TRUE); else if (pi->stream) stream_rb->setChecked(TRUE); else standard_rb->setChecked(TRUE); VVBox * vtab; grid->addWidget(vtab = new VVBox(grid)); vtab->addWidget(new QLabel(tr("description :"), vtab)); if (! visit) { connect(sButton = new SmallPushButton(tr("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_description())); vtab->addWidget(sButton); } grid->addWidget(comment = new MultiLineEdit(grid)); comment->setReadOnly(visit); comment->setText(pi->browser_node->get_comment()); comment->setFont(font); addTab(grid, "Uml"); init_tab(ocltab, eduml_selection, pin->uml_selection, "Ocl", SLOT(edit_uml_selection()), TRUE); // C++ init_tab(cppTab, edcpp_selection, pin->cpp_selection, "C++", SLOT(edit_cpp_selection()), GenerationSettings::cpp_get_default_defs()); // Java init_tab(javatab, edjava_selection, pin->java_selection, "Java", SLOT(edit_java_selection()), GenerationSettings::java_get_default_defs()); // USER : list key - value grid = new GridBox(2, this); grid->setMargin(5); grid->setSpacing(5); grid->addWidget(kvtable = new KeyValuesTable(pi->browser_node, grid, visit)); addTab(grid, tr("Properties")); // connect(this, SIGNAL(currentChanged(QWidget *)), this, SLOT(change_tabs(QWidget *))); open_dialog(this); }
ByteViewTab::ByteViewTab(QWidget *parent) : QTabWidget(parent) { setAccessibleName(tr("Packet bytes")); addTab(); }
void TabsModel::addPluginTab(int tabID, const QString &iconPath, const QString &componentPath) { LOG_INFO << iconPath << componentPath; addTab(tabID, iconPath, componentPath); }
void TrussPropertyTabWidget::initPivotPropertyTab () { QFrame* parentFrame = new QFrame; pivotsNumbLabel = new QLabel( tr( "Total pivots: " ), parentFrame ); pivotsNumbLabel->hide(); pivotPropTable = new PivotPropertyTable( parentFrame ); TableHeader *horHeader = new TableHeader( Qt::Horizontal ), *vertHeader = new TableHeader( Qt::Vertical ); pivotPropTable->setHorizontalHeader( horHeader ); pivotPropTable->setVerticalHeader( vertHeader ); PivotPropertyTableDelegate* delegate = new PivotPropertyTableDelegate; pivotPropTable->setItemDelegate( delegate ); connect( delegate, SIGNAL(cellWasChanged(int, int)), SLOT(updatePivotState(int, int)) ); connect( this, SIGNAL(onMaterialLibraryChanged(const TrussMaterialLibrary&)), delegate, SLOT(setMaterialLibrary(const TrussMaterialLibrary&)) ); QGroupBox* levelGroupBox = new QGroupBox( tr( "Leveling" ), parentFrame ); QComboBox* levelComboBox = new QComboBox( levelGroupBox ); levelComboBox->addItem( "by Thickness" ); levelComboBox->addItem( "by Material" ); levelComboBox->setCurrentIndex( 0 ); thickSpinBox = new QDoubleSpinBox( levelGroupBox ); thickSpinBox->setMaximum( Global::pivotThickLimit ); thickSpinBox->setSingleStep( 0.01 ); thickSpinBox->setValue( 0.1 ); thickSpinBox->setFixedHeight( 21 ); materialComboBox = new MaterialComboBox( levelGroupBox ); materialComboBox->setVisible( false ); connect( levelComboBox, SIGNAL(currentIndexChanged(int)), SLOT(changeLevelEditor(int)) ); connect( materialComboBox, SIGNAL(comboBoxIsEmpty(bool)), SLOT(updateLevelButtonState(bool)) ); levelButton = new QPushButton( levelGroupBox ); levelButton->setIcon( QIcon( Global::imagesPath() + "/tick.png" ) ); levelButton->setFixedSize( QSize( 21, 21 ) ); connect( levelButton, SIGNAL(pressed()), SLOT(levelPivotState()) ); // init layout managers QVBoxLayout* parentLayout = new QVBoxLayout( parentFrame ); QHBoxLayout* topLayout = new QHBoxLayout; QVBoxLayout* tableLayout = new QVBoxLayout; QGridLayout* bottomLayout = new QGridLayout( levelGroupBox ); parentLayout->addLayout( topLayout ); parentLayout->addLayout( tableLayout ); topLayout->addWidget( pivotsNumbLabel ); tableLayout->addWidget( pivotPropTable ); parentLayout->addWidget( levelGroupBox ); bottomLayout->addWidget( levelComboBox, 0, 0 ); bottomLayout->addWidget( thickSpinBox, 0, 1 ); bottomLayout->addWidget( materialComboBox, 0, 2 ); bottomLayout->addWidget( levelButton, 0, 3 ); topLayout->setMargin( 5 ); topLayout->setSpacing( 5 ); tableLayout->setMargin( 1 ); tableLayout->setSpacing( 1 ); bottomLayout->setMargin( 6 ); bottomLayout->setSpacing( 5 ); parentLayout->setMargin( 1 ); parentLayout->setSpacing( 1 ); // init pivot table pivotPropTable->setColumnCount( 2 ); pivotPropTable->setSelectionMode( QAbstractItemView::NoSelection ); horHeader->setClickable( false ); horHeader->setResizeMode( QHeaderView::Custom ); vertHeader->setDefaultSectionSize( Global::tableRowHeight ); vertHeader->setClickable( false ); vertHeader->setResizeMode( QHeaderView::Custom ); vertHeader->setDefaultAlignment( Qt::AlignRight | Qt::AlignVCenter ); pivotPropTable->setShowGrid( true ); QStringList headerList; headerList << tr("Thickness") << tr("Material"); pivotPropTable->setHorizontalHeaderLabels( headerList ); pivotPropTable->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); pivotPropTable->hide(); addTab( parentFrame, "Pivot Properties" ); }
int FsaPanelWidget::add(AbstractFsaPanelWidget *widget) { mWidgets.append(widget); return addTab(widget,widget->windowTitle()); }
ActivityObjectDialog::ActivityObjectDialog(ActivityObjectData * d, const char * what, QStringList & st) : Q3TabDialog(0, 0, FALSE, Qt::WDestructiveClose), data(d) { d->browser_node->edit_start(); if (d->browser_node->is_writable()) { setOkButton(TR("OK")); setCancelButton(TR("Cancel")); } else { setOkButton(QString()); setCancelButton(TR("Close")); } visit = !hasOkButton(); setCaption(TR(QString(what) + " dialog")); Q3Grid * grid; Q3HBox * htab; QString s; // general tab grid = new Q3Grid(2, this); umltab = grid; grid->setMargin(5); grid->setSpacing(5); new QLabel(TR("name :"), grid); edname = new LineEdit(data->name(), grid); edname->setReadOnly(visit); QFont font = edname->font(); if (! hasCodec()) font.setFamily("Courier"); font.setFixedPitch(TRUE); new QLabel(TR("stereotype : "), grid); edstereotype = new Q3ComboBox(!visit, grid); edstereotype->insertItem(toUnicode(data->stereotype)); if (! visit) { edstereotype->insertStringList(st); edstereotype->insertStringList(ProfiledStereotypes::defaults(UmlActivityObject)); edstereotype->setAutoCompletion(completion()); } edstereotype->setCurrentItem(0); QSizePolicy sp = edstereotype->sizePolicy(); sp.setHorData(QSizePolicy::Expanding); edstereotype->setSizePolicy(sp); connect(new SmallPushButton(TR("type :"), grid), SIGNAL(clicked()), this, SLOT(menu_type())); edtype = new Q3ComboBox(!visit, grid); edtype->insertItem(data->get_type().get_full_type()); if (!visit) { BrowserClass::instances(nodes); nodes.full_names(list); edtype->insertStringList(GenerationSettings::basic_types()); offset = edtype->count(); edtype->insertStringList(list); edtype->setAutoCompletion(completion()); // search for the view containing the activity view = d->browser_node; do { view = (BrowserNode *) view->parent(); } while (view->get_type() != UmlActivity); view = (BrowserNode *) view->parent(); } edtype->setCurrentItem(0); edtype->setSizePolicy(sp); new QLabel(TR("multiplicity : "), grid); htab = new Q3HBox(grid); edmultiplicity = new Q3ComboBox(!visit, htab); edmultiplicity->setSizePolicy(sp); edmultiplicity->insertItem(data->get_multiplicity()); if (!visit) { edmultiplicity->insertItem("1"); edmultiplicity->insertItem("0..1"); edmultiplicity->insertItem("*"); edmultiplicity->insertItem("1..*"); } new QLabel(TR(" ordering : "), htab); edordering = new Q3ComboBox(FALSE, htab); UmlOrderingKind o = data->get_ordering(); edordering->insertItem(stringify(o)); if (!visit) { if (o != UmlUnordered) edordering->insertItem(stringify(UmlUnordered)); if (o != UmlOrdered) edordering->insertItem(stringify(UmlOrdered)); if (o != UmlLifo) edordering->insertItem(stringify(UmlLifo)); if (o != UmlFifo) edordering->insertItem(stringify(UmlFifo)); } new QLabel(TR("in state : "), grid); htab = new Q3HBox(grid); edin_state = new LineEdit(data->in_state, htab); edin_state->setReadOnly(visit); new QLabel(" ", htab); is_control_cb = new QCheckBox(TR("is control"), htab); if (data->is_control) is_control_cb->setChecked(TRUE); is_control_cb->setDisabled(visit); Q3VBox * vtab = new Q3VBox(grid); new QLabel(TR("description :"), vtab); if (! visit) { connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_description())); } comment = new MultiLineEdit(grid); comment->setReadOnly(visit); comment->setText(data->browser_node->get_comment()); comment->setFont(font); addTab(grid, "Uml"); // UML / OCL init_tab(ocltab, eduml_selection, data->uml_selection, "Ocl", SLOT(edit_uml_selection()), TRUE); // C++ init_tab(cppTab, edcpp_selection, data->cpp_selection, "C++", SLOT(edit_cpp_selection()), GenerationSettings::cpp_get_default_defs()); // Java init_tab(javatab, edjava_selection, data->java_selection, "Java", SLOT(edit_java_selection()), GenerationSettings::java_get_default_defs()); // USER : list key - value grid = new Q3Grid(2, this); grid->setMargin(5); grid->setSpacing(5); kvtable = new KeyValuesTable(data->browser_node, grid, visit); addTab(grid, TR("Properties")); // connect(this, SIGNAL(currentChanged(QWidget *)), this, SLOT(change_tabs(QWidget *))); open_dialog(this); }
void TrussPropertyTabWidget::initLoadTab () { QFrame* parentFrame = new QFrame; nodesNumbLabel = new QLabel( tr( "Total nodes: " ), parentFrame ); loadedNodesLabel = new QLabel( tr( "Nodes loaded: " ), parentFrame ); nodesNumbLabel->hide(); loadedNodesLabel->hide(); loadTable = new LoadTable( parentFrame ); TableHeader *horHeader = new TableHeader( Qt::Horizontal ), *vertHeader = new TableHeader( Qt::Vertical ); loadTable->setHorizontalHeader( horHeader ); loadTable->setVerticalHeader( vertHeader ); LoadTableDelegate* delegate = new LoadTableDelegate; loadTable->setItemDelegate( delegate ); connect( delegate, SIGNAL(cellWasChanged(int, int)), SLOT(updateTrussLoad(int, int)) ); QGroupBox* loadCaseGroupBox = new QGroupBox( tr( "Load cases" ), parentFrame ); QLabel* loadCaseNumb = new QLabel( tr( "Current: " ), loadCaseGroupBox ); loadCaseNumb->hide(); loadCaseComboBox = new QComboBox( loadCaseGroupBox ); createLoadCaseBtn = new QPushButton( loadCaseGroupBox ); createLoadCaseBtn->setIcon( QIcon( Global::imagesPath() + "/plus.png" ) ); createLoadCaseBtn->setFixedSize( QSize( 22, 22 ) ); createLoadCaseBtn->setEnabled( false ); removeLoadCaseBtn = new QPushButton( loadCaseGroupBox ); removeLoadCaseBtn->setIcon( QIcon( Global::imagesPath() + "/minus.png" ) ); removeLoadCaseBtn->setFixedSize( QSize( 22, 22 ) ); removeLoadCaseBtn->setEnabled( false ); connect ( createLoadCaseBtn, SIGNAL(pressed()), SLOT(addLoadCase()) ); connect ( removeLoadCaseBtn, SIGNAL(pressed()), SLOT(removeLoadCase()) ); // init layout managers QVBoxLayout* parentLayout = new QVBoxLayout( parentFrame ); QHBoxLayout* topLayout = new QHBoxLayout; QVBoxLayout* tableLayout = new QVBoxLayout; QHBoxLayout* loadCaseLayout = new QHBoxLayout( loadCaseGroupBox ); parentLayout->addLayout( topLayout ); parentLayout->addLayout( tableLayout ); topLayout->addWidget( nodesNumbLabel ); topLayout->addWidget( loadedNodesLabel ); tableLayout->addWidget( loadTable ); parentLayout->addWidget( loadCaseGroupBox ); loadCaseLayout->addWidget( loadCaseNumb ); loadCaseLayout->addWidget( loadCaseComboBox ); loadCaseLayout->addWidget( createLoadCaseBtn); loadCaseLayout->addWidget( removeLoadCaseBtn ); topLayout->setMargin( 5 ); topLayout->setSpacing( 5 ); tableLayout->setMargin( 1 ); tableLayout->setSpacing( 1 ); loadCaseLayout->setMargin( 6 ); loadCaseLayout->setSpacing( 5 ); parentLayout->setMargin( 1 ); parentLayout->setSpacing( 1 ); // init load table loadTable->setColumnCount( 2 ); loadTable->setSelectionMode( QAbstractItemView::NoSelection ); //TableHeader *horHeader = loadTable->horizontalHeader(), // *vertHeader = loadTable->verticalHeader(); horHeader->setClickable( false ); horHeader->setResizeMode( QHeaderView::Custom ); vertHeader->setDefaultSectionSize( Global::tableRowHeight ); vertHeader->setClickable( false ); vertHeader->setResizeMode( QHeaderView::Custom ); vertHeader->setDefaultAlignment( Qt::AlignRight | Qt::AlignVCenter ); loadTable->setShowGrid( true ); QStringList headerList; headerList << tr("Froce by X") << tr("Force by Y"); loadTable->setHorizontalHeaderLabels( headerList ); loadTable->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); loadTable->hide(); addTab( parentFrame, "Loads" ); }
SettingsDialog::SettingsDialog(StateSpecVector * st, ColorSpecVector * co, bool nodefault, bool unchanged, QString title) : TabDialog(0, title.toLatin1().constData(), TRUE), states(st), colors(co), first_visible_page(0), several(unchanged), did_apply(FALSE) { setWindowTitle((title.isEmpty()) ? QObject::tr("Diagram Drawing Settings dialog") : title); QString s_diagram = QObject::tr("diagram"); QWidget * grid = 0; QString tabname; unsigned i; unsigned n; if (states != 0) { n = states->size(); cbstates = new QHash<int,ComboStates*>; for (i = 0; i != n; i += 1) { StateSpec & st = states->at(i); QString s = st.name; int index = s.indexOf('#'); QString tbn; if (index != -1) { tbn = s.left(index); s = s.mid(index + 1); } else tbn = s_diagram; if ((grid == 0) || (tabname != tbn)) { if (grid != 0) { addTab(grid, tabname); grid->setObjectName(tabname); if (tabname == previous_active_tab) first_visible_page = grid; } grid = WidgetWithLayout::gridBox(5, this); grid->layout()->setMargin(0); grid->layout()->setSpacing(0); tabname = tbn; } QGridLayout *gridLayout = (QGridLayout *)grid->layout(); int currentRow = gridLayout->rowCount(); //gridLayout->addWidget(new QLabel("", grid), currentRow, 0); gridLayout->addWidget(new QLabel(s + " : ", grid), currentRow, 1); QWidget * hb = WidgetWithLayout::hBox( grid); QHBoxLayout* hLayout; hLayout = (QHBoxLayout*)hb->layout(); hLayout->setMargin(0); gridLayout->addWidget(hb, currentRow, 2); ComboStates* widget; switch (st.who) { case StateSpec::is3states: cbstates->insert(i, widget = new ComboStates(hb, *((Uml3States *) st.state), nodefault, unchanged)); break; case StateSpec::isClassDrawingMode: cbstates->insert(i, widget = new ComboStates(hb, *((ClassDrawingMode *) st.state), nodefault, unchanged)); break; case StateSpec::isDrawingLanguage: cbstates->insert(i, widget = new ComboStates(hb, *((DrawingLanguage *) st.state), nodefault, unchanged)); break; case StateSpec::isShowContextMode: cbstates->insert(i, widget = new ComboStates(hb, *((ShowContextMode *) st.state), nodefault, unchanged)); break; default: cbstates->insert(i, widget = new ComboStates(hb, *((char *) st.state), nodefault, unchanged)); } hLayout->addWidget(widget); hLayout->addWidget(new QLabel("", hb)); gridLayout->addWidget(new QLabel("", grid),currentRow, 3); gridLayout->addWidget(new QLabel("", grid),currentRow, 4); } addTab(grid, tabname); grid->setObjectName(tabname); if (tabname == previous_active_tab) first_visible_page = grid; } if (colors != 0) { QString lbl = QObject::tr("color"); QString s_default = QObject::tr("default "); n = colors->size(); cbcolors = new QHash<int, ComboColor*>; GridBox *gridBox = new GridBox( 5, this); gridBox->setMargin(2); gridBox->setSpacing(2); for (i = 0; i != n; i += 1) { if (i == 11) { lbl = QObject::tr("color [1]"); addTab(gridBox, lbl); gridBox->setObjectName(lbl); if (previous_active_tab == lbl) first_visible_page = gridBox; lbl = QObject::tr("color [2]"); gridBox = new GridBox(5, this); gridBox->setMargin(2); gridBox->setSpacing(2); } gridBox->addWidget(new QLabel("", grid)); QString s = colors->at(i).name; s += " : "; gridBox->addWidget(new QLabel(s, grid)); ComboColor *ccolor = new ComboColor(grid, *(colors->at(i).color),nodefault, unchanged); gridBox->addWidget(ccolor); cbcolors->insert(i, ccolor); gridBox->addWidget(new QLabel("", grid)); gridBox->addWidget(new QLabel("", grid)); } addTab(gridBox, lbl); gridBox->setObjectName(lbl); if (previous_active_tab == lbl) first_visible_page = gridBox; } setHelpButton(tr("Apply")); // use help rather than apply because when the OK button is clicked, // the applyButtonPressed() signal is emitted setOkButton(tr("OK")); setCancelButton(tr("Cancel")); connect(this, SIGNAL(helpButtonPressed()), this, SLOT(apply())); polish(); }
void Preferences::createGeneralPage() { // general parms page QWidget *w = new QWidget(this); Q3VBoxLayout *vbox = new Q3VBoxLayout(w); Q3GridLayout *grid = new Q3GridLayout(vbox, 1, 3); grid->setMargin(5); grid->setSpacing(5); grid->setColStretch(1, 1); // stretch 2nd col a little grid->setColStretch(2, 2); // stretch outer right col more vbox->insertStretch(-1, 1); // menubar checkbox QLabel *label = new QLabel(tr("Main Menubar"), w); grid->addWidget(label, 0, 0); menubarCheck = new QCheckBox(w); menubarCheck->setChecked(menubar); connect(menubarCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(menubarCheck, 0, 1); // extraToolbar checkbox label = new QLabel(tr("Extra Toolbar"), w); grid->addWidget(label, 1, 0); extraToolbarCheck = new QCheckBox(w); extraToolbarCheck->setChecked(extraToolbar); connect(extraToolbarCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(extraToolbarCheck, 1, 1); // bar spacing 1 label = new QLabel(tr("Bar Spacing 1"), w); grid->addWidget(label, 2, 0); bs1Spinner = new QSpinBox(2, 99, 1, w); bs1Spinner->setValue(ps1Button); connect(bs1Spinner, SIGNAL(valueChanged(int)), this, SLOT(slotModified())); grid->addWidget(bs1Spinner, 2, 1); // bar spacing 2 label = new QLabel(tr("Bar Spacing 2"), w); grid->addWidget(label, 3, 0); bs2Spinner = new QSpinBox(2, 99, 1, w); bs2Spinner->setValue(ps2Button); connect(bs2Spinner, SIGNAL(valueChanged(int)), this, SLOT(slotModified())); grid->addWidget(bs2Spinner, 3, 1); // bar spacing 3 label = new QLabel(tr("Bar Spacing 3"), w); grid->addWidget(label, 4, 0); bs3Spinner = new QSpinBox(2, 99, 1, w); bs3Spinner->setValue(ps3Button); connect(bs3Spinner, SIGNAL(valueChanged(int)), this, SLOT(slotModified())); grid->addWidget(bs3Spinner, 4, 1); addTab(w, tr("General")); }
void Preferences::createCTPage() { // chart tool bar page QWidget *w = new QWidget(this); Q3VBoxLayout *vbox = new Q3VBoxLayout(w); Q3GridLayout *grid = new Q3GridLayout(vbox, 1, 2); grid->setMargin(5); grid->setSpacing(5); grid->setColStretch(1, 1); vbox->insertStretch(-1, 1); int i = 0; // count rows int j = 0; // "count" cols bool tb; // temporary RcFile rcfile; QLabel *label = new QLabel(tr("Compression list"), w); grid->addWidget(label, i, j); cmpsComboBoxCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmpsComboBox, tb); cmpsComboBoxCheck->setChecked(tb); connect(cmpsComboBoxCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmpsComboBoxCheck, i++, j + 1); label = new QLabel(tr("Compression 1 Minute"), w); grid->addWidget(label, i, j); cmps1MBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmps1MBtn, tb); cmps1MBtnCheck->setChecked(tb); connect(cmps1MBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmps1MBtnCheck, i++, j + 1); // label = new QLabel(tr("Compression 2 Minute"), w); // grid->addWidget(label, i, j); // cmps2MBtnCheck = new QCheckBox(w); // rcfile.loadData(RcFile::ShowCmps2MBtn, tb); // cmps2MBtnCheck->setChecked(tb); // connect(cmps2MBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); // grid->addWidget(cmps2MBtnCheck, i++, j + 1); label = new QLabel(tr("Compression 5 Minute"), w); grid->addWidget(label, i, j); cmps5MBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmps5MBtn, tb); cmps5MBtnCheck->setChecked(tb); connect(cmps5MBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmps5MBtnCheck, i++, j + 1); label = new QLabel(tr("Compression 10 Minute"), w); grid->addWidget(label, i, j); cmps10MBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmps10MBtn, tb); cmps10MBtnCheck->setChecked(tb); connect(cmps10MBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmps10MBtnCheck, i++, j + 1); label = new QLabel(tr("Compression 15 Minute"), w); grid->addWidget(label, i, j); cmps15MBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmps15MBtn, tb); cmps15MBtnCheck->setChecked(tb); connect(cmps15MBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmps15MBtnCheck, i++, j + 1); // label = new QLabel(tr("Compression 20 Minute"), w); // grid->addWidget(label, i, j); // cmps20MBtnCheck = new QCheckBox(w); // rcfile.loadData(RcFile::ShowCmps20MBtn, tb); // cmps20MBtnCheck->setChecked(tb); // connect(cmps20MBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); // grid->addWidget(cmps20MBtnCheck, i++, j + 1); label = new QLabel(tr("Compression 30 Minute"), w); grid->addWidget(label, i, j); cmps30MBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmps30MBtn, tb); cmps30MBtnCheck->setChecked(tb); connect(cmps30MBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmps30MBtnCheck, i++, j + 1); label = new QLabel(tr("Compression 1 Hour"), w); grid->addWidget(label, i, j); cmps1HBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmps1HBtn, tb); cmps1HBtnCheck->setChecked(tb); connect(cmps1HBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmps1HBtnCheck, i++, j + 1); // label = new QLabel(tr("Compression 2 Hour"), w); // grid->addWidget(label, i, j); // cmps2HBtnCheck = new QCheckBox(w); // rcfile.loadData(RcFile::ShowCmps2HBtn, tb); // cmps2HBtnCheck->setChecked(tb); // connect(cmps2HBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); // grid->addWidget(cmps2HBtnCheck, i++, j + 1); // label = new QLabel(tr("Compression 4 Hour"), w); // grid->addWidget(label, i, j); // cmps4HBtnCheck = new QCheckBox(w); // rcfile.loadData(RcFile::ShowCmps4HBtn, tb); // cmps4HBtnCheck->setChecked(tb); // connect(cmps4HBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); // grid->addWidget(cmps4HBtnCheck, i++, j + 1); label = new QLabel(tr("Compression 1 Day"), w); grid->addWidget(label, i, j); cmps1DBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmps1DBtn, tb); cmps1DBtnCheck->setChecked(tb); connect(cmps1DBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmps1DBtnCheck, i++, j + 1); label = new QLabel(tr("Compression 1 Week"), w); grid->addWidget(label, i, j); cmps1WBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmps1WBtn, tb); cmps1WBtnCheck->setChecked(tb); connect(cmps1WBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmps1WBtnCheck, i++, j + 1); label = new QLabel(tr("Compression 1 Month"), w); grid->addWidget(label, i, j); cmpsMNBtnCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowCmpsMNBtn, tb); cmpsMNBtnCheck->setChecked(tb); connect(cmpsMNBtnCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(cmpsMNBtnCheck, i++, j + 1); label = new QLabel(tr("BarSpacing spinner"), w); grid->addWidget(label, i, j); barSpSpinboxCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowBarSpSpinbox, tb); barSpSpinboxCheck->setChecked(tb); connect(barSpSpinboxCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(barSpSpinboxCheck, i++, j + 1); label = new QLabel(tr("BarsToLoad field"), w); grid->addWidget(label, i, j); barsToLoadFieldCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowBarsToLoadField, tb); barsToLoadFieldCheck->setChecked(tb); connect(barsToLoadFieldCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(barsToLoadFieldCheck, i++, j + 1); label = new QLabel(tr("Pan Chart slider"), w); grid->addWidget(label, i, j); sliderCheck = new QCheckBox(w); rcfile.loadData(RcFile::ShowSlider, tb); sliderCheck->setChecked(tb); connect(sliderCheck, SIGNAL(stateChanged(int)), this, SLOT(slotModified())); grid->addWidget(sliderCheck, i++, j + 1); addTab(w, tr("ChartToolbar")); }
void KfOptions::insertPages() { setFocusPolicy(QWidget::StrongFocus); // First page of tab preferences dialog pages[0]= new QWidget(this,"page1"); formatL = new QLabel(i18n("File format:"), pages[0],"formatL"); fileL = new QLabel(i18n("Save results to file:"), pages[0],"fileL"); kfindfileL = new QLabel(i18n( "Save results to file ~/.kfind-results.html"), pages[0],"kfindfileL"); browseB = new QPushButton(i18n("Browse"), pages[0],"browseB"); formatBox = new QComboBox( pages[0],"formatBox"); fileE = new QLineEdit( pages[0],"fileE"); kfindfileB = new QRadioButton( pages[0]); selectfileB = new QRadioButton( pages[0]); bg = new QButtonGroup(); bg->insert(kfindfileB); bg->insert(selectfileB); bg->setExclusive(TRUE); formatBox->insertItem("HTML"); formatBox->insertItem(i18n("Plain Text")); formatBox->setFixedSize(formatBox ->sizeHint()); formatL ->setFixedSize(formatL ->sizeHint()); fileL ->setFixedSize(fileL ->sizeHint()); kfindfileL ->setFixedSize(kfindfileL ->sizeHint()); kfindfileB ->setFixedSize(kfindfileB ->sizeHint()); selectfileB->setFixedSize(selectfileB->sizeHint()); browseB ->setFixedSize(browseB ->sizeHint()); fileE ->setFixedSize(344-(10+10+fileL->width()+browseB->width()),25); kfindfileB ->move(10,20); selectfileB->move(10,50); kfindfileL ->move(30,20); fileL ->move(30,50); fileE ->move(fileL->x()+fileL->width()+10,fileL->y()-5); browseB ->move(fileE->x()+fileE->width()+10,fileL->y()-5); formatL ->move(30,fileL->y()+fileL->height()+20); formatBox ->move(formatL->x()+formatL->width()+20,formatL->y()-5); initFileSelecting(); connect( kfindfileB ,SIGNAL(clicked()), this, SLOT(setFileSelecting()) ); connect( selectfileB ,SIGNAL(clicked()), this, SLOT(setFileSelecting()) ); connect( browseB ,SIGNAL(clicked()), this, SLOT(selectFile()) ); addTab(pages[0],i18n("Saving")); // Third page of tab preferences dialog pages[1]= new QWidget(this,"page3"); archiversLBox = new QListBox( pages[1],"archivesLBox"); createL = new QLabel(i18n("Create Archive:"), pages[1],"createL"); addL = new QLabel(i18n("Add to Archive:"), pages[1],"addL"); createE = new QLineEdit( pages[1],"createE"); addE = new QLineEdit( pages[1],"addE"); paternsL2 = new QLabel(i18n("Patterns:"), pages[1],"paternsL2"); paternsLBox2 = new QListBox( pages[1],"paternsLBox2"); addArchiverB = new QPushButton(i18n("Add New"), pages[1],"addArchiverB"); removeArchiverB = new QPushButton(i18n("Remove"), pages[1],"removeArchiverB"); createE ->setEnabled(FALSE); addE ->setEnabled(FALSE); addArchiverB ->setEnabled(FALSE); removeArchiverB->setEnabled(FALSE); archiversLBox->setFixedSize(120,240); createL ->setFixedSize((createL->sizeHint()).width(),25); addL ->setFixedSize(createL->width(),25); createE ->setFixedSize(130,25); addE ->setFixedSize(130,25); paternsL2 ->setFixedSize(createL->width(),25); paternsLBox2 ->setFixedSize(130,100); int tmpP = archiversLBox->x()+archiversLBox->width()+10; archiversLBox ->move(10,10); createL ->move(tmpP+15,15); addL ->move(tmpP+15,createL->y()+30); paternsL2 ->move(tmpP+15,addL->y()+30); addArchiverB ->move(tmpP+10, 10+archiversLBox->height()-removeArchiverB->height()); removeArchiverB->move(addArchiverB->x()+addArchiverB->width()+35, 10+archiversLBox->height()-removeArchiverB->height()); tmpP = createL->x()+createL->width()+10; createE ->move(tmpP,15); addE ->move(tmpP,createL->y()+30); paternsLBox2->move(tmpP,addL->y()+30); fillArchiverLBox(); fillArchiverDetail(0); connect(archiversLBox,SIGNAL(highlighted(int)), this, SLOT(fillArchiverDetail(int)) ); addTab(pages[1],i18n("Archivers")); };
ActivityDialog::ActivityDialog(ActivityData * d) : Q3TabDialog(0, 0, FALSE, Qt::WDestructiveClose), activity(d) { d->browser_node->edit_start(); if (d->browser_node->is_writable()) { setOkButton(TR("OK")); setCancelButton(TR("Cancel")); } else { setOkButton(QString::null); setCancelButton(TR("Close")); } setCaption(TR("Activity dialog")); visit = !hasOkButton(); BrowserNode * bn = activity->browser_node; Q3Grid * grid; // // general tab // grid = new Q3Grid(2, this); grid->setMargin(5); grid->setSpacing(5); new QLabel(TR("name : "), grid); edname = new LineEdit(bn->get_name(), grid); edname->setReadOnly(visit); new QLabel(TR("stereotype : "), grid); edstereotype = new Q3ComboBox(!visit, grid); edstereotype->insertItem(toUnicode(activity->get_stereotype())); if (!visit) { edstereotype->insertStringList(BrowserActivity::default_stereotypes()); edstereotype->insertStringList(ProfiledStereotypes::defaults(UmlActivity)); edstereotype->setAutoCompletion(completion()); } edstereotype->setCurrentItem(0); QSizePolicy sp = edstereotype->sizePolicy(); sp.setHorData(QSizePolicy::Expanding); edstereotype->setSizePolicy(sp); connect(new SmallPushButton(TR("specification :"), grid), SIGNAL(clicked()), this, SLOT(menu_specification())); edspecification = new Q3ComboBox(FALSE, grid); edspecification->setSizePolicy(sp); if (visit) { if (activity->get_specification() == 0) edspecification->insertItem(""); else edspecification->insertItem(activity->get_specification()->full_name(TRUE)); } else { edspecification->insertItem(""); edspecification->setAutoCompletion(completion()); BrowserOperation::instances(opers); opers.full_names(list); edspecification->insertStringList(list); edspecification->setCurrentItem((activity->get_specification() == 0) ? 0 : opers.findRef(activity->get_specification()) + 1); } new QLabel(grid); Q3ButtonGroup * bg = new Q3ButtonGroup(3, Qt::Horizontal, QString::null, grid); readonly_cb = new QCheckBox(TR("read only"), bg); if (activity->read_only) readonly_cb->setChecked(TRUE); readonly_cb->setDisabled(visit); singlexec_cb = new QCheckBox(TR("single execution"), bg); if (activity->single_execution) singlexec_cb->setChecked(TRUE); singlexec_cb->setDisabled(visit); active_cb = new QCheckBox(TR("active"), bg); if (activity->is_active) active_cb->setChecked(TRUE); active_cb->setDisabled(visit); Q3VBox * vtab = new Q3VBox(grid); new QLabel(TR("description :"), vtab); if (! visit) connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_description())); comment = new MultiLineEdit(grid); comment->setReadOnly(visit); comment->setText(bn->get_comment()); //comment->setFont(font); vtab = new Q3VBox(grid); new QLabel(TR("constraint :"), vtab); if (! visit) { connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_constraint())); } constraint = new MultiLineEdit(grid); constraint->setReadOnly(visit); constraint->setText(activity->constraint); //constraint->setFont(font); addTab(grid, "Uml"); // UML / OCL init_tab(uml, activity->uml_condition, "Ocl", TRUE); // CPP init_tab(cpp, activity->cpp_condition, "C++", GenerationSettings::cpp_get_default_defs()); // Java init_tab(java, activity->java_condition, "Java", GenerationSettings::java_get_default_defs()); // USER : list key - value grid = new Q3Grid(2, this); grid->setMargin(5); grid->setSpacing(5); kvtable = new KeyValuesTable(bn, grid, visit); addTab(grid, TR("Properties")); // connect(this, SIGNAL(currentChanged(QWidget *)), this, SLOT(change_tabs(QWidget *))); open_dialog(this); }
void ProgramWindow::setup(const QList<LinkedFile *> & linkedFiles, const QString & alternativePath) { resize(500,700); setAttribute(Qt::WA_DeleteOnClose, true); QFrame * mainFrame = new QFrame(this); QFrame * headerFrame = createHeader(); QFrame * centerFrame = createCenter(); layout()->setMargin(0); layout()->setSpacing(0); QGridLayout *layout = new QGridLayout(mainFrame); layout->setMargin(0); layout->setSpacing(0); layout->addWidget(headerFrame,0,0); layout->addWidget(centerFrame,1,0); setCentralWidget(mainFrame); setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); QSettings settings; if (!settings.value("programwindow/state").isNull()) { restoreState(settings.value("programwindow/state").toByteArray()); } if (!settings.value("programwindow/geometry").isNull()) { restoreGeometry(settings.value("programwindow/geometry").toByteArray()); } installEventFilter(this); // Setup new menu bar for the programming window QMenuBar *menubar = menuBar(); QMenu *currentMenu = menubar->addMenu(tr("&File")); QAction *currentAction = new QAction(tr("New"), this); currentAction->setShortcut(tr("Ctrl+N")); currentAction->setStatusTip(tr("Create a new program")); connect(currentAction, SIGNAL(triggered()), this, SLOT(addTab())); currentMenu->addAction(currentAction); currentAction = new QAction(tr("&Open..."), this); currentAction->setShortcut(tr("Ctrl+O")); currentAction->setStatusTip(tr("Open a program")); connect(currentAction, SIGNAL(triggered()), this, SLOT(loadProgramFile())); currentMenu->addAction(currentAction); currentMenu->addSeparator(); m_saveAction = new QAction(tr("&Save"), this); m_saveAction->setShortcut(tr("Ctrl+S")); m_saveAction->setStatusTip(tr("Save the current program")); connect(m_saveAction, SIGNAL(triggered()), this, SLOT(save())); currentMenu->addAction(m_saveAction); currentAction = new QAction(tr("Rename"), this); currentAction->setStatusTip(tr("Rename the current program")); connect(currentAction, SIGNAL(triggered()), this, SLOT(rename())); currentMenu->addAction(currentAction); currentAction = new QAction(tr("Duplicate tab"), this); currentAction->setStatusTip(tr("Copies the current program into a new tab")); connect(currentAction, SIGNAL(triggered()), this, SLOT(duplicateTab())); currentMenu->addAction(currentAction); currentMenu->addSeparator(); currentAction = new QAction(tr("Remove tab"), this); currentAction->setShortcut(tr("Ctrl+W")); currentAction->setStatusTip(tr("Remove the current program from the sketch")); connect(currentAction, SIGNAL(triggered()), this, SLOT(closeCurrentTab())); currentMenu->addAction(currentAction); currentMenu->addSeparator(); m_printAction = new QAction(tr("&Print..."), this); m_printAction->setShortcut(tr("Ctrl+P")); m_printAction->setStatusTip(tr("Print the current program")); connect(m_printAction, SIGNAL(triggered()), this, SLOT(print())); currentMenu->addAction(m_printAction); currentMenu->addSeparator(); currentAction = new QAction(tr("&Quit"), this); currentAction->setShortcut(tr("Ctrl+Q")); currentAction->setStatusTip(tr("Quit the application")); currentAction->setMenuRole(QAction::QuitRole); connect(currentAction, SIGNAL(triggered()), qApp, SLOT(closeAllWindows2())); currentMenu->addAction(currentAction); currentMenu = menubar->addMenu(tr("&Edit")); m_undoAction = new QAction(tr("Undo"), this); m_undoAction->setShortcuts(QKeySequence::Undo); m_undoAction->setEnabled(false); connect(m_undoAction, SIGNAL(triggered()), this, SLOT(undo())); currentMenu->addAction(m_undoAction); m_redoAction = new QAction(tr("Redo"), this); m_redoAction->setShortcuts(QKeySequence::Redo); m_redoAction->setEnabled(false); connect(m_redoAction, SIGNAL(triggered()), this, SLOT(redo())); currentMenu->addAction(m_redoAction); currentMenu->addSeparator(); m_cutAction = new QAction(tr("&Cut"), this); m_cutAction->setShortcut(tr("Ctrl+X")); m_cutAction->setStatusTip(tr("Cut selection")); m_cutAction->setEnabled(false); connect(m_cutAction, SIGNAL(triggered()), this, SLOT(cut())); currentMenu->addAction(m_cutAction); m_copyAction = new QAction(tr("&Copy"), this); m_copyAction->setShortcut(tr("Ctrl+C")); m_copyAction->setStatusTip(tr("Copy selection")); m_copyAction->setEnabled(false); connect(m_copyAction, SIGNAL(triggered()), this, SLOT(copy())); currentMenu->addAction(m_copyAction); currentAction = new QAction(tr("&Paste"), this); currentAction->setShortcut(tr("Ctrl+V")); currentAction->setStatusTip(tr("Paste clipboard contents")); // TODO: Check clipboard status and disable appropriately here connect(currentAction, SIGNAL(triggered()), this, SLOT(paste())); currentMenu->addAction(currentAction); currentMenu->addSeparator(); currentAction = new QAction(tr("&Select All"), this); currentAction->setShortcut(tr("Ctrl+A")); currentAction->setStatusTip(tr("Select all text")); connect(currentAction, SIGNAL(triggered()), this, SLOT(selectAll())); currentMenu->addAction(currentAction); currentMenu = menuBar()->addMenu(tr("&Program")); QMenu *languageMenu = new QMenu(tr("Select language"), this); currentMenu->addMenu(languageMenu); QString currentLanguage = settings.value("programwindow/language", "").toString(); QStringList languages = getAvailableLanguages(); QActionGroup *languageActionGroup = new QActionGroup(this); foreach (QString language, languages) { currentAction = new QAction(language, this); currentAction->setCheckable(true); m_languageActions.insert(language, currentAction); languageActionGroup->addAction(currentAction); languageMenu->addAction(currentAction); if (!currentLanguage.isEmpty()) { if (language.compare(currentLanguage) == 0) { currentAction->setChecked(true); } } }
UseCaseDialog::UseCaseDialog(UseCaseData * u) : Q3TabDialog(0, 0, FALSE, Qt::WDestructiveClose), uc(u) { BrowserNode * bn = u->browser_node; bn->edit_start(); if (bn->is_writable()) { setOkButton(TR("OK")); setCancelButton(TR("Cancel")); } else { setOkButton(QString()); setCancelButton(TR("Close")); } setCaption(TR("Use Case dialog")); bool visit = !hasOkButton(); // general tab Q3Grid * grid = new Q3Grid(2, this); grid->setMargin(5); grid->setSpacing(5); new QLabel(TR("name : "), grid); edname = new LineEdit(bn->get_name(), grid); edname->setReadOnly(visit); new QLabel(TR("stereotype : "), grid); edstereotype = new Q3ComboBox(!visit, grid); edstereotype->insertItem(toUnicode(uc->get_stereotype())); if (! visit) { edstereotype->insertStringList(BrowserUseCase::default_stereotypes()); edstereotype->insertStringList(ProfiledStereotypes::defaults(UmlUseCase)); edstereotype->setAutoCompletion(completion()); } edstereotype->setCurrentItem(0); QSizePolicy sp = edstereotype->sizePolicy(); sp.setHorData(QSizePolicy::Expanding); edstereotype->setSizePolicy(sp); new QLabel(TR("extension \npoints : "), grid); extension_points = new MultiLineEdit(grid); extension_points->setReadOnly(visit); extension_points->setText(uc->get_extension_points()); QFont font = extension_points->font(); if (! hasCodec()) font.setFamily("Courier"); font.setFixedPitch(TRUE); extension_points->setFont(font); Q3VBox * vtab = new Q3VBox(grid); new QLabel(TR("description :"), vtab); if (! visit) connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_description())); comment = new MultiLineEdit(grid); comment->setReadOnly(visit); comment->setText(bn->get_comment()); comment->setFont(font); addTab(grid, "Uml"); // USER : list key - value grid = new Q3Grid(2, this); grid->setMargin(5); grid->setSpacing(5); kvtable = new KeyValuesTable(bn, grid, visit); addTab(grid, TR("Properties")); open_dialog(this); }
ActivityPartitionDialog::ActivityPartitionDialog(ActivityPartitionData * d) : Q3TabDialog(0, 0, FALSE, Qt::WDestructiveClose), data(d) { d->browser_node->edit_start(); if (d->browser_node->is_writable()) { setOkButton(TR("OK")); setCancelButton(TR("Cancel")); } else { setOkButton(QString::null); setCancelButton(TR("Close")); } setCaption(TR("Activity Partition dialog")); bool visit = !hasOkButton(); // general tab BrowserNode * bn = data->get_browser_node(); Q3Grid * grid = new Q3Grid(2, this); umltab = grid; grid->setMargin(5); grid->setSpacing(5); new QLabel(TR("name : "), grid); edname = new LineEdit(bn->get_name(), grid); edname->setReadOnly(visit); new QLabel(TR("stereotype : "), grid); edstereotype = new Q3ComboBox(!visit, grid); edstereotype->insertItem(toUnicode(data->get_stereotype())); if (! visit) { edstereotype->insertStringList(BrowserActivityPartition::default_stereotypes()); edstereotype->insertStringList(ProfiledStereotypes::defaults(UmlActivityPartition)); edstereotype->setAutoCompletion(completion()); } edstereotype->setCurrentItem(0); QSizePolicy sp = edstereotype->sizePolicy(); sp.setHorData(QSizePolicy::Expanding); edstereotype->setSizePolicy(sp); connect(new SmallPushButton(TR("represents :"), grid), SIGNAL(clicked()), this, SLOT(menu_represents())); edrepresents = new Q3ComboBox(FALSE, grid); if ((data->represents != 0) && !data->represents->deletedp()) { represented = data->represents; edrepresents->insertItem(*(data->represents->pixmap(0)), data->represents->full_name(TRUE)); } else { represented = 0; edrepresents->insertItem(""); } if (! visit) edrepresents->insertItem(""); edrepresents->setCurrentItem(0); edrepresents->setSizePolicy(sp); Q3HBox * htab; new QLabel(grid); htab = new Q3HBox(grid); new QLabel(" ", htab); dimension_cb = new QCheckBox(TR("is dimension"), htab); if (data->is_dimension) dimension_cb->setChecked(TRUE); dimension_cb->setDisabled(visit); new QLabel("", htab); external_cb = new QCheckBox(TR("is external"), htab); if (data->is_external) external_cb->setChecked(TRUE); external_cb->setDisabled(visit); new QLabel("", htab); Q3VBox * vtab = new Q3VBox(grid); new QLabel(TR("description :"), vtab); if (! visit) connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, SLOT(edit_description())); comment = new MultiLineEdit(grid); comment->setReadOnly(visit); comment->setText(bn->get_comment()); QFont font = comment->font(); if (! hasCodec()) font.setFamily("Courier"); font.setFixedPitch(TRUE); comment->setFont(font); addTab(grid, "Uml"); // USER : list key - value grid = new Q3Grid(2, this); grid->setMargin(5); grid->setSpacing(5); kvtable = new KeyValuesTable(bn, grid, visit); addTab(grid, TR("Properties")); // connect(this, SIGNAL(currentChanged(QWidget *)), this, SLOT(change_tabs(QWidget *))); open_dialog(this); }
Expert::Expert( QWidget *parent ) : QTabDialog( parent ) { m_dependencies = new QDict< QList<IInput> >(257); m_dependencies->setAutoDelete(TRUE); m_inputWidgets = new QDict< IInput >; m_switches = new QDict< QObject >; m_changed = FALSE; setHelpButton(); QListIterator<ConfigOption> options = Config::instance()->iterator(); QVBoxLayout *pageLayout = 0; QFrame *page = 0; ConfigOption *option = 0; for (options.toFirst();(option=options.current());++options) { switch(option->kind()) { case ConfigOption::O_Info: { if (pageLayout) pageLayout->addStretch(1); QScrollView *view = new QScrollView(this); view->setVScrollBarMode(QScrollView::Auto); view->setHScrollBarMode(QScrollView::AlwaysOff); view->setResizePolicy(QScrollView::AutoOneFit); page = new QFrame( view->viewport(), option->name() ); pageLayout = new QVBoxLayout(page); pageLayout->setMargin(10); view->addChild(page); addTab(view,option->name()); QWhatsThis::add(page, option->docs().simplifyWhiteSpace() ); QToolTip::add(page, option->docs() ); } break; case ConfigOption::O_String: { ASSERT(page!=0); InputString::StringMode sm=InputString::StringFree; switch(((ConfigString *)option)->widgetType()) { case ConfigString::String: sm=InputString::StringFree; break; case ConfigString::File: sm=InputString::StringFile; break; case ConfigString::Dir: sm=InputString::StringDir; break; } InputString *inputString = new InputString( option->name(), // name page, // widget *((ConfigString *)option)->valueRef(), // variable sm // type ); pageLayout->addWidget(inputString); QWhatsThis::add(inputString, option->docs().simplifyWhiteSpace() ); QToolTip::add(inputString,option->docs()); connect(inputString,SIGNAL(changed()),SLOT(changed())); m_inputWidgets->insert(option->name(),inputString); addDependency(m_switches,option->dependsOn(),option->name()); } break; case ConfigOption::O_Enum: { ASSERT(page!=0); InputString *inputString = new InputString( option->name(), // name page, // widget *((ConfigEnum *)option)->valueRef(), // variable InputString::StringFixed // type ); pageLayout->addWidget(inputString); QStrListIterator sli=((ConfigEnum *)option)->iterator(); for (sli.toFirst();sli.current();++sli) { inputString->addValue(sli.current()); } inputString->init(); QWhatsThis::add(inputString, option->docs().simplifyWhiteSpace() ); QToolTip::add(inputString, option->docs()); connect(inputString,SIGNAL(changed()),SLOT(changed())); m_inputWidgets->insert(option->name(),inputString); addDependency(m_switches,option->dependsOn(),option->name()); } break; case ConfigOption::O_List: { ASSERT(page!=0); InputStrList::ListMode lm=InputStrList::ListString; switch(((ConfigList *)option)->widgetType()) { case ConfigList::String: lm=InputStrList::ListString; break; case ConfigList::File: lm=InputStrList::ListFile; break; case ConfigList::Dir: lm=InputStrList::ListDir; break; case ConfigList::FileAndDir: lm=InputStrList::ListFileDir; break; } InputStrList *inputStrList = new InputStrList( option->name(), // name page, // widget *((ConfigList *)option)->valueRef(), // variable lm // type ); pageLayout->addWidget(inputStrList); QWhatsThis::add(inputStrList, option->docs().simplifyWhiteSpace() ); QToolTip::add(inputStrList, option->docs()); connect(inputStrList,SIGNAL(changed()),SLOT(changed())); m_inputWidgets->insert(option->name(),inputStrList); addDependency(m_switches,option->dependsOn(),option->name()); } break; break; case ConfigOption::O_Bool: { ASSERT(page!=0); InputBool *inputBool = new InputBool( option->name(), // name page, // widget *((ConfigBool *)option)->valueRef() // variable ); pageLayout->addWidget(inputBool); QWhatsThis::add(inputBool, option->docs().simplifyWhiteSpace() ); QToolTip::add(inputBool, option->docs() ); connect(inputBool,SIGNAL(changed()),SLOT(changed())); m_inputWidgets->insert(option->name(),inputBool); addDependency(m_switches,option->dependsOn(),option->name()); } break; case ConfigOption::O_Int: { ASSERT(page!=0); InputInt *inputInt = new InputInt( option->name(), // name page, // widget *((ConfigInt *)option)->valueRef(), // variable ((ConfigInt *)option)->minVal(), // min value ((ConfigInt *)option)->maxVal() // max value ); pageLayout->addWidget(inputInt); QWhatsThis::add(inputInt, option->docs().simplifyWhiteSpace() ); QToolTip::add(inputInt, option->docs() ); connect(inputInt,SIGNAL(changed()),SLOT(changed())); m_inputWidgets->insert(option->name(),inputInt); addDependency(m_switches,option->dependsOn(),option->name()); } break; case ConfigOption::O_Obsolete: break; } } if (pageLayout) pageLayout->addStretch(1); QDictIterator<QObject> di(*m_switches); QObject *obj = 0; for (di.toFirst();(obj=di.current());++di) { connect(obj,SIGNAL(toggle(const char *,bool)),SLOT(toggle(const char *,bool))); // UGLY HACK: assumes each item depends on a boolean without checking! emit toggle(di.currentKey(),((InputBool *)obj)->getState()); } connect(this,SIGNAL(helpButtonPressed()),this,SLOT(handleHelp())); }
KfindTabWidget::KfindTabWidget(QWidget *parent) : KTabWidget( parent ), regExpDialog(0) { // This validator will be used for all numeric edit fields //KDigitValidator *digitV = new KDigitValidator(this); // ************ Page One ************ pages[0] = new QWidget; pages[0]->setObjectName( QLatin1String( "page1" ) ); nameBox = new KComboBox(pages[0]); nameBox->setEditable( true ); nameBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); // allow smaller than widest entry QLabel * namedL = new QLabel(i18nc("this is the label for the name textfield","&Named:"), pages[0]); namedL->setBuddy( nameBox ); namedL->setObjectName( QLatin1String( "named" ) ); namedL->setToolTip( i18n("You can use wildcard matching and \";\" for separating multiple names") ); dirBox = new KUrlComboBox(KUrlComboBox::Directories, pages[0]); dirBox->setEditable( true ); dirBox->setCompletionObject(new KUrlCompletion(KUrlCompletion::DirCompletion)); dirBox->setAutoDeleteCompletionObject(true); dirBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); // allow smaller than widest entry QLabel * lookinL = new QLabel(i18n("Look &in:"), pages[0]); lookinL->setBuddy( dirBox ); lookinL->setObjectName( QLatin1String( "lookin" ) ); subdirsCb = new QCheckBox(i18n("Include &subfolders"), pages[0]); caseSensCb = new QCheckBox(i18n("Case s&ensitive search"), pages[0]); browseB = new QPushButton(i18n("&Browse..."), pages[0]); useLocateCb = new QCheckBox(i18n("&Use files index"), pages[0]); hiddenFilesCb = new QCheckBox(i18n("Show &hidden files"), pages[0]); // Setup subdirsCb->setChecked(true); caseSensCb->setChecked(false); useLocateCb->setChecked(false); hiddenFilesCb->setChecked(false); if(KStandardDirs::findExe(QLatin1String("locate")).isEmpty()) useLocateCb->setEnabled(false); nameBox->setDuplicatesEnabled(false); nameBox->setFocus(); dirBox->setDuplicatesEnabled(false); nameBox->setInsertPolicy(QComboBox::InsertAtTop); dirBox->setInsertPolicy(QComboBox::InsertAtTop); const QString nameWhatsThis = i18n("<qt>Enter the filename you are looking for. <br />" "Alternatives may be separated by a semicolon \";\".<br />" "<br />" "The filename may contain the following special characters:" "<ul>" "<li><b>?</b> matches any single character</li>" "<li><b>*</b> matches zero or more of any characters</li>" "<li><b>[...]</b> matches any of the characters between the braces</li>" "</ul>" "<br />" "Example searches:" "<ul>" "<li><b>*.kwd;*.txt</b> finds all files ending with .kwd or .txt</li>" "<li><b>go[dt]</b> finds god and got</li>" "<li><b>Hel?o</b> finds all files that start with \"Hel\" and end with \"o\", " "having one character in between</li>" "<li><b>My Document.kwd</b> finds a file of exactly that name</li>" "</ul></qt>"); nameBox->setWhatsThis(nameWhatsThis); namedL->setWhatsThis(nameWhatsThis); const QString whatsfileindex = i18n("<qt>This lets you use the files' index created by the <i>slocate</i> " "package to speed-up the search; remember to update the index from time to time " "(using <i>updatedb</i>)." "</qt>"); useLocateCb->setWhatsThis(whatsfileindex); // Layout QGridLayout *grid = new QGridLayout( pages[0] ); grid->setMargin( KDialog::marginHint() ); grid->setSpacing( KDialog::spacingHint() ); QVBoxLayout *subgrid = new QVBoxLayout(); grid->addWidget( namedL, 0, 0 ); grid->addWidget( nameBox, 0, 1, 1, 3 ); grid->addWidget( lookinL, 1, 0 ); grid->addWidget( dirBox, 1, 1 ); grid->addWidget( browseB, 1, 2); grid->setColumnStretch(1,1); grid->addLayout( subgrid, 2, 1, 1, 2 ); QHBoxLayout * layoutOne = new QHBoxLayout(); layoutOne->addWidget( subdirsCb ); layoutOne->addWidget( hiddenFilesCb ); QHBoxLayout * layoutTwo = new QHBoxLayout(); layoutTwo->addWidget( caseSensCb); layoutTwo->addWidget( useLocateCb ); subgrid->addLayout( layoutOne ); subgrid->addLayout( layoutTwo ); subgrid->addStretch(1); // Signals connect(browseB, &QPushButton::clicked, this, &KfindTabWidget::getDirectory); connect(nameBox, static_cast<void (KComboBox::*)()>(&KComboBox::returnPressed), this, &KfindTabWidget::startSearch); connect(dirBox, static_cast<void (KUrlComboBox::*)()>(&KUrlComboBox::returnPressed), this, &KfindTabWidget::startSearch); // ************ Page Two pages[1] = new QWidget; pages[1]->setObjectName( QLatin1String( "page2" ) ); findCreated = new QCheckBox(i18n("Find all files created or &modified:"), pages[1]); bg = new QButtonGroup(); rb[0] = new QRadioButton(i18n("&between"), pages[1] ); rb[1] = new QRadioButton(pages[1]); // text set in updateDateLabels andL = new QLabel(i18n("and"), pages[1]); andL->setObjectName( QLatin1String( "and" ) ); betweenType = new KComboBox( pages[1] ); betweenType->setObjectName( QLatin1String( "comboBetweenType" ) ); betweenType->addItems(QVector<QString>(5).toList()); // texts set in updateDateLabels betweenType->setCurrentIndex(1); updateDateLabels(1, 1); QDate dt = KLocale::global()->calendar()->addYears(QDate::currentDate(), -1); fromDate = new KDateCombo(dt, pages[1] ); fromDate->setObjectName( QLatin1String( "fromDate" ) ); toDate = new KDateCombo(pages[1] ); toDate->setObjectName( QLatin1String( "toDate" ) ); timeBox = new KIntSpinBox( pages[1] ); timeBox->setRange( 1, 60 ); timeBox->setSingleStep( 1 ); timeBox->setObjectName( QLatin1String( "timeBox" ) ); sizeBox =new KComboBox( pages[1] ); sizeBox->setObjectName( QLatin1String( "sizeBox" ) ); QLabel * sizeL =new QLabel(i18n("File &size is:"), pages[1]); sizeL->setBuddy( sizeBox ); sizeEdit=new KIntSpinBox(pages[1] ); sizeEdit->setRange( 0, INT_MAX ); sizeEdit->setSingleStep( 1 ); sizeEdit->setObjectName( QLatin1String( "sizeEdit" ) ); sizeEdit->setValue(1); sizeUnitBox =new KComboBox( pages[1] ); sizeUnitBox->setObjectName( QLatin1String( "sizeUnitBox" ) ); m_usernameBox = new KComboBox( pages[1] ); m_usernameBox->setEditable( true ); m_usernameBox->setObjectName( QLatin1String( "m_combo1" )); QLabel *usernameLabel= new QLabel(i18n("Files owned by &user:"******"m_combo2" ) ); QLabel *groupLabel= new QLabel(i18n("Owned by &group:"),pages[1]); groupLabel->setBuddy( m_groupBox ); sizeBox ->addItem( i18nc("file size isn't considered in the search","(none)") ); sizeBox ->addItem( i18n("At Least") ); sizeBox ->addItem( i18n("At Most") ); sizeBox ->addItem( i18n("Equal To") ); sizeUnitBox ->addItem( i18np("Byte", "Bytes", 1) ); sizeUnitBox ->addItem( i18n("KiB") ); sizeUnitBox ->addItem( i18n("MiB") ); sizeUnitBox ->addItem( i18n("GiB") ); sizeUnitBox ->setCurrentIndex(1); int tmp = sizeEdit->fontMetrics().width(QLatin1String(" 000000000 ")); sizeEdit->setMinimumSize(tmp, sizeEdit->sizeHint().height()); m_usernameBox->setDuplicatesEnabled(false); m_groupBox->setDuplicatesEnabled(false); m_usernameBox->setInsertPolicy(QComboBox::InsertAtTop); m_groupBox->setInsertPolicy(QComboBox::InsertAtTop); // Setup rb[0]->setChecked(true); bg->addButton( rb[0] ); bg->addButton( rb[1] ); // Layout QGridLayout *grid1 = new QGridLayout( pages[1] ); grid1->setMargin( KDialog::marginHint() ); grid1->setSpacing( KDialog::spacingHint() ); grid1->addWidget(findCreated, 0, 0, 1, 3 ); grid1->addItem( new QSpacerItem(KDialog::spacingHint(), 0), 0, 0 ); grid1->addWidget(rb[0], 1, 1 ); grid1->addWidget(fromDate, 1, 2 ); grid1->addWidget(andL, 1, 3, Qt::AlignHCenter ); grid1->addWidget(toDate, 1, 4 ); grid1->addWidget(rb[1], 2, 1 ); grid1->addWidget(timeBox, 2, 2, 1, 2); grid1->addWidget(betweenType, 2, 4 ); grid1->addWidget(sizeL,3,0,1,2); grid1->addWidget(sizeBox,3,2); grid1->addWidget(sizeEdit,3,3); grid1->addWidget(sizeUnitBox,3,4); grid1->addWidget(usernameLabel,4,0,1,2); grid1->addWidget(m_usernameBox,4,2); grid1->addWidget(groupLabel,4,3); grid1->addWidget(m_groupBox,4,4); for (int c=1; c<=4; c++) grid1->setColumnStretch(c,1); grid1->setRowStretch(6,1); // Connect connect(findCreated, &QCheckBox::toggled, this, &KfindTabWidget::fixLayout); connect(bg, static_cast<void (QButtonGroup::*)(QAbstractButton *)>(&QButtonGroup::buttonClicked), this, &KfindTabWidget::fixLayout); connect(sizeBox, static_cast<void (KComboBox::*)(int)>(&KComboBox::activated), this, &KfindTabWidget::slotSizeBoxChanged); connect(timeBox, static_cast<void (KIntSpinBox::*)(int)>(&KIntSpinBox::valueChanged), this, &KfindTabWidget::slotUpdateDateLabelsForNumber); connect(betweenType, static_cast<void (KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &KfindTabWidget::slotUpdateDateLabelsForType); connect(sizeEdit, static_cast<void (KIntSpinBox::*)(int)>(&KIntSpinBox::valueChanged), this, &KfindTabWidget::slotUpdateByteComboBox); // ************ Page Three pages[2] = new QWidget; pages[2]->setObjectName( QLatin1String( "page3" ) ); typeBox =new KComboBox( pages[2] ); typeBox->setObjectName( QLatin1String( "typeBox" ) ); typeBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); // allow smaller than widest entry QLabel * typeL =new QLabel( i18nc("label for the file type combobox","File &type:"), pages[2] ); typeL->setBuddy( typeBox ); textEdit=new KLineEdit(pages[2]); textEdit->setClearButtonShown(true); textEdit->setObjectName( QLatin1String( "textEdit" ) ); QLabel * textL =new QLabel(i18n("C&ontaining text:"), pages[2]); textL->setBuddy( textEdit ); connect(textEdit, &KLineEdit::returnPressed, this, &KfindTabWidget::startSearch); const QString containingtext = i18n("<qt>If specified, only files that contain this text" " are found. Note that not all file types from the list" " above are supported. Please refer to the documentation" " for a list of supported file types." "</qt>"); textEdit->setToolTip(containingtext); textL->setWhatsThis(containingtext); caseContextCb =new QCheckBox(i18n("Case s&ensitive"), pages[2]); binaryContextCb =new QCheckBox(i18n("Include &binary files"), pages[2]); regexpContentCb =new QCheckBox(i18n("Regular e&xpression"), pages[2]); const QString binaryTooltip = i18n("<qt>This lets you search in any type of file, " "even those that usually do not contain text (for example " "program files and images).</qt>"); binaryContextCb->setToolTip(binaryTooltip); QPushButton* editRegExp = 0; if ( !KServiceTypeTrader::self()->query(QStringLiteral("KRegExpEditor/KRegExpEditor")).isEmpty() ) { // The editor is available, so lets use it. editRegExp = new QPushButton(i18n("&Edit..."), pages[2]); editRegExp->setObjectName( QLatin1String( "editRegExp" ) ); } metainfokeyEdit=new KLineEdit(pages[2]); metainfoEdit=new KLineEdit(pages[2]); QLabel * textMetaInfo = new QLabel(i18nc("as in search for", "fo&r:"), pages[2]); textMetaInfo->setBuddy( metainfoEdit ); QLabel * textMetaKey = new QLabel(i18n("Search &metainfo sections:"), pages[2]); textMetaKey->setBuddy( metainfokeyEdit ); // Setup typeBox->addItem(i18n("All Files & Folders")); typeBox->addItem(i18n("Files")); typeBox->addItem(i18n("Folders")); typeBox->addItem(i18n("Symbolic Links")); typeBox->addItem(i18n("Special Files (Sockets, Device Files, ...)")); typeBox->addItem(i18n("Executable Files")); typeBox->addItem(i18n("SUID Executable Files")); typeBox->addItem(i18n("All Images")); typeBox->addItem(i18n("All Video")); typeBox->addItem(i18n("All Sounds")); initMimeTypes(); initSpecialMimeTypes(); for ( KMimeType::List::ConstIterator it = m_types.constBegin(); it != m_types.constEnd(); ++it ) { KMimeType::Ptr typ = *it; // TODO: needs to move to thread (increases startup time to bizzare amount) // and replaced with a better concept 16x16 icons don't cut the cheese // typeBox->addItem(KIconLoader::global()->loadMimeTypeIcon( typ->iconName(), KIconLoader::Small ), typ->comment()); typeBox->addItem(typ->comment()); } if ( editRegExp ) { // The editor was available, so lets use it. connect(regexpContentCb, &QCheckBox::toggled, editRegExp, &QPushButton::setEnabled); editRegExp->setEnabled(false); connect(editRegExp, &QPushButton::clicked, this, &KfindTabWidget::slotEditRegExp); } else regexpContentCb->hide(); // Layout tmp = sizeEdit->fontMetrics().width(QLatin1String(" 00000 ")); sizeEdit->setMinimumSize(tmp, sizeEdit->sizeHint().height()); QGridLayout *grid2 = new QGridLayout( pages[2] ); grid2->setMargin( KDialog::marginHint() ); grid2->setSpacing( KDialog::spacingHint() ); grid2->addWidget( typeL, 0, 0 ); grid2->addWidget( textL, 1, 0 ); grid2->addWidget( typeBox, 0, 1, 1, 3 ); grid2->addWidget( textEdit, 1, 1, 1, 3 ); grid2->addWidget( regexpContentCb, 2, 2); grid2->addWidget( caseContextCb, 2, 1 ); grid2->addWidget( binaryContextCb, 3, 1); grid2->addWidget( textMetaKey, 4, 0 ); grid2->addWidget( metainfokeyEdit, 4, 1 ); grid2->addWidget( textMetaInfo, 4, 2, Qt::AlignHCenter ); grid2->addWidget( metainfoEdit, 4, 3 ); metainfokeyEdit->setText(QLatin1String("*")); if ( editRegExp ) { // The editor was available, so lets use it. grid2->addWidget( editRegExp, 2, 3 ); } addTab( pages[0], i18n("Name/&Location") ); addTab( pages[2], i18nc("tab name: search by contents","C&ontents") ); addTab( pages[1], i18n("&Properties") ); // Setup const QString whatsmetainfo = i18n("<qt>Search within files' specific comments/metainfo<br />" "These are some examples:<br />" "<ul>" "<li><b>Audio files (mp3...)</b> Search in id3 tag for a title, an album</li>" "<li><b>Images (png...)</b> Search images with a special resolution, comment...</li>" "</ul>" "</qt>"); const QString whatsmetainfokey = i18n("<qt>If specified, search only in this field<br />" "<ul>" "<li><b>Audio files (mp3...)</b> This can be Title, Album...</li>" "<li><b>Images (png...)</b> Search only in Resolution, Bitdepth...</li>" "</ul>" "</qt>"); textMetaInfo->setWhatsThis(whatsmetainfo); metainfoEdit->setToolTip(whatsmetainfo); textMetaKey->setWhatsThis(whatsmetainfokey); metainfokeyEdit->setToolTip(whatsmetainfokey); fixLayout(); loadHistory(); }
MarginWidget::MarginWidget( QWidget* parent, QString /*title*/, const MarginStruct* margs, int unitIndex, bool showChangeAll, bool showBleeds) : QTabWidget(parent), pageType(0) { marginData=*margs; savedMargins=*margs; savedPresetItem=PresetLayout::none; //we don't recheck if we are using a layout but always start at none facingPages = false; useBleeds = showBleeds; marginPage = new QWidget(this); presetCombo = new PresetLayout(marginPage); presetLabel = new QLabel( tr("Preset Layouts:"), marginPage); presetLabel->setBuddy(presetCombo); m_unitIndex=unitIndex; m_unitRatio=unitGetRatioFromIndex(unitIndex); leftR = new ScrSpinBox( 0, 1000, marginPage, unitIndex ); rightR = new ScrSpinBox( 0, 1000, marginPage, unitIndex ); topR = new ScrSpinBox( 0, 1000, marginPage, unitIndex ); bottomR = new ScrSpinBox( 0, 1000, marginPage, unitIndex ); updateMarginSpinValues(); bText = new QLabel( tr( "&Bottom:" ), marginPage); bText->setBuddy(bottomR); tText = new QLabel( tr( "&Top:" ), marginPage); tText->setBuddy(topR); rText = new QLabel( tr( "&Right:" ), marginPage); rText->setBuddy(rightR); lText = new QLabel( tr( "&Left:" ), marginPage); lText->setBuddy(leftR); linkMargins = new LinkButton( marginPage ); linkMargins->setCheckable( true ); linkMargins->setChecked(false); linkMargins->setAutoRaise( true ); linkMargins->setMinimumSize( QSize( 15, 0 ) ); linkMargins->setMaximumSize( QSize( 15, 32767 ) ); // layout GroupLayout = new QGridLayout( marginPage ); GroupLayout->setSpacing( 5 ); GroupLayout->setMargin( 10 ); GroupLayout->addWidget(presetLabel, 0, 0); GroupLayout->addWidget(presetCombo, 0, 1); GroupLayout->addWidget( leftR, 1, 1 ); GroupLayout->addWidget( rightR, 2, 1 ); GroupLayout->addWidget( topR, 3, 1 ); GroupLayout->addWidget( bottomR, 4, 1 ); GroupLayout->addWidget( lText, 1, 0 ); GroupLayout->addWidget( rText, 2, 0 ); GroupLayout->addWidget( tText, 3, 0 ); GroupLayout->addWidget( bText, 4, 0 ); GroupLayout->addWidget( linkMargins, 1, 2, 4, 1 ); if (showChangeAll) { marginsForPagesLayout = new QHBoxLayout; marginsForPagesLayout->setMargin(5); marginsForPagesLayout->setSpacing(5); marginsForPages = new QLabel( tr( "Apply settings to:" ), marginPage ); marginsForPagesLayout->addWidget(marginsForPages); marginsForAllPages = new QCheckBox( marginPage ); marginsForAllPages->setText( tr( "All Document Pages" ) ); marginsForAllPages->setChecked( false ); marginsForPagesLayout->addWidget(marginsForAllPages); marginsForAllMasterPages = new QCheckBox( marginPage ); marginsForAllMasterPages->setText( tr( "All Master Pages" ) ); marginsForAllMasterPages->setChecked( false ); marginsForPagesLayout->addWidget(marginsForAllMasterPages); GroupLayout->addLayout( marginsForPagesLayout, 6, 0, 1, 2 ); marginsForAllPages->setToolTip( "<qt>" + tr( "Apply the margin changes to all existing pages in the document" ) + "</qt>" ); marginsForAllMasterPages->setToolTip( "<qt>" + tr( "Apply the margin changes to all existing master pages in the document" ) + "</qt>" ); } else { marginsForPages=NULL; marginsForAllPages=NULL; marginsForAllMasterPages=NULL; } usePrinterMarginsButton=NULL; #if defined(HAVE_CUPS) || defined(_WIN32) usePrinterMarginsButton=new QPushButton( tr("Printer Margins..."),marginPage ); GroupLayout->addWidget( usePrinterMarginsButton, 5, 1 ); usePrinterMarginsButton->setToolTip( "<qt>" + tr( "Import the margins for the selected page size from the available printers" ) + "</qt>"); connect(usePrinterMarginsButton, SIGNAL(clicked()), this, SLOT(setMarginsToPrinterMargins())); #endif addTab(marginPage, tr("Margin Guides")); if (useBleeds) { bleedPage = new QWidget(this); BleedGroupLayout = new QGridLayout( bleedPage ); BleedGroupLayout->setSpacing( 5 ); BleedGroupLayout->setMargin( 10 ); BleedGroupLayout->setAlignment( Qt::AlignTop ); BleedTxt3 = new QLabel( bleedPage ); BleedGroupLayout->addWidget( BleedTxt3, 0, 0 ); BleedLeft = new ScrSpinBox( 0, 3000*m_unitRatio, bleedPage, unitIndex ); BleedGroupLayout->addWidget( BleedLeft, 0, 1 ); BleedTxt4 = new QLabel( bleedPage ); BleedGroupLayout->addWidget( BleedTxt4, 1, 0 ); BleedRight = new ScrSpinBox( 0, 3000*m_unitRatio, bleedPage, unitIndex ); BleedGroupLayout->addWidget( BleedRight, 1, 1 ); BleedTxt1 = new QLabel( bleedPage ); BleedTxt1->setText( tr( "Top:" ) ); BleedGroupLayout->addWidget( BleedTxt1, 2, 0 ); BleedTop = new ScrSpinBox( 0, 3000*m_unitRatio, bleedPage, unitIndex ); BleedGroupLayout->addWidget( BleedTop, 2, 1 ); BleedTxt2 = new QLabel( bleedPage ); BleedTxt2->setText( tr( "Bottom:" ) ); BleedGroupLayout->addWidget( BleedTxt2, 3, 0 ); BleedBottom = new ScrSpinBox( 0, 3000*m_unitRatio, bleedPage, unitIndex ); BleedGroupLayout->addWidget( BleedBottom, 3, 1 ); linkBleeds = new LinkButton( bleedPage ); /** Fix Me to move this to the prefsmanager.cpp someday */ linkBleeds->setCheckable( true ); linkBleeds->setChecked(true); linkBleeds->setAutoRaise( true ); linkBleeds->setMinimumSize( QSize( 15, 0 ) ); linkBleeds->setMaximumSize( QSize( 15, 32767 ) ); BleedGroupLayout->addWidget( linkBleeds, 0, 2, 4, 1 ); BleedTop->setToolTip( "<qt>" + tr( "Distance for bleed from the top of the physical page" ) + "</qt>" ); BleedBottom->setToolTip( "<qt>" + tr( "Distance for bleed from the bottom of the physical page" ) + "</qt>" ); BleedLeft->setToolTip( "<qt>" + tr( "Distance for bleed from the left of the physical page" ) + "</qt>" ); BleedRight->setToolTip( "<qt>" + tr( "Distance for bleed from the right of the physical page" ) + "</qt>"); linkBleeds->setToolTip( "<qt>" + tr( "Ensure all bleeds have the same value" ) + "</qt>"); connect(BleedLeft, SIGNAL(valueChanged(double)), this, SLOT(changeBleeds())); connect(BleedRight, SIGNAL(valueChanged(double)), this, SLOT(changeBleeds())); connect(BleedTop, SIGNAL(valueChanged(double)), this, SLOT(changeBleeds())); connect(BleedBottom, SIGNAL(valueChanged(double)), this, SLOT(changeBleeds())); connect(linkBleeds, SIGNAL(clicked()), this, SLOT(slotLinkBleeds())); addTab(bleedPage, tr("Bleeds")); } // hints topR->setToolTip( "<qt>" + tr( "Distance between the top margin guide and the edge of the page" ) + "</qt>"); bottomR->setToolTip( "<qt>" + tr( "Distance between the bottom margin guide and the edge of the page" ) + "</qt>"); leftR->setToolTip( "<qt>" + tr( "Distance between the left margin guide and the edge of the page. If a double-sided, 3 or 4-fold layout is selected, this margin space can be used to achieve the correct margins for binding.") + "</qt>"); rightR->setToolTip( "<qt>" + tr( "Distance between the right margin guide and the edge of the page. If a double-sided, 3 or 4-fold layout is selected, this margin space can be used to achieve the correct margins for binding.") + "</qt>"); linkMargins->setToolTip( "<qt>" + tr( "Ensure all margins have the same value") + "</qt>"); // signals&slots connect(topR, SIGNAL(valueChanged(double)), this, SLOT(setTop())); connect(bottomR, SIGNAL(valueChanged(double)), this, SLOT(setBottom())); connect(leftR, SIGNAL(valueChanged(double)), this, SLOT(setLeft())); connect(rightR, SIGNAL(valueChanged(double)), this, SLOT(setRight())); connect(presetCombo, SIGNAL(activated(int)), this, SLOT(setPreset())); connect(linkMargins, SIGNAL(clicked()), this, SLOT(slotLinkMargins())); }
void MultipleParameterWindowWidget::loadAllPanelsFromFile() { Properties &props = Core::getInstance()->getProperties(); QString fileChooserDirectory = "."; if(props.hasProperty("CurrentFileChooserPath")) { fileChooserDirectory = props.getProperty("CurrentFileChooserPath"); } QString fileName = QFileDialog::getOpenFileName(this, tr("Load Settings"), fileChooserDirectory); if(fileName == "") { return; } fileChooserDirectory = fileName.mid(0, fileName.lastIndexOf("/")); props.setProperty("CurrentFileChooserPath", fileChooserDirectory); QFile file(fileName); if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) { file.close(); return; } QTextStream input(&file); QString line = ""; int tabCounter = 0; QString missingValues = ""; while(!input.atEnd()) { line = input.readLine(); if(line.startsWith("#include")) { if(tabCounter >= mTabWidget->count()) { addTab(); } ParameterVisualizationWindow *visu = dynamic_cast<ParameterVisualizationWindow*>( mTabWidget->widget(tabCounter)); if(visu == 0) { continue; } QString subFileName = line.mid(9); missingValues += visu->loadParametersFromFile(subFileName, false); tabCounter++; } } while(mTabWidget->count() > tabCounter + 1) { mTabWidget->removeTab(mTabWidget->count() - 1); } if(missingValues != "") { QMessageBox::warning(this, "Problem while loading!", "Could not find the following Values:\n\n" + missingValues, QMessageBox::Ok, 0, 0); } file.close(); }
SectionSelector::SectionSelector( QWidget * parent, const char * name ) : QTabWidget( parent ) { setWindowTitle( QString ( name )); AttalScrollView * viewGeneral = new AttalScrollView( 0 ); _general = new SectionGeneral( 0, "general" ); viewGeneral->setSection( _general ); addTab( viewGeneral, tr( "General" ) ); AttalScrollView * viewArtefact = new AttalScrollView( 0 ); _artefact = new SectionArtefact( 0, "artefact" ); viewArtefact->setSection( _artefact ); addTab( viewArtefact, tr( "Artefacts" ) ); AttalScrollView * viewTeam = new AttalScrollView( 0 ); _team = new SectionTeam( 0, "team" ); viewTeam->setSection( _team ); addTab( viewTeam, tr( "Teams" ) ); AttalScrollView * viewBase = new AttalScrollView( 0 ); _base = new SectionBase( 0, "base" ); viewBase->setSection( _base ); addTab( viewBase, tr( "Bases" ) ); AttalScrollView * viewBuilding = new AttalScrollView( 0 ); _building = new SectionBuilding( 0, "building" ); viewBuilding->setSection( _building ); addTab( viewBuilding, tr( "Buildings" ) ); AttalScrollView * viewCreature = new AttalScrollView( 0 ); _creature = new SectionCreature( 0, "creatures" ); viewCreature->setSection( _creature ); addTab( viewCreature, tr( "Creatures" ) ); AttalScrollView * viewDecoration = new AttalScrollView( 0 ); _decoration = new SectionDecoration( 0, "decoration" ); viewDecoration->setSection( _decoration ); addTab( viewDecoration, tr( "Decorations" ) ); AttalScrollView * viewGround = new AttalScrollView( 0 ); _ground = new SectionGround( 0, "ground" ); viewGround->setSection( _ground ); addTab( viewGround, tr( "Grounds" ) ); AttalScrollView * viewLordCategory = new AttalScrollView( 0 ); _lordCategories = new SectionLordCategory( 0, "lord categories" ); viewLordCategory->setSection( _lordCategories ); addTab( viewLordCategory, tr( "Lord Categories" ) ); AttalScrollView * viewLord = new AttalScrollView( 0 ); _lord = new SectionLord( 0, "lords" ); viewLord->setSection( _lord ); addTab( viewLord, tr( "Lords" ) ); AttalScrollView * viewExperience = new AttalScrollView( 0 ); _experience = new SectionExperience( 0, "experience" ); viewExperience->setSection( _experience ); addTab( viewExperience, tr( "Levels" ) ); AttalScrollView * viewResource = new AttalScrollView( 0 ); _resource = new SectionResource( 0, "resources" ); viewResource->setSection( _resource ); addTab( viewResource, tr( "Resources" ) ); AttalScrollView * viewMachine = new AttalScrollView( 0 ); _machine = new SectionMachine( 0, "machines" ); viewMachine->setSection( _machine ); addTab( viewMachine, tr( "War Machines" ) ); connect( this, SIGNAL( currentChanged( int ) ), SLOT( slot_changed( int ) ) ); connect( _creature, SIGNAL( sig_changed() ), SLOT( slot_creaturesChanged() ) ); connect( _lordCategories, SIGNAL( sig_changed() ), SLOT( slot_lordCategoryChanged() ) ); connect( _general, SIGNAL( sig_changed() ), SLOT( slot_generalChanged() ) ); _current = _general; }