void ActionEditor::manageAction(QAction *action) { action->setParent(formWindow()->mainContainer()); core()->metaDataBase()->add(action); if (action->isSeparator() || action->menu() != 0) return; QDesignerPropertySheetExtension *sheet = qt_extension<QDesignerPropertySheetExtension*>(core()->extensionManager(), action); sheet->setChanged(sheet->indexOf(QLatin1String(objectNamePropertyC)), true); sheet->setChanged(sheet->indexOf(QLatin1String(textPropertyC)), true); refreshIconPropertyChanged(action, sheet); m_actionView->setCurrentIndex(m_actionView->model()->addAction(action)); connect(action, SIGNAL(changed()), this, SLOT(slotActionChanged())); }
static PyObject *meth_QDesignerPropertySheetExtension_setChanged(PyObject *sipSelf, PyObject *sipArgs) { PyObject *sipParseErr = NULL; PyObject *sipOrigSelf = sipSelf; { int a0; bool a1; QDesignerPropertySheetExtension *sipCpp; if (sipParseArgs(&sipParseErr, sipArgs, "Bib", &sipSelf, sipType_QDesignerPropertySheetExtension, &sipCpp, &a0, &a1)) { if (!sipOrigSelf) { sipAbstractMethod(sipName_QDesignerPropertySheetExtension, sipName_setChanged); return NULL; } sipCpp->setChanged(a0,a1); Py_INCREF(Py_None); return Py_None; } } /* Raise an exception if the arguments couldn't be parsed. */ sipNoMethod(sipParseErr, sipName_QDesignerPropertySheetExtension, sipName_setChanged, doc_QDesignerPropertySheetExtension_setChanged); return NULL; }
void LayoutPropertySheet::markChangedStretchProperties(QDesignerFormEditorInterface *core, QLayout *lt, const DomLayout *domLayout) { // While the actual values are applied by the form builder, we still need // to mark them as 'changed'. QDesignerPropertySheetExtension *sheet = qt_extension<QDesignerPropertySheetExtension*>(core->extensionManager(), lt); Q_ASSERT(sheet); if (!domLayout->attributeStretch().isEmpty()) sheet->setChanged(sheet->indexOf(QLatin1String(boxStretchPropertyC)), true); if (!domLayout->attributeRowStretch().isEmpty()) sheet->setChanged(sheet->indexOf(QLatin1String(gridRowStretchPropertyC)), true); if (!domLayout->attributeColumnStretch().isEmpty()) sheet->setChanged(sheet->indexOf(QLatin1String(gridColumnStretchPropertyC)), true); if (!domLayout->attributeColumnMinimumWidth().isEmpty()) sheet->setChanged(sheet->indexOf(QLatin1String(gridColumnMinimumWidthPropertyC)), true); if (!domLayout->attributeRowMinimumHeight().isEmpty()) sheet->setChanged(sheet->indexOf(QLatin1String(gridRowMinimumHeightPropertyC)), true); }
void QAxWidgetPropertySheet::reloadPropertySheet(const struct SavedProperties &properties, QDesignerFormWindowInterface *formWin) { QDesignerFormEditorInterface *core = formWin->core(); //Recreation of the property sheet QDesignerPropertySheetExtension *sheet = qt_extension<QDesignerPropertySheetExtension *>(core->extensionManager(), properties.widget); bool foundGeometry = false; const QString geometryProperty = QLatin1String(geometryPropertyC); const SavedProperties::NamePropertyMap::const_iterator cend = properties.changedProperties.constEnd(); for (SavedProperties::NamePropertyMap::const_iterator i = properties.changedProperties.constBegin(); i != cend; ++i) { const QString name = i.key(); const int index = sheet->indexOf(name); if (index == -1) continue; // filter out geometry as this will resize the control // to is default size even if it is attached to an layout // but set the changed flag to work around preview bug... if (name == geometryProperty) { sheet->setChanged(index, true); foundGeometry = true; continue; } if (name == QLatin1String(controlPropertyName)) { sheet->setChanged(index, !i.value().toString().isEmpty()); continue; } sheet->setChanged(index, true); sheet->setProperty(index, i.value()); } if (!foundGeometry) // Make sure geometry is always changed in Designer sheet->setChanged(sheet->indexOf(geometryProperty), true); if (core->propertyEditor()->object() == properties.widget) { formWin->clearSelection(true); formWin->selectWidget(properties.widget); } }
bool ItemViewPropertySheet::reset(int index) { const FakePropertyMap::iterator it = d->m_propertyIdMap.find(index); if (it != d->m_propertyIdMap.end()) { QDesignerPropertySheetExtension *headerSheet = it.value().m_sheet; const int headerIndex = it.value().m_id; const bool resetRC = headerSheet->reset(headerIndex); // Resetting for "visible" might fail and the stored default // of the Widget database is "false" due to the widget not being // visible at the time it was determined. Reset to "true" manually. if (!resetRC && headerSheet->propertyName(headerIndex) == QLatin1String(visibleProperty)) { headerSheet->setProperty(headerIndex, QVariant(true)); headerSheet->setChanged(headerIndex, false); return true; } return resetRC; } else { return QDesignerPropertySheet::reset(index); } }