27 , mOwnedFeature( featureOwner ? thepFeature : nullptr )
29 init( vl, thepFeature, context, showDialogButtons );
45 void QgsAttributeDialog::saveGeometry()
52 void QgsAttributeDialog::restoreGeometry()
68 mAttributeForm->
save();
91 setWindowTitle( tr(
"%1 - Feature Attributes" ).arg( layer->
name() ) );
92 setLayout(
new QGridLayout() );
93 layout()->setMargin( 0 );
96 if ( showDialogButtons )
99 mAttributeForm =
new QgsAttributeForm( layer, *feature, trackedContext,
this );
101 layout()->addWidget( mAttributeForm );
102 QDialogButtonBox *buttonBox = mAttributeForm->findChild<QDialogButtonBox *>();
105 connect( layer, &QObject::destroyed,
this, &QWidget::close );
107 mMenu =
new QgsActionMenu( layer, mAttributeForm->
feature(), QStringLiteral(
"Feature" ), this );
108 if ( !mMenu->actions().isEmpty() )
110 QMenuBar *menuBar =
new QMenuBar(
this );
111 menuBar->addMenu( mMenu );
112 layout()->setMenuBar( menuBar );
121 mAttributeForm->
setMode( mode );
127 if ( e->type() == QEvent::WindowActivate && mHighlight )
129 else if ( e->type() == QEvent::WindowDeactivate && mHighlight )
132 return QDialog::event( e );
const QgsVectorLayerTools * vectorLayerTools() const
Returns the associated vector layer tools.
This class is a composition of two QSettings instances:
A form was opened as a new dialog.
This class contains context information for attribute editor widgets.
~QgsAttributeDialog() override
void setHighlight(QgsHighlight *h)
setHighlight
void setVectorLayerTools(QgsVectorLayerTools *vlTools)
Sets the associated vector layer tools.
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
void saveGeometry(QWidget *widget, const QString &keyName)
Save the wigget geometry into settings.
bool restoreGeometry(QWidget *widget, const QString &keyName)
Restore the wigget geometry from settings.
void show()
Show the dialog non-blocking. Reparents this dialog to be a child of the dialog form.
QgsAttributeDialog(QgsVectorLayer *vl, QgsFeature *thepFeature, bool featureOwner, QWidget *parent=nullptr, bool showDialogButtons=true, const QgsAttributeEditorContext &context=QgsAttributeEditorContext())
Create an attribute dialog for a given layer and feature.
A class for highlight features on the map.
void setMode(QgsAttributeEditorContext::Mode mode)
Toggles the form mode.
bool event(QEvent *e) override
Intercept window activate/deactivate events to show/hide the highlighted feature. ...
void setFormMode(FormMode mode)
Sets the form mode.
void setValue(const QString &key, const QVariant &value, QgsSettings::Section section=QgsSettings::NoSection)
Sets the value of setting key to value.
const QgsFeature * feature()
Represents a vector layer which manages a vector based data sets.