-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
135 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# -*- coding: utf-8 -*- | ||
import xml.etree.ElementTree as ET | ||
|
||
class qgsLayerTree: | ||
def __init__(self, rootName=""): | ||
""" | ||
:param rootName: the name of the rootlayer | ||
""" | ||
self.tree = dict(name=rootName, layers=[], checked='Qt::Checked', expanded='1') | ||
|
||
def addLayer(self, layerId, name="", level=None, checked=True, expanded=True): | ||
""" | ||
Add a regular layer | ||
:param layerId: | ||
:param name: | ||
:param level: | ||
:param checked: | ||
:param expanded: | ||
""" | ||
if not level: | ||
level = self.tree | ||
|
||
checkedStr = "Qt::Checked" if checked else "Qt::Unchecked" | ||
expandedStr = "1" if expanded else "0" | ||
layer = dict(id=str(layerId), name=name, checked=checkedStr, expanded=expandedStr) | ||
level['layers'].append(layer) | ||
|
||
def addGroup(self, name='', level=None, checked=True, expanded=True): | ||
""" | ||
Add a gropup layer | ||
:param name: | ||
:param level: | ||
:param checked: | ||
:param expanded: | ||
""" | ||
if not level: | ||
level = self.tree | ||
else: | ||
if 'layers' in level.keys(): raise Exception("layer is not a group layer") | ||
|
||
checkedStr = "Qt::Checked" if checked else "Qt::Unchecked" | ||
expandedStr = "1" if expanded else "0" | ||
layer = dict(name=name, layers=[], checked=checkedStr, expanded=expandedStr) | ||
level['layers'].append( layer ) | ||
return | ||
|
||
def _appendNodes(self, treeRecord, node): | ||
if 'layers' in treeRecord.keys(): | ||
attribs = { k:n for k,n in treeRecord.items() if k <> 'layers' } | ||
|
||
group = ET.SubElement(node ,'layer-tree-group', attribs) | ||
for layer in treeRecord['layers']: | ||
self._appendNodes( layer, group ) | ||
return group | ||
else: | ||
return ET.SubElement(node, 'layer-tree-layer', treeRecord) | ||
|
||
|
||
def node(self): | ||
rootName = self.tree['name'] | ||
rootGroup = ET.Element('layer-tree-group', expanded="1", checked="Qt::Checked", name=rootName) | ||
|
||
for layer in self.tree['layers']: | ||
self._appendNodes( layer, rootGroup ) | ||
|
||
return rootGroup |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
from distutils.core import setup | ||
setup(name='mxdTranslator', | ||
setup(name='QGIS Tools for Arcgis', | ||
description='Translate ESRI Arcgis .mxd files to QGIS .qgs files.', | ||
author='Kay Warrie', | ||
author_email='[email protected]', | ||
|
@@ -8,7 +8,5 @@ | |
package_dir={'qgsWriter': 'qgsWriter', | ||
'mxdTranslator':'mxdTranslator', | ||
'mxdParser':'mxdParser'}, | ||
data_files=[('Lib/site-packages/mxdTranslator/esri/toolboxes', ['QGIStool.pyt'])] , | ||
# package_data={'mxdTranslator': ['esri/toolboxes/*.*']}, | ||
scripts=[] | ||
data_files=[('Lib/site-packages/mxdTranslator/esri/toolboxes', ['QGIStool.pyt'])] | ||
) |