def populate(self): catalog = self.catalog self.element = Gwc(catalog) layers = self.element.layers() for layer in layers: item = GwcLayerItem(layer) self.addChild(item)
def populate(self): try: catalog = self.catalog self.element = Gwc(catalog) layers = self.element.layers() for layer in layers: item = GwcLayerItem(layer) self.addChild(item) self.isValid = True except: self.takeChildren() self.isValid = False
class GwcLayersItem(GwcTreeItem): def __init__(self, catalog): self.catalog = catalog icon = QIcon(os.path.dirname(__file__) + "/../images/gwc.png") TreeItem.__init__(self, None, icon, "GeoWebCache layers") self.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDropEnabled) def populate(self): try: catalog = self.catalog self.element = Gwc(catalog) layers = self.element.layers() for layer in layers: item = GwcLayerItem(layer) self.addChild(item) self.isValid = True except: raise self.takeChildren() self.isValid = False def acceptDroppedItem(self, tree, explorer, item): if self.isValid: from geoserverexplorer.gui.gsexploreritems import GsLayerItem if isinstance(item, GsLayerItem): if createGwcLayer(explorer, item.element): return [self] else: return [] else: return [] def contextMenuActions(self, tree, explorer): if self.isValid: icon = QIcon(os.path.dirname(__file__) + "/../images/add.png") addGwcLayerAction = QAction(icon, "New GWC layer...", explorer) addGwcLayerAction.triggered.connect(lambda: self.addGwcLayer(tree, explorer)) return [addGwcLayerAction] else: return [] def addGwcLayer(self, tree, explorer): cat = self.catalog layers = cat.get_layers() if layers: dlg = EditGwcLayerDialog(layers, None) dlg.exec_() if dlg.gridsets is not None: layer = dlg.layer gwc = Gwc(layer.catalog) gwclayer = GwcLayer(gwc, layer.name, dlg.formats, dlg.gridsets, dlg.metaWidth, dlg.metaHeight) catItem = tree.findAllItems(cat)[0] explorer.run(gwc.addLayer, "Create GWC layer '" + layer.name + "'", [catItem.gwcItem], gwclayer) else: QMessageBox.warning(None, "Create GWC layer", "There are no layers in the catalog")
def createGwcLayer(explorer, layer): dlg = EditGwcLayerDialog([layer], None) dlg.exec_() if dlg.gridsets is not None: gwc = Gwc(layer.catalog) gwclayer = GwcLayer(gwc, layer.name, dlg.formats, dlg.gridsets, dlg.metaWidth, dlg.metaHeight) explorer.run(gwc.addLayer, "Create GWC layer '" + layer.name + "'", [], gwclayer) return True else: return False
class GwcLayersItem(GwcTreeItem): def __init__(self, catalog): self.catalog = catalog icon = QtGui.QIcon(os.path.dirname(__file__) + "/../images/gwc.png") TreeItem.__init__(self, None, icon, "GeoWebCache layers") self.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsDropEnabled) def populate(self): catalog = self.catalog self.element = Gwc(catalog) layers = self.element.layers() for layer in layers: item = GwcLayerItem(layer) self.addChild(item) def acceptDroppedItem(self, tree, explorer, item): from geoserverexplorer.gui.gsexploreritems import GsLayerItem if isinstance(item, GsLayerItem): if createGwcLayer(explorer, item.element): return [self] else: return [] def contextMenuActions(self, tree, explorer): icon = QtGui.QIcon(os.path.dirname(__file__) + "/../images/add.png") addGwcLayerAction = QtGui.QAction(icon, "New GWC layer...", explorer) addGwcLayerAction.triggered.connect(lambda: self.addGwcLayer(tree, explorer)) return [addGwcLayerAction] def addGwcLayer(self, tree, explorer): cat = self.catalog layers = cat.get_layers() dlg = EditGwcLayerDialog(layers, None) dlg.exec_() if dlg.gridsets is not None: layer = dlg.layer gwc = Gwc(layer.catalog) #TODO: this is a hack that assumes the layer belongs to the same workspace typename = layer.resource.workspace.name + ":" + layer.name gwclayer = GwcLayer(gwc, typename, dlg.formats, dlg.gridsets, dlg.metaWidth, dlg.metaHeight) catItem = tree.findAllItems(cat)[0] explorer.run(gwc.addLayer, "Create GWC layer '" + layer.name + "'", [catItem.gwcItem], gwclayer)
def createGwcLayer(explorer, layer): dlg = EditGwcLayerDialog([layer], None) dlg.exec_() if dlg.gridsets is not None: gwc = Gwc(layer.catalog) #TODO: this is a hack that assumes the layer belongs to the same workspace typename = layer.resource.workspace.name + ":" + layer.name gwclayer = GwcLayer(gwc, typename, dlg.formats, dlg.gridsets, dlg.metaWidth, dlg.metaHeight) explorer.run(gwc.addLayer, "Create GWC layer '" + layer.name + "'", [], gwclayer) return True else: return False
def addGwcLayer(self, tree, explorer): cat = self.catalog layers = cat.get_layers() if layers: dlg = EditGwcLayerDialog(layers, None) dlg.exec_() if dlg.gridsets is not None: layer = dlg.layer gwc = Gwc(layer.catalog) gwclayer = GwcLayer(gwc, layer.name, dlg.formats, dlg.gridsets, dlg.metaWidth, dlg.metaHeight) catItem = tree.findAllItems(cat)[0] explorer.run(gwc.addLayer, "Create GWC layer '" + layer.name + "'", [catItem.gwcItem], gwclayer) else: QMessageBox.warning(None, "Create GWC layer", "There are no layers in the catalog")
def addGwcLayer(self, tree, explorer): cat = self.catalog layers = cat.get_layers() dlg = EditGwcLayerDialog(layers, None) dlg.exec_() if dlg.gridsets is not None: layer = dlg.layer gwc = Gwc(layer.catalog) #TODO: this is a hack that assumes the layer belongs to the same workspace typename = layer.resource.workspace.name + ":" + layer.name gwclayer = GwcLayer(gwc, typename, dlg.formats, dlg.gridsets, dlg.metaWidth, dlg.metaHeight) catItem = tree.findAllItems(cat)[0] explorer.run(gwc.addLayer, "Create GWC layer '" + layer.name + "'", [catItem.gwcItem], gwclayer)
class GwcLayersItem(GwcTreeItem): def __init__(self, catalog): self.catalog = catalog icon = QIcon(os.path.dirname(__file__) + "/../images/gwc.png") TreeItem.__init__(self, None, icon, "GeoWebCache layers") self.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDropEnabled) def populate(self): try: catalog = self.catalog self.element = Gwc(catalog) layers = self.element.layers() for layer in layers: item = GwcLayerItem(layer) self.addChild(item) self.isValid = True except: raise self.takeChildren() self.isValid = False def acceptDroppedItem(self, tree, explorer, item): if self.isValid: from geoserverexplorer.gui.gsexploreritems import GsLayerItem if isinstance(item, GsLayerItem): if createGwcLayer(explorer, item.element): return [self] else: return [] else: return [] def contextMenuActions(self, tree, explorer): if self.isValid: icon = QIcon(os.path.dirname(__file__) + "/../images/add.png") addGwcLayerAction = QAction(icon, "New GWC layer...", explorer) addGwcLayerAction.triggered.connect( lambda: self.addGwcLayer(tree, explorer)) return [addGwcLayerAction] else: return [] def addGwcLayer(self, tree, explorer): cat = self.catalog layers = cat.get_layers() if layers: dlg = EditGwcLayerDialog(layers, None) dlg.exec_() if dlg.gridsets is not None: layer = dlg.layer gwc = Gwc(layer.catalog) gwclayer = GwcLayer(gwc, layer.name, dlg.formats, dlg.gridsets, dlg.metaWidth, dlg.metaHeight) catItem = tree.findAllItems(cat)[0] explorer.run(gwc.addLayer, "Create GWC layer '" + layer.name + "'", [catItem.gwcItem], gwclayer) else: QMessageBox.warning(None, "Create GWC layer", "There are no layers in the catalog")