Ejemplo n.º 1
0
 def populate(self):
     catalog = self.catalog
     self.element = Gwc(catalog)
     layers = self.element.layers()
     for layer in layers:
         item = GwcLayerItem(layer)
         self.addChild(item)
Ejemplo n.º 2
0
 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")
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
 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")
Ejemplo n.º 8
0
    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)
Ejemplo n.º 9
0
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")