/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/UI/application.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/UI/application.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 671 by bh, Tue Apr 15 18:09:47 2003 UTC revision 1162 by jonathan, Thu Jun 12 12:41:16 2003 UTC
# Line 13  Thuban's application object. Line 13  Thuban's application object.
13  __version__ = "$Revision$"  __version__ = "$Revision$"
14    
15  import sys, os  import sys, os
16    import os.path
17    
18  import traceback  import traceback
19    
20  from wxPython.wx import *  from wxPython.wx import *
21    
22  from Thuban.Lib.connector import Publisher  from Thuban.Lib.connector import Publisher
23    from Thuban.Lib.fileutil import get_application_dir
24    
25  from Thuban import _  from Thuban import _
26  from Thuban.Model.session import create_empty_session  from Thuban.Model.session import create_empty_session
27  from Thuban.Model.save import save_session  from Thuban.Model.save import save_session
28  from Thuban.Model.load import load_session  from Thuban.Model.load import load_session
29  from Thuban.Model.messages import MAPS_CHANGED  from Thuban.Model.messages import MAPS_CHANGED
30    from Thuban.Model.layer import RasterLayer
31    import Thuban.Model.resource
32    
33  import view  import view
34  import tree  import tree
# Line 62  class ThubanApplication(wxApp, Publisher Line 67  class ThubanApplication(wxApp, Publisher
67          Extend this in derived classes if needed.          Extend this in derived classes if needed.
68          """          """
69          self.session.Destroy()          self.session.Destroy()
70            self.session = None
71          Publisher.Destroy(self)          Publisher.Destroy(self)
72    
     def MainLoop(self):  
         """Call the inherited MainLoop method and then call OnExit.  
   
         In wxPython OnExit isn't called automatically, unfortunately, so  
         we do it here.  
         """  
         wxApp.MainLoop(self)  
         self.OnExit()  
   
73      def read_startup_files(self):      def read_startup_files(self):
74          """Read the startup files."""          """Read the startup files."""
75          # for now the startup file is ~/.thuban/thubanstart.py          # for now the startup file is ~/.thuban/thubanstart.py
76          dir =os.path.expanduser("~/.thuban")          dir = get_application_dir()
77          if os.path.isdir(dir):          if os.path.isdir(dir):
78              sys.path.append(dir)              sys.path.append(dir)
79              try:              try:
# Line 141  class ThubanApplication(wxApp, Publisher Line 138  class ThubanApplication(wxApp, Publisher
138          msg = (_("This is the wxPython-based Graphical User Interface"          msg = (_("This is the wxPython-based Graphical User Interface"
139                 " for exploring geographic data"))                 " for exploring geographic data"))
140          return mainwindow.MainWindow(NULL, -1, "Thuban", self, None,          return mainwindow.MainWindow(NULL, -1, "Thuban", self, None,
141                                       initial_message = msg)                                       initial_message = msg,
142                                         size = (600, 400))
143    
144      def Session(self):      def Session(self):
145          """Return the application's session object"""          """Return the application's session object"""
# Line 201  class ThubanApplication(wxApp, Publisher Line 199  class ThubanApplication(wxApp, Publisher
199          session.UnsetModified()          session.UnsetModified()
200          self.SetSession(session)          self.SetSession(session)
201    
202            for map in session.Maps():
203                for layer in map.Layers():
204                    if isinstance(layer, RasterLayer) \
205                        and not Thuban.Model.resource.has_gdal_support():
206                        msg = _("The current session contains Image layers,\n" +
207                                "but the GDAL library is not available to " +
208                                "draw them.")
209                        dlg = wx.wxMessageDialog(None,
210                                                 msg,
211                                                 _("Library not available"),
212                                                 wx.wxOK | wx.wxICON_INFORMATION)
213                        print msg
214                        dlg.ShowModal()
215                        dlg.Destroy()
216                        break
217    
218      def SaveSession(self):      def SaveSession(self):
219          save_session(self.session, self.session.filename)          save_session(self.session, self.session.filename)
220    

Legend:
Removed from v.671  
changed lines
  Added in v.1162

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26