VectorDialog::VectorDialog(ObjectPtr dataObject, QWidget *parent) : DataDialog(dataObject, parent) { if (editMode() == Edit) setWindowTitle(tr("Edit Vector")); else setWindowTitle(tr("New Vector")); Q_ASSERT(_document); _vectorTab = new VectorTab(_document->objectStore(), this); addDataTab(_vectorTab); if (editMode() == Edit) { configureTab(dataObject); } else { configureTab(0); } connect(_vectorTab, SIGNAL(sourceChanged()), this, SLOT(updateButtons())); connect(_vectorTab, SIGNAL(fieldChanged()), this, SLOT(updateButtons())); connect(this, SIGNAL(editMultipleMode()), this, SLOT(editMultipleMode())); connect(this, SIGNAL(editSingleMode()), this, SLOT(editSingleMode())); connect(_vectorTab, SIGNAL(modified()), this, SLOT(modified())); updateButtons(); }
EquationDialog::EquationDialog(ObjectPtr dataObject, QWidget *parent) : DataDialog(dataObject, parent) { if (editMode() == Edit) setWindowTitle(tr("Edit Equation")); else setWindowTitle(tr("New Equation")); _equationTab = new EquationTab(this); addDataTab(_equationTab); _equationTab->setEquation(""); if (editMode() == Edit) { configureTab(dataObject); } else { configureTab(0); } connect(_equationTab, SIGNAL(optionsChanged()), this, SLOT(updateButtons())); connect(this, SIGNAL(editMultipleMode()), this, SLOT(editMultipleMode())); connect(this, SIGNAL(editSingleMode()), this, SLOT(editSingleMode())); connect(_equationTab, SIGNAL(modified()), this, SLOT(modified())); updateButtons(); }
void DataDialog::slotEditMultiple() { int charWidth = fontMetrics().averageCharWidth(); int currentWidth = width(); int extensionWidth = extensionWidget()->width(); if (extensionWidth<charWidth*20) extensionWidth = charWidth*25; // FIXME: magic number hack... extensionWidget()->setVisible(!extensionWidget()->isVisible()); if (!extensionWidget()->isVisible()) { _tagString->setVisible(true); _shortName->setVisible(true); _tagStringAuto->setVisible(true); _nameLabel->setVisible(true); setMinimumWidth(currentWidth - extensionWidth); resize(currentWidth - extensionWidth, height()); _mode = Edit; _editMultipleButton->setText(tr("Edit Multiple >>")); emit editSingleMode(); } else { if (currentWidth<charWidth*50) currentWidth = charWidth*80; // FIXME: magic number hack... _tagString->setVisible(false); _shortName->setVisible(false); _tagStringAuto->setVisible(false); _nameLabel->setVisible(false); setMinimumWidth(currentWidth + extensionWidth); resize(currentWidth + extensionWidth, height()); _mode = EditMultiple; _editMultipleButton->setText(tr("<< Edit one %1").arg(_shortName->text())); emit editMultipleMode(); } clearModified(); }
CurveDialog::CurveDialog(ObjectPtr dataObject, QWidget *parent) : DataDialog(dataObject, parent) { if (editMode() == Edit) setWindowTitle(tr("Edit Curve")); else setWindowTitle(tr("New Curve")); _curveTab = new CurveTab(this); addDataTab(_curveTab); if (editMode() == Edit) { configureTab(dataObject); } else { configureTab(0); } connect(_curveTab, SIGNAL(vectorsChanged()), this, SLOT(updateButtons())); connect(this, SIGNAL(editMultipleMode()), this, SLOT(editMultipleMode())); connect(this, SIGNAL(editSingleMode()), this, SLOT(editSingleMode())); connect(_curveTab, SIGNAL(modified()), this, SLOT(modified())); updateButtons(); }
void ViewItemDialog::slotEditMultiple() { int currentWidth = width(); int extensionWidth = extensionWidget()->width(); if (extensionWidth<204) extensionWidth = 204; // FIXME: magic number hack... extensionWidget()->setVisible(!extensionWidget()->isVisible()); _tagString->setEnabled(!extensionWidget()->isVisible()); if (!extensionWidget()->isVisible()) { setMinimumWidth(currentWidth - extensionWidth); resize(currentWidth - extensionWidth, height()); _mode = Single; emit editSingleMode(); } else { setMinimumWidth(currentWidth + extensionWidth); resize(currentWidth + extensionWidth, height()); _mode = Multiple; emit editMultipleMode(); } }
} QList<QList<QListWidgetItem*> > moveItems; moveItems << _listWidget->findItems("Appearance", Qt::MatchFixedString); moveItems << _listWidget->findItems("Dimensions", Qt::MatchFixedString); foreach(const QList<QListWidgetItem*>& found, moveItems) { if (found.size() > 0) { _listWidget->addItem(_listWidget->takeItem(_listWidget->row(found.first()))); } } selectDialogPage(contentsPage); _saveAsDefault->show(); connect(this, SIGNAL(editMultipleMode()), this, SLOT(editMultiple())); connect(this, SIGNAL(editSingleMode()), this, SLOT(editSingle())); connect(this, SIGNAL(apply()), this, SLOT(slotApply())); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); // Make sure the labels are visible, doesn't work right now :-) } PlotItemDialog::~PlotItemDialog() { } void PlotItemDialog::editMultiple() { _xAxisTab->clearTabValues(); _yAxisTab->clearTabValues(); _rangeTab->clearTabValues(); _labelTab->clearTabValues();
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 >>"); }