def testAuxiliaryFieldWidgets(self): # Init storage s = QgsAuxiliaryStorage() self.assertTrue(s.isValid()) # Create a new auxiliary layer with 'pk' as key vl = createLayer() pkf = vl.fields().field(vl.fields().indexOf('pk')) al = s.createAuxiliaryLayer(pkf, vl) self.assertTrue(al.isValid()) # Set the auxiliary layer to the vector layer vl.setAuxiliaryLayer(al) # Add a visible property p = QgsPropertyDefinition('propName', QgsPropertyDefinition.DataTypeNumeric, '', '', 'user') self.assertTrue(al.addAuxiliaryField(p)) index = al.indexOfPropertyDefinition(p) self.assertFalse(al.isHiddenProperty(index)) afName = QgsAuxiliaryLayer.nameFromProperty(p, True) index = vl.fields().indexOf(afName) setup = vl.editorWidgetSetup(index) self.assertEqual(setup.type(), '') tested = False for c in vl.attributeTableConfig().columns(): if c.name == afName: self.assertFalse(c.hidden) tested = True break self.assertTrue(tested) # Add a hidden property p = QgsPalLayerSettings.propertyDefinitions()[ QgsPalLayerSettings.PositionX] self.assertTrue(al.addAuxiliaryField(p)) index = al.indexOfPropertyDefinition(p) self.assertTrue(al.isHiddenProperty(index)) afName = QgsAuxiliaryLayer.nameFromProperty(p, True) index = vl.fields().indexOf(afName) setup = vl.editorWidgetSetup(index) self.assertEqual(setup.type(), 'Hidden') tested = False for c in vl.attributeTableConfig().columns(): if c.name == afName: self.assertTrue(c.hidden) tested = True break self.assertTrue(tested) # Add a color property p = QgsSymbolLayer.propertyDefinitions()[ QgsSymbolLayer.PropertyFillColor] self.assertTrue(al.addAuxiliaryField(p)) index = al.indexOfPropertyDefinition(p) self.assertFalse(al.isHiddenProperty(index)) afName = QgsAuxiliaryLayer.nameFromProperty(p, True) index = vl.fields().indexOf(afName) setup = vl.editorWidgetSetup(index) self.assertEqual(setup.type(), 'Color')
def testAuxiliaryFieldWidgets(self): # Init storage s = QgsAuxiliaryStorage() self.assertTrue(s.isValid()) # Create a new auxiliary layer with 'pk' as key vl = createLayer() pkf = vl.fields().field(vl.fields().indexOf('pk')) al = s.createAuxiliaryLayer(pkf, vl) self.assertTrue(al.isValid()) # Set the auxiliary layer to the vector layer vl.setAuxiliaryLayer(al) # Add a visible property p = QgsPropertyDefinition('propName', QgsPropertyDefinition.DataTypeNumeric, '', '', 'user') self.assertTrue(al.addAuxiliaryField(p)) index = al.indexOfPropertyDefinition(p) self.assertFalse(al.isHiddenProperty(index)) afName = QgsAuxiliaryLayer.nameFromProperty(p, True) index = vl.fields().indexOf(afName) setup = vl.editorWidgetSetup(index) self.assertEqual(setup.type(), '') tested = False for c in vl.attributeTableConfig().columns(): if c.name == afName: self.assertFalse(c.hidden) tested = True break self.assertTrue(tested) # Add a hidden property p = QgsPalLayerSettings.propertyDefinitions()[QgsPalLayerSettings.PositionX] self.assertTrue(al.addAuxiliaryField(p)) index = al.indexOfPropertyDefinition(p) self.assertTrue(al.isHiddenProperty(index)) afName = QgsAuxiliaryLayer.nameFromProperty(p, True) index = vl.fields().indexOf(afName) setup = vl.editorWidgetSetup(index) self.assertEqual(setup.type(), 'Hidden') tested = False for c in vl.attributeTableConfig().columns(): if c.name == afName: self.assertTrue(c.hidden) tested = True break self.assertTrue(tested) # Add a color property p = QgsSymbolLayer.propertyDefinitions()[QgsSymbolLayer.PropertyFillColor] self.assertTrue(al.addAuxiliaryField(p)) index = al.indexOfPropertyDefinition(p) self.assertFalse(al.isHiddenProperty(index)) afName = QgsAuxiliaryLayer.nameFromProperty(p, True) index = vl.fields().indexOf(afName) setup = vl.editorWidgetSetup(index) self.assertEqual(setup.type(), 'Color')