LabelTab::LabelTab(PlotItem* plotItem, QWidget *parent) : DialogTab(parent), _plotItem(plotItem), _activeLineEdit(0), _fontDirty(false) { setupUi(this); _globalLabelBold->setIcon(QPixmap(":kst_bold.png")); _globalLabelBold->setFixedWidth(32); _globalLabelItalic->setIcon(QPixmap(":kst_italic.png")); _globalLabelItalic->setFixedWidth(32); _globalLabelColor->setFixedWidth(32); _globalLabelColor->setFixedHeight(32); setTabTitle(tr("Labels")); setGlobalFont(_plotItem->globalFont()); _globalLabelColor->setColor(_plotItem->globalFontColor()); _globalLabelFontSize->setValue(_plotItem->globalFontScale()); _topLabelText->setObjectStore(kstApp->mainWindow()->document()->objectStore()); _bottomLabelText->setObjectStore(kstApp->mainWindow()->document()->objectStore()); _leftLabelText->setObjectStore(kstApp->mainWindow()->document()->objectStore()); _rightLabelText->setObjectStore(kstApp->mainWindow()->document()->objectStore()); connect(_topLabelText, SIGNAL(textChanged()), this, SIGNAL(modified())); connect(_leftLabelText, SIGNAL(textChanged()), this, SIGNAL(modified())); connect(_bottomLabelText, SIGNAL(textChanged()), this, SIGNAL(modified())); connect(_rightLabelText, SIGNAL(textChanged()), this, SIGNAL(modified())); connect(_topLabelText, SIGNAL(textChanged()), this, SLOT(_enableLabelLabels())); connect(_bottomLabelText, SIGNAL(textChanged()), this, SLOT(_enableLabelLabels())); connect(_leftLabelText, SIGNAL(textChanged()), this, SLOT(_enableLabelLabels())); connect(_rightLabelText, SIGNAL(textChanged()), this, SLOT(_enableLabelLabels())); connect(_autoScaleNumberAxis, SIGNAL(stateChanged(int)), this, SIGNAL(modified())); connect(_showLegend, SIGNAL(stateChanged(int)), this, SIGNAL(modified())); connect(_editLegendContents, SIGNAL(pressed()), _plotItem->legend(), SLOT(edit())); connect(_globalLabelFontSize, SIGNAL(valueChanged(double)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelBold, SIGNAL(toggled(bool)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelItalic, SIGNAL(toggled(bool)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelFontFamily, SIGNAL(currentFontChanged(QFont)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelColor, SIGNAL(changed(QColor)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelBold, SIGNAL(toggled(bool)), this, SLOT(buttonUpdate())); connect(_globalLabelItalic, SIGNAL(toggled(bool)), this, SLOT(buttonUpdate())); connect(_topLabelAuto, SIGNAL(toggled(bool)), this, SIGNAL(modified())); connect(_leftLabelAuto, SIGNAL(toggled(bool)), this, SIGNAL(modified())); connect(_bottomLabelAuto, SIGNAL(toggled(bool)), this, SIGNAL(modified())); connect(_rightLabelAuto, SIGNAL(toggled(bool)), this, SIGNAL(modified())); connect(_topLabelAuto, SIGNAL(toggled(bool)), this, SLOT(activateFields())); connect(_leftLabelAuto, SIGNAL(toggled(bool)), this, SLOT(activateFields())); connect(_bottomLabelAuto, SIGNAL(toggled(bool)), this, SLOT(activateFields())); connect(_rightLabelAuto, SIGNAL(toggled(bool)), this, SLOT(activateFields())); _Label_4->setProperty("si","Default plot font &size:"); _autoScaleNumberAxis->setProperty("si","Automatically scale number axis labels"); _topLabelLabel->setProperty("si","&Top label:"); _topLabelAuto->setProperty("si","Auto"); _bottomLabelLabel->setProperty("si","Botto&m label:"); _bottomLabelAuto->setProperty("si","Auto"); _leftLabelLabel->setProperty("si","&Left label:"); _leftLabelAuto->setProperty("si","Auto"); _rightLabelLabel->setProperty("si","&Right label:"); _rightLabelAuto->setProperty("si","Auto"); _showLegend->setProperty("si","Show le&gend"); _editLegendContents->setProperty("si","E&dit"); }
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()); }
LabelTab::LabelTab(PlotItem* plotItem, QWidget *parent) : DialogTab(parent), _plotItem(plotItem), _activeLineEdit(0), _fontDirty(false) { setupUi(this); int h = fontMetrics().lineSpacing(); _globalLabelBold->setIcon(KstGetIcon("kst_bold")); _globalLabelBold->setFixedHeight(h); _globalLabelBold->setFixedWidth(h); _globalLabelItalic->setIcon(KstGetIcon("kst_italic")); _globalLabelItalic->setFixedHeight(h); _globalLabelItalic->setFixedWidth(h); _globalLabelColor->setFixedHeight(h); _globalLabelColor->setFixedWidth(h); _topLabelText->setFixedHeight(h*4/3); _bottomLabelText->setFixedHeight(h*4/3); _leftLabelText->setFixedHeight(h*4/3); _rightLabelText->setFixedHeight(h*4/3); setTabTitle(tr("Labels")); setGlobalFont(_plotItem->globalFont()); _globalLabelColor->setColor(_plotItem->globalFontColor()); _globalLabelFontSize->setValue(_plotItem->globalFontScale()); _topLabelText->setObjectStore(kstApp->mainWindow()->document()->objectStore()); _bottomLabelText->setObjectStore(kstApp->mainWindow()->document()->objectStore()); _leftLabelText->setObjectStore(kstApp->mainWindow()->document()->objectStore()); _rightLabelText->setObjectStore(kstApp->mainWindow()->document()->objectStore()); connect(_topLabelText, SIGNAL(textChanged()), this, SIGNAL(modified())); connect(_leftLabelText, SIGNAL(textChanged()), this, SIGNAL(modified())); connect(_bottomLabelText, SIGNAL(textChanged()), this, SIGNAL(modified())); connect(_rightLabelText, SIGNAL(textChanged()), this, SIGNAL(modified())); connect(_topLabelText, SIGNAL(textChanged()), this, SLOT(_enableLabelLabels())); connect(_bottomLabelText, SIGNAL(textChanged()), this, SLOT(_enableLabelLabels())); connect(_leftLabelText, SIGNAL(textChanged()), this, SLOT(_enableLabelLabels())); connect(_rightLabelText, SIGNAL(textChanged()), this, SLOT(_enableLabelLabels())); connect(_autoScaleNumberAxis, SIGNAL(stateChanged(int)), this, SIGNAL(modified())); connect(_showLegend, SIGNAL(stateChanged(int)), this, SIGNAL(modified())); connect(_editLegendContents, SIGNAL(pressed()), _plotItem->legend(), SLOT(edit())); connect(_globalLabelFontSize, SIGNAL(valueChanged(double)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelBold, SIGNAL(toggled(bool)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelItalic, SIGNAL(toggled(bool)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelFontFamily, SIGNAL(currentFontChanged(QFont)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelColor, SIGNAL(changed(QColor)), this, SIGNAL(globalFontUpdate())); connect(_globalLabelBold, SIGNAL(toggled(bool)), this, SLOT(buttonUpdate())); connect(_globalLabelItalic, SIGNAL(toggled(bool)), this, SLOT(buttonUpdate())); connect(_topLabelAuto, SIGNAL(toggled(bool)), this, SIGNAL(modified())); connect(_leftLabelAuto, SIGNAL(toggled(bool)), this, SIGNAL(modified())); connect(_bottomLabelAuto, SIGNAL(toggled(bool)), this, SIGNAL(modified())); connect(_rightLabelAuto, SIGNAL(toggled(bool)), this, SIGNAL(modified())); connect(_topLabelAuto, SIGNAL(toggled(bool)), this, SLOT(activateFields())); connect(_leftLabelAuto, SIGNAL(toggled(bool)), this, SLOT(activateFields())); connect(_bottomLabelAuto, SIGNAL(toggled(bool)), this, SLOT(activateFields())); connect(_rightLabelAuto, SIGNAL(toggled(bool)), this, SLOT(activateFields())); }