/[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 2019 by bh, Wed Dec 3 18:56:23 2003 UTC revision 2102 by bh, Thu Mar 11 21:04:30 2004 UTC
# Line 1  Line 1 
1  # Copyright (C) 2001, 2002, 2003 by Intevation GmbH  # Copyright (C) 2001, 2002, 2003, 2004 by Intevation GmbH
2  # Authors:  # Authors:
3  # Jan-Oliver Wagner <[email protected]>  # Jan-Oliver Wagner <[email protected]>
4  # Bernhard Herzog <[email protected]>  # Bernhard Herzog <[email protected]>
# Line 378  class MainWindow(DockFrame): Line 378  class MainWindow(DockFrame):
378    
379      def OpenSession(self):      def OpenSession(self):
380          if self.save_modified_session() != wxID_CANCEL:          if self.save_modified_session() != wxID_CANCEL:
381              dlg = wxFileDialog(self, _("Open Session"), ".", "",              dlg = wxFileDialog(self, _("Open Session"),
382                                   self.application.Path("data"), "",
383                                 "Thuban Session File (*.thuban)|*.thuban",                                 "Thuban Session File (*.thuban)|*.thuban",
384                                 wxOPEN)                                 wxOPEN)
385              if dlg.ShowModal() == wxID_OK:              if dlg.ShowModal() == wxID_OK:
386                  self.application.OpenSession(dlg.GetPath(),                  self.application.OpenSession(dlg.GetPath(),
387                                               self.run_db_param_dialog)                                               self.run_db_param_dialog)
388                    self.application.SetPath("data", dlg.GetPath())
389              dlg.Destroy()              dlg.Destroy()
390    
391      def run_db_param_dialog(self, parameters, message):      def run_db_param_dialog(self, parameters, message):
# Line 398  class MainWindow(DockFrame): Line 400  class MainWindow(DockFrame):
400              self.application.SaveSession()              self.application.SaveSession()
401    
402      def SaveSessionAs(self):      def SaveSessionAs(self):
403          dlg = wxFileDialog(self, _("Save Session As"), ".", "",          dlg = wxFileDialog(self, _("Save Session As"),
404                               self.application.Path("data"), "",
405                             "Thuban Session File (*.thuban)|*.thuban",                             "Thuban Session File (*.thuban)|*.thuban",
406                             wxSAVE|wxOVERWRITE_PROMPT)                             wxSAVE|wxOVERWRITE_PROMPT)
407          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
408              self.application.session.SetFilename(dlg.GetPath())              self.application.session.SetFilename(dlg.GetPath())
409              self.application.SaveSession()              self.application.SaveSession()
410                self.application.SetPath("data",dlg.GetPath())
411          dlg.Destroy()          dlg.Destroy()
412    
413      def Exit(self):      def Exit(self):
# Line 468  class MainWindow(DockFrame): Line 472  class MainWindow(DockFrame):
472          dialog.Raise()          dialog.Raise()
473    
474      def AddLayer(self):      def AddLayer(self):
475          dlg = wxFileDialog(self, _("Select one or more data files"), ".", "",          dlg = wxFileDialog(self, _("Select one or more data files"),
476                               self.application.Path("data"), "",
477                             _("Shapefiles (*.shp)") + "|*.shp;*.SHP|" +                             _("Shapefiles (*.shp)") + "|*.shp;*.SHP|" +
478                             _("All Files (*.*)") + "|*.*",                             _("All Files (*.*)") + "|*.*",
479                             wxOPEN | wxMULTIPLE)                             wxOPEN | wxMULTIPLE)
# Line 491  class MainWindow(DockFrame): Line 496  class MainWindow(DockFrame):
496                          # if we're adding a layer to an empty map, fit the                          # if we're adding a layer to an empty map, fit the
497                          # new map to the window                          # new map to the window
498                          self.canvas.FitMapToWindow()                          self.canvas.FitMapToWindow()
499                        self.application.SetPath("data",filename)
500          dlg.Destroy()          dlg.Destroy()
501    
502      def AddRasterLayer(self):      def AddRasterLayer(self):
503          dlg = wxFileDialog(self, _("Select an image file"), ".", "", "*.*",          dlg = wxFileDialog(self, _("Select an image file"),
504                               self.application.Path("data"), "", "*.*",
505                             wxOPEN)                             wxOPEN)
506          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
507              filename = dlg.GetPath()              filename = dlg.GetPath()
# Line 513  class MainWindow(DockFrame): Line 520  class MainWindow(DockFrame):
520                      # if we're adding a layer to an empty map, fit the                      # if we're adding a layer to an empty map, fit the
521                      # new map to the window                      # new map to the window
522                      self.canvas.FitMapToWindow()                      self.canvas.FitMapToWindow()
523                    self.application.SetPath("data", filename)
524          dlg.Destroy()          dlg.Destroy()
525    
526      def AddDBLayer(self):      def AddDBLayer(self):
# Line 521  class MainWindow(DockFrame): Line 529  class MainWindow(DockFrame):
529          dlg = ChooseDBTableDialog(self, self.application.Session())          dlg = ChooseDBTableDialog(self, self.application.Session())
530    
531          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
532              dbconn, dbtable = dlg.GetTable()              dbconn, dbtable, id_column, geo_column = dlg.GetTable()
533              try:              try:
534                  title = str(dbtable)                  title = str(dbtable)
535    
536                  # Chose the correct Interface for the database type                  # Chose the correct Interface for the database type
537                  store = PostGISShapeStore(dbconn, dbtable)                  store = session.OpenDBShapeStore(dbconn, dbtable,
538                  session.AddShapeStore(store)                                                   id_column = id_column,
539                                                     geometry_column = geo_column)
540                  layer = Layer(title, store)                  layer = Layer(title, store)
541              except:              except:
542                  # Some error occured while initializing the layer                  # Some error occured while initializing the layer
543                  self.RunMessageBox(_("Add Layer from database"),                  self.RunMessageBox(_("Add Layer from database"),
544                                     _("Can't open the database table '%s'")                                     _("Can't open the database table '%s'")
545                                     % dbtable)                                     % dbtable)
546                    return
547    
548              map = self.canvas.Map()              map = self.canvas.Map()
549    
# Line 722  class MainWindow(DockFrame): Line 732  class MainWindow(DockFrame):
732          return dialog is not None and dialog.IsShown()          return dialog is not None and dialog.IsShown()
733    
734      def TableOpen(self):      def TableOpen(self):
735          dlg = wxFileDialog(self, _("Open Table"), ".", "",          dlg = wxFileDialog(self, _("Open Table"),
736                               self.application.Path("data"), "",
737                             _("DBF Files (*.dbf)") + "|*.dbf|" +                             _("DBF Files (*.dbf)") + "|*.dbf|" +
738                             #_("CSV Files (*.csv)") + "|*.csv|" +                             #_("CSV Files (*.csv)") + "|*.csv|" +
739                             _("All Files (*.*)") + "|*.*",                             _("All Files (*.*)") + "|*.*",
# Line 738  class MainWindow(DockFrame): Line 749  class MainWindow(DockFrame):
749                                     _("Can't open the file '%s'.") % filename)                                     _("Can't open the file '%s'.") % filename)
750              else:              else:
751                  self.ShowTableView(table)                  self.ShowTableView(table)
752                    self.application.SetPath("data",filename)
753    
754      def TableClose(self):      def TableClose(self):
755          tables = self.application.session.UnreferencedTables()          tables = self.application.session.UnreferencedTables()
# Line 814  class MainWindow(DockFrame): Line 826  class MainWindow(DockFrame):
826    
827          # Second, let the user rename the layers          # Second, let the user rename the layers
828          for table in to_rename:          for table in to_rename:
829              dlg = wxTextEntryDialog(self, "Table Title: ", "Rename Table",              dlg = wxTextEntryDialog(self, _("Table Title:"), _("Rename Table"),
830                                      table.Title())                                      table.Title())
831              try:              try:
832                  if dlg.ShowModal() == wxID_OK:                  if dlg.ShowModal() == wxID_OK:
# Line 863  class MainWindow(DockFrame): Line 875  class MainWindow(DockFrame):
875          self.canvas.Print()          self.canvas.Print()
876    
877      def RenameMap(self):      def RenameMap(self):
878          dlg = wxTextEntryDialog(self, "Map Title: ", "Rename Map",          dlg = wxTextEntryDialog(self, _("Map Title:"), _("Rename Map"),
879                                  self.Map().Title())                                  self.Map().Title())
880          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
881              title = dlg.GetValue()              title = dlg.GetValue()
# Line 876  class MainWindow(DockFrame): Line 888  class MainWindow(DockFrame):
888          """Let the user rename the currently selected layer"""          """Let the user rename the currently selected layer"""
889          layer = self.current_layer()          layer = self.current_layer()
890          if layer is not None:          if layer is not None:
891              dlg = wxTextEntryDialog(self, "Layer Title: ", "Rename Layer",              dlg = wxTextEntryDialog(self, _("Layer Title:"), _("Rename Layer"),
892                                      layer.Title())                                      layer.Title())
893              try:              try:
894                  if dlg.ShowModal() == wxID_OK:                  if dlg.ShowModal() == wxID_OK:

Legend:
Removed from v.2019  
changed lines
  Added in v.2102

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26