54 |
layername = layerDlg.GetLayer() |
layername = layerDlg.GetLayer() |
55 |
try: |
try: |
56 |
session = context.application.Session() |
session = context.application.Session() |
57 |
store = OpenFileShapestore(session, filename, layername) |
store = OpenFileShapestore(context.mainwindow, session, |
58 |
|
filename, layername) |
59 |
session.AddShapeStore(store) |
session.AddShapeStore(store) |
60 |
except: |
except: |
61 |
# the layer couldn't be opened |
# the layer couldn't be opened |
62 |
context.mainwindow.RunMessageBox(("Add Layer"), |
context.mainwindow.RunMessageBox(_("Add Layer"), |
63 |
("Can't open the file '%s'.")%filename) |
_("Can't open the file '%s'.") % filename) |
64 |
else: |
else: |
65 |
if store is not None: |
if store is not None: |
66 |
layer = Layer(title, store) |
layer = Layer(title, store) |
149 |
canvas.FitMapToWindow() |
canvas.FitMapToWindow() |
150 |
dlg.Destroy() |
dlg.Destroy() |
151 |
|
|
152 |
def OpenFileShapestore(session, filename, layername): |
def OpenFileShapestore(mainwindow, session, filename, layername): |
153 |
"""Open a datasource and add the required layer. |
"""Open a datasource and add the required layer. |
154 |
""" |
""" |
155 |
try: |
try: |
156 |
store = ogrshapes.OGRShapeStore(session, filename, layername) |
store = ogrshapes.OGRFileShapeStore(session, filename, layername) |
157 |
return store |
return store |
158 |
except: |
except: |
159 |
# Some error occured while initializing the layer |
# Some error occured while initializing the layer |
160 |
context.mainwindow.RunMessageBox(_("Open datasource"), |
mainwindow.RunMessageBox(_("Open datasource"), |
161 |
_("Can't open the datasource '%s'") |
_("Can't open the datasource '%s'") |
162 |
% filename) |
% filename) |
163 |
else: |
return None |
|
return null |
|
164 |
|
|
165 |
def OpenDBShapestore(session, dbconn, layername, id_column, geo_column): |
def OpenDBShapestore(session, dbconn, layername, id_column, geo_column): |
166 |
"""Open a datasource and add the required layer. |
"""Open a datasource and add the required layer. |