LabelItemDialog::LabelItemDialog(LabelItem *item, QWidget *parent) : ViewItemDialog(item, parent), _labelItem(item) { _propertiesTab = new LabelPropertiesTab(this); DialogPage *propertiesPage = new DialogPage(this); propertiesPage->setPageTitle(tr("Properties")); propertiesPage->addDialogTab(_propertiesTab); addDialogPage(propertiesPage); selectDialogPage(propertiesPage); connect(_propertiesTab, SIGNAL(apply()), this, SLOT(propertiesChanged())); setupProperties(); _saveAsDefault->show(); _labelDimensionsTab = new LabelDimensionsTab(item, this); DialogPage *labelDimensionsPage = new DialogPage(this); labelDimensionsPage->setPageTitle(tr("Size/Position")); labelDimensionsPage->addDialogTab(_labelDimensionsTab); addDialogPage(labelDimensionsPage); selectDialogPage(labelDimensionsPage); connect(_labelDimensionsTab, SIGNAL(apply()), this, SLOT(dimensionsChanged())); setupDimensions(); connect(_labelDimensionsTab, SIGNAL(tabModified()), this, SLOT(modified())); connect(_saveAsDefault, SIGNAL(clicked()), this, SLOT(modified())); }
void DataDialog::addDataTab(DataTab *tab) { Q_ASSERT(tab); Q_ASSERT(_document); tab->setObjectStore(_document->objectStore()); DialogPage *page = new DialogPage(this); page->setPageTitle(tab->tabTitle()); page->addDialogTab(tab); addDialogPage(page); }
ApplicationSettingsDialog::ApplicationSettingsDialog(QWidget *parent) : Dialog(parent) { setWindowTitle(tr("Kst Settings")); _generalTab = new GeneralTab(this); _gridTab = new GridTab(this); connect(_generalTab, SIGNAL(apply()), this, SLOT(generalChanged())); connect(_gridTab, SIGNAL(apply()), this, SLOT(gridChanged())); DialogPage *general = new DialogPage(this); general->setPageTitle(tr("General")); general->addDialogTab(_generalTab); addDialogPage(general); DialogPage *grid = new DialogPage(this); grid->setPageTitle(tr("Grid")); grid->addDialogTab(_gridTab); addDialogPage(grid); setupGeneral(); setupGrid(); }
CircleItemDialog::CircleItemDialog(CircleItem *item, QWidget *parent) : ViewItemDialog(item, parent), _viewItem(item) { _circleDimensionsTab = new CircleDimensionsTab(item, this); DialogPage *circleDimensionsPage = new DialogPage(this); circleDimensionsPage->setPageTitle(tr("Size/Position")); circleDimensionsPage->addDialogTab(_circleDimensionsTab); addDialogPage(circleDimensionsPage); selectDialogPage(circleDimensionsPage); connect(_circleDimensionsTab, SIGNAL(apply()), this, SLOT(dimensionsChanged())); setupDimensions(); connect(_circleDimensionsTab, SIGNAL(tabModified()), this, SLOT(modified())); }
PlotItemDialog::PlotItemDialog(PlotItem *item, QWidget *parent) : ViewItemDialog(item, parent), _plotItem(item), _defaultTagString("<Auto Name>") { Q_ASSERT(_plotItem); _store = kstApp->mainWindow()->document()->objectStore(); setWindowTitle(tr("Edit Plot Item")); _contentTab = new ContentTab(this, _store); connect(_contentTab, SIGNAL(apply()), this, SLOT(contentChanged())); DialogPage *contentsPage = new DialogPage(this); contentsPage->setPageTitle(tr("Contents")); contentsPage->addDialogTab(_contentTab); addDialogPage(contentsPage, true); _labelTab = new LabelTab(_plotItem, this); _topLabelTab = new OverrideLabelTab(tr("Top Font"), this); _bottomLabelTab = new OverrideLabelTab(tr("Bottom Font"), this); _leftLabelTab = new OverrideLabelTab(tr("Left Font"), this); _rightLabelTab = new OverrideLabelTab(tr("Right Font"), this); _axisLabelTab = new OverrideLabelTab(tr("Axis Font"), this); _labelPage = new DialogPageTab(this); _labelPage->setPageTitle(tr("Labels")); _labelPage->addDialogTab(_labelTab); _labelPage->addDialogTab(_topLabelTab); _labelPage->addDialogTab(_bottomLabelTab); _labelPage->addDialogTab(_leftLabelTab); _labelPage->addDialogTab(_rightLabelTab); _labelPage->addDialogTab(_axisLabelTab); addDialogPage(_labelPage, true); connect(_labelTab, SIGNAL(apply()), this, SLOT(labelsChanged())); connect(_labelTab, SIGNAL(globalFontUpdate()), this, SLOT(globalFontUpdate())); connect(_topLabelTab, SIGNAL(useDefaultChanged(bool)), this, SLOT(useTopDefaultChanged(bool))); connect(_bottomLabelTab, SIGNAL(useDefaultChanged(bool)), this, SLOT(useBottomDefaultChanged(bool))); connect(_leftLabelTab, SIGNAL(useDefaultChanged(bool)), this, SLOT(useLeftDefaultChanged(bool))); connect(_rightLabelTab, SIGNAL(useDefaultChanged(bool)), this, SLOT(useRightDefaultChanged(bool))); connect(_axisLabelTab, SIGNAL(useDefaultChanged(bool)), this, SLOT(useAxisDefaultChanged(bool))); _rangeTab = new RangeTab(_plotItem, this); DialogPage *rangePage = new DialogPage(this); rangePage->setPageTitle(tr("Range/Zoom")); rangePage->addDialogTab(_rangeTab); addDialogPage(rangePage, true); connect(_rangeTab, SIGNAL(apply()), this, SLOT(rangeChanged())); _xAxisTab = new AxisTab(this); _xAxisPage = new DialogPage(this); _xAxisPage->setPageTitle(tr("X-Axis")); _xAxisPage->addDialogTab(_xAxisTab); addDialogPage(_xAxisPage, true); connect(_xAxisTab, SIGNAL(apply()), this, SLOT(xAxisChanged())); _yAxisTab = new AxisTab(this); _yAxisTab->setAsYAxis(); _yAxisPage = new DialogPage(this); _yAxisPage->setPageTitle(tr("Y-Axis")); _yAxisPage->addDialogTab(_yAxisTab); addDialogPage(_yAxisPage, true); connect(_yAxisTab, SIGNAL(apply()), this, SLOT(yAxisChanged())); _xMarkersTab = new MarkersTab(this); DialogPage *xMarkersPage = new DialogPage(this); xMarkersPage->setPageTitle(tr("X-Axis Markers")); xMarkersPage->addDialogTab(_xMarkersTab); addDialogPage(xMarkersPage, true); _xMarkersTab->setObjectStore(_store); connect(_xMarkersTab, SIGNAL(apply()), this, SLOT(xAxisPlotMarkersChanged())); _yMarkersTab = new MarkersTab(this); DialogPage *yMarkersPage = new DialogPage(this); yMarkersPage->setPageTitle(tr("Y-Axis Markers")); yMarkersPage->addDialogTab(_yMarkersTab); addDialogPage(yMarkersPage, true); _yMarkersTab->setObjectStore(_store); connect(yMarkersPage, SIGNAL(apply()), this, SLOT(yAxisPlotMarkersChanged())); // addRelations(); This tends to clutter the plot dialog, let's test skipping it setupContent(); setupAxis(); setupRange(); setupLabels(); setupMarkers(); setSupportsMultipleEdit(true); if (_plotItem->descriptiveNameIsManual()) { setTagString(_plotItem->descriptiveName()); } else { setTagString(_defaultTagString); } QList<PlotItem*> list = ViewItem::getItems<PlotItem>(); clearMultipleEditOptions(); foreach(PlotItem* plot, list) { addMultipleEditOption(plot->plotName(), plot->descriptionTip(), plot->shortName()); }
ViewItemDialog::ViewItemDialog(ViewItem *item, QWidget *parent) : Dialog(parent), _mode(Single), _item(item) { setWindowTitle(tr("Edit View Item")); // semi-hack: set the width of the list widget to 15 characters, which is enough // to say "X-Axis Markers" in english. This is better than setting it to a fixed // number of pixels, as it scales with font size or screen resolution, but // it won't necessairly survive translations, or someone adding a option like // "Do something super important", which has more than 15 characters. // We have to do it here, before the layout is set, and we don't yet know how // what is going into the listWidget. _listWidget->setMinimumWidth(_listWidget->fontMetrics().averageCharWidth()*15); QWidget *extension = extensionWidget(); QVBoxLayout *extensionLayout = new QVBoxLayout(extension); extensionLayout->setContentsMargins(0, -1, 0, -1); _editMultipleWidget = new EditMultipleWidget(); extensionLayout->addWidget(_editMultipleWidget); extension->setLayout(extensionLayout); _editMultipleBox = topCustomWidget(); QHBoxLayout *layout = new QHBoxLayout(_editMultipleBox); _tagStringLabel = new QLabel(tr("&Name:"), _editMultipleBox); _tagStringLabel->setObjectName("_tagStringLabel"); _tagString = new QLineEdit(_editMultipleBox); connect(_tagString, SIGNAL(textChanged(QString)), this, SLOT(modified())); _tagStringLabel->setBuddy(_tagString); _editMultipleButton = new QPushButton(tr("Edit Multiple >>")); _editMultipleButton->setObjectName("_editMultipleButton"); connect(_editMultipleButton, SIGNAL(clicked()), this, SLOT(slotEditMultiple())); layout->addWidget(_tagStringLabel); layout->addWidget(_tagString); layout->addWidget(_editMultipleButton); _editMultipleBox->setLayout(layout); setSupportsMultipleEdit(false); if (_item->hasBrush()) { _fillTab = new FillTab(this); connect(_fillTab, SIGNAL(apply()), this, SLOT(fillChanged())); } if (_item->hasStroke()) { _strokeTab = new StrokeTab(this); connect(_strokeTab, SIGNAL(apply()), this, SLOT(strokeChanged())); } _layoutTab = new LayoutTab(this); connect(_layoutTab, SIGNAL(apply()), this, SLOT(layoutChanged())); DialogPageTab *page = new DialogPageTab(this); page->setPageTitle(tr("Appearance")); if (_item->hasBrush()) { page->addDialogTab(_fillTab); } if (_item->hasStroke()) { page->addDialogTab(_strokeTab); } page->addDialogTab(_layoutTab); addDialogPage(page); if (!_item->customDimensionsTab()) { _dimensionsTab = new DimensionsTab(_item, this); DialogPage *dimensionsPage = new DialogPage(this); dimensionsPage->setPageTitle(tr("Size/Position")); dimensionsPage->addDialogTab(_dimensionsTab); addDialogPage(dimensionsPage); connect(_dimensionsTab, SIGNAL(apply()), this, SLOT(dimensionsChanged())); } else { _dimensionsTab = 0; } QList<DialogPage*> dialogPages = _item->dialogPages(); foreach (DialogPage *dialogPage, dialogPages) addDialogPage(dialogPage); setupFill(); setupStroke(); setupLayout(); setupDimensions(); selectDialogPage(page); if (!_item->customDimensionsTab()) { connect(_dimensionsTab, SIGNAL(tabModified()), this, SLOT(modified())); } connect(this, SIGNAL(editMultipleMode()), this, SLOT(setMultipleEdit())); connect(this, SIGNAL(editSingleMode()), this, SLOT(setSingleEdit())); connect(_item, SIGNAL(relativeSizeUpdated()), this, SLOT(setupDimensions())); connect(_saveAsDefault, SIGNAL(clicked()), this, SLOT(modified())); _saveAsDefault->show(); _tagStringLabel->setProperty("si","&Name:"); _editMultipleButton->setProperty("si","Edit Multiple >>"); }