Hello, even calling startEditing() programmatically, I don't seem to be able to open the Form in editable mode.
Any help with this will be appreciated Thanks, Alexandre Neto On Thu, Oct 2, 2014 at 6:33 AM, Andrew McClure <[email protected]> wrote: > 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 > <http://qgis.org/api/classQgsAttributeDialog.html#a2fbbff1c23be058caa26cc5aaf7040e8>). > 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 >> [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
