26 |
from Thuban import _ |
from Thuban import _ |
27 |
from Thuban.Model.session import create_empty_session |
from Thuban.Model.session import create_empty_session |
28 |
from Thuban.Model.save import save_session |
from Thuban.Model.save import save_session |
29 |
from Thuban.Model.load import load_session |
from Thuban.Model.load import load_session, LoadCancelled |
30 |
from Thuban.Model.messages import MAPS_CHANGED |
from Thuban.Model.messages import MAPS_CHANGED |
31 |
from Thuban.Model.layer import RasterLayer |
from Thuban.Model.layer import RasterLayer |
32 |
import Thuban.Model.resource |
import Thuban.Model.resource |
189 |
""" |
""" |
190 |
self.SetSession(create_empty_session()) |
self.SetSession(create_empty_session()) |
191 |
|
|
192 |
def OpenSession(self, filename): |
def OpenSession(self, filename, db_connection_callback = None): |
193 |
"""Open the session in the file named filename""" |
"""Open the session in the file named filename""" |
194 |
# Make sure we deal with an absolute pathname. Otherwise we can |
# Make sure we deal with an absolute pathname. Otherwise we can |
195 |
# get problems when saving because the saving code expects an |
# get problems when saving because the saving code expects an |
196 |
# absolute directory name |
# absolute directory name |
197 |
filename = os.path.abspath(filename) |
filename = os.path.abspath(filename) |
198 |
session = load_session(filename) |
try: |
199 |
|
session = load_session(filename, |
200 |
|
db_connection_callback=db_connection_callback) |
201 |
|
except LoadCancelled: |
202 |
|
return |
203 |
session.SetFilename(filename) |
session.SetFilename(filename) |
204 |
session.UnsetModified() |
session.UnsetModified() |
205 |
self.SetSession(session) |
self.SetSession(session) |
208 |
for layer in map.Layers(): |
for layer in map.Layers(): |
209 |
if isinstance(layer, RasterLayer) \ |
if isinstance(layer, RasterLayer) \ |
210 |
and not Thuban.Model.resource.has_gdal_support(): |
and not Thuban.Model.resource.has_gdal_support(): |
211 |
msg = _("The current session contains Image layers,\n" + |
msg = _("The current session contains Image layers,\n" |
212 |
"but the GDAL library is not available to " + |
"but the GDAL library is not available to " |
213 |
"draw them.") |
"draw them.") |
214 |
dlg = wx.wxMessageDialog(None, |
dlg = wx.wxMessageDialog(None, |
215 |
msg, |
msg, |
216 |
_("Library not available"), |
_("Library not available"), |
217 |
wx.wxOK | wx.wxICON_INFORMATION) |
wx.wxOK | wx.wxICON_INFORMATION) |
218 |
print msg |
print msg |