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

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

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

revision 1620 by bh, Wed Aug 20 13:14:22 2003 UTC revision 1644 by bh, Mon Aug 25 12:44:55 2003 UTC
# Line 12  The main window Line 12  The main window
12  """  """
13    
14  __version__ = "$Revision$"  __version__ = "$Revision$"
15    # $Source$
16  __ThubanVersion__ = "0.8" #"$THUBAN_0_2$"  # $Id$
 #__BuildDate__ = "$Date$"  
17    
18  import os  import os
19  import copy  import copy
# Line 28  import Thuban.version Line 27  import Thuban.version
27  from Thuban import _  from Thuban import _
28  from Thuban.Model.session import create_empty_session  from Thuban.Model.session import create_empty_session
29  from Thuban.Model.layer import Layer, RasterLayer  from Thuban.Model.layer import Layer, RasterLayer
30  from Thuban.Model.postgisdb import PostGISShapeStore  from Thuban.Model.postgisdb import PostGISShapeStore, has_postgis_support
31  # XXX: replace this by  # XXX: replace this by
32  # from wxPython.lib.dialogs import wxMultipleChoiceDialog  # from wxPython.lib.dialogs import wxMultipleChoiceDialog
33  # when Thuban does not support wxPython 2.4.0 any more.  # when Thuban does not support wxPython 2.4.0 any more.
# Line 456  class MainWindow(DockFrame): Line 455  class MainWindow(DockFrame):
455          dialog.Raise()          dialog.Raise()
456    
457      def AddLayer(self):      def AddLayer(self):
458          dlg = wxFileDialog(self, _("Select a data file"), ".", "", "*.*",          dlg = wxFileDialog(self, _("Select one or more data files"), ".", "",
459                             wxOPEN)                             _("Shapefiles (*.shp)") + "|*.shp|" +
460                               _("All Files (*.*)") + "|*.*",
461                               wxOPEN | wxMULTIPLE)
462          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
463              filename = dlg.GetPath()              filenames = dlg.GetPaths()
464              title = os.path.splitext(os.path.basename(filename))[0]              for filename in filenames:
465              map = self.canvas.Map()                  title = os.path.splitext(os.path.basename(filename))[0]
466              has_layers = map.HasLayers()                  map = self.canvas.Map()
467              try:                  has_layers = map.HasLayers()
468                  store = self.application.Session().OpenShapefile(filename)                  try:
469              except IOError:                      store = self.application.Session().OpenShapefile(filename)
470                  # the layer couldn't be opened                  except IOError:
471                  self.RunMessageBox(_("Add Layer"),                      # the layer couldn't be opened
472                                     _("Can't open the file '%s'.") % filename)                      self.RunMessageBox(_("Add Layer"),
473              else:                                         _("Can't open the file '%s'.")%filename)
474                  layer = Layer(title, store)                  else:
475                  map.AddLayer(layer)                      layer = Layer(title, store)
476                  if not has_layers:                      map.AddLayer(layer)
477                      # if we're adding a layer to an empty map, fit the                      if not has_layers:
478                      # new map to the window                          # if we're adding a layer to an empty map, fit the
479                      self.canvas.FitMapToWindow()                          # new map to the window
480                            self.canvas.FitMapToWindow()
481          dlg.Destroy()          dlg.Destroy()
482    
483      def AddRasterLayer(self):      def AddRasterLayer(self):
# Line 969  def _has_dbconnections(context): Line 971  def _has_dbconnections(context):
971      """Return whether the the session has database connections"""      """Return whether the the session has database connections"""
972      return context.session.HasDBConnections()      return context.session.HasDBConnections()
973    
974    def _has_postgis_support(context):
975        return has_postgis_support()
976    
977    
978  # File menu  # File menu
979  _method_command("new_session", _("&New Session"), "NewSession",  _method_command("new_session", _("&New Session"), "NewSession",
980                  helptext = _("Start a new session"))                  helptext = _("Start a new session"))
# Line 985  _method_command("toggle_legend", _("Lege Line 991  _method_command("toggle_legend", _("Lege
991                  checked = _has_legend_shown,                  checked = _has_legend_shown,
992                  helptext = _("Toggle Legend on/off"))                  helptext = _("Toggle Legend on/off"))
993  _method_command("database_management", _("&Database Connections..."),  _method_command("database_management", _("&Database Connections..."),
994                  "DatabaseManagement")                  "DatabaseManagement",
995                    sensitive = _has_postgis_support)
996  _method_command("exit", _("E&xit"), "Exit",  _method_command("exit", _("E&xit"), "Exit",
997                  helptext = _("Finish working with Thuban"))                  helptext = _("Finish working with Thuban"))
998    

Legend:
Removed from v.1620  
changed lines
  Added in v.1644

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26