I found this thread very helpful. It seems to be that to the dialog into edit mode this has to be done programmatically by calling startEditing() - not by simply having the layer in edit mode. Can anyone else verify that? Regardless, thanks for the pointers and suggestions in the thread. Much appreciated.
On 30/09/2014, at 8:12 pm, Alexandre Neto <[email protected]> wrote: > Hi > > On Tue, Sep 30, 2014 at 6:42 AM, Denis Rouzaud <[email protected]> > wrote: > > > If you want to open a feature form like doing it from QGIS, just run: > > iface.openFeatureForm(layer, feature, false, true/false) > > http://qgis.org/api/classQgisInterface.html#a11b90f38afd09ac5e9f363933ee4a509 > > Cheers, > > Denis > > > Actually this how my plugin worked back in QGIS 2.2. But in the latest > versions the iface.openFeatureForm() is always in add mode (like > setIsAddDialog). That is, after accepting the dialog, it adds a new feature, > and does not update my temporary feature. This leaves no room for any changes > before the feature commit. I described my problem in the following bug > report, and Matthias Kuhn adviced me to create my own Dialog, so that's what > I'm trying to do. I would be glad to use iface.openFeatureForm() only > > https://hub.qgis.org/issues/11099 > > Thanks for your help > > Alexandre > > > > > > > > > On 29.09.2014 18:19, Alexandre Neto wrote: >> Hello Salvatore, >> >> You were right, I just needed to import the class first, this have opened >> the form for me: >> >> from qgis.gui import QgsAttributeDialog >> mc = iface.mapCanvas() >> layer = mc.currentLayer() >> temp_feature.setAttributes(attributes) >> dialog = QgsAttributeDialog(layer, temp_feature, True) >> dialog.show() >> >> But now I can't make it editable. >> >> All I can do is cancel the dialog. >> >> Thanks for your help, >> >> Alexandre Neto >> >> >> >> On Mon, Sep 29, 2014 at 4:21 PM, Salvatore Larosa <[email protected]> wrote: >> Hi, >> >> On Mon, Sep 29, 2014 at 4:56 PM, Alexandre Neto <[email protected]> >> wrote: >> > Hello, >> > >> > I'm trying to open an attribute dialog for a temporary feature using >> > QgsAttributeDialog(). but with no luck. Can anyone point me to working >> > example? >> > I'm trying something like this: >> > >> >> >> >> mc = iface.mapCanvas() >> >> layer = mc.currentLayer() >> >> dialog = QgsAttributeDialog(layer, temp_feature) >> >> dialog.show() >> >> I think you should to import the class before and setting the feature >> owner bool parameter. >> after this changes the snippet should work fine for you! >> >> Regards, >> -SL >> >> -- >> Salvatore Larosa >> linkedIn: http://linkedin.com/in/larosasalvatore >> twitter: @lrssvt >> skype: s.larosa >> IRC: lrssvt on freenode >> >> >> >> _______________________________________________ >> Qgis-developer mailing list >> [email protected] >> http://lists.osgeo.org/mailman/listinfo/qgis-developer > > > _______________________________________________ > Qgis-developer mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
