def test_isLayerPolygonal(self): """Test we can get the correct attributes back""" myLayer = makePolygonLayer() myMessage = 'isPolygonLayer, %s layer should be polygonal' % myLayer assert isPolygonLayer(myLayer), myMessage myLayer = makePointLayer() myMessage = '%s layer should be polygonal' % myLayer assert not isPolygonLayer(myLayer), myMessage myLayer = makePadangLayer() myMessage = ('%s raster layer should not be polygonal' % myLayer) assert not isPolygonLayer(myLayer), myMessage
def updateControlsFromList(self): """Set the ui state to match the keywords of the currently active layer. Args: None Returns: None. Raises: no exceptions explicitly raised.""" mySubcategory = self.getValueForKey('subcategory') myUnits = self.getValueForKey('unit') myType = self.getValueForKey('datatype') myTitle = self.getValueForKey('title') if myTitle is not None: self.leTitle.setText(myTitle) elif self.layer is not None: myLayerName = self.layer.name() self.lblLayerName.setText(self.tr('Keywords for %s' % myLayerName)) else: self.lblLayerName.setText('') if not isPolygonLayer(self.layer): self.radPostprocessing.setEnabled(False) #adapt gui if we are in postprocessing category self.togglePostprocessingWidgets() if self.radExposure.isChecked(): if mySubcategory is not None and myType is not None: self.setSubcategoryList(self.standardExposureList, mySubcategory + ' [' + myType + ']') elif mySubcategory is not None: self.setSubcategoryList(self.standardExposureList, mySubcategory) else: self.setSubcategoryList(self.standardExposureList, self.tr('Not Set')) elif self.radHazard.isChecked(): if mySubcategory is not None and myUnits is not None: self.setSubcategoryList(self.standardHazardList, mySubcategory + ' [' + myUnits + ']') elif mySubcategory is not None: self.setSubcategoryList(self.standardHazardList, mySubcategory) else: self.setSubcategoryList(self.standardHazardList, self.tr('Not Set')) self.resizeDialog()
def polygonLayersToCombo(self): """Populate the combo with all polygon layers loaded in QGIS.""" myRegistry = QgsMapLayerRegistry.instance() myLayers = myRegistry.mapLayers().values() myFoundFlag = False for myLayer in myLayers: myName = myLayer.name() mySource = str(myLayer.id()) #check if layer is a vector polygon layer if isPolygonLayer(myLayer) or isPointLayer(myLayer): myFoundFlag = True addComboItemInOrder(self.cboPolygonLayers, myName, mySource) if myFoundFlag: self.cboPolygonLayers.setCurrentIndex(0)