/[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 2017 by bh, Wed Dec 3 18:43:03 2003 UTC revision 2051 by frank, Wed Jan 21 17:09:15 2004 UTC
# 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 583  class MainWindow(DockFrame): Line 591  class MainWindow(DockFrame):
591          """Return true if a layer is currently selected"""          """Return true if a layer is currently selected"""
592          return self.canvas.HasSelectedLayer()          return self.canvas.HasSelectedLayer()
593    
594        def has_selected_shape_layer(self):
595            """Return true if a shape layer is currently selected"""
596            return isinstance(self.current_layer(), Layer)
597    
598      def has_selected_shapes(self):      def has_selected_shapes(self):
599          """Return true if a shape is currently selected"""          """Return true if a shape is currently selected"""
600          return self.canvas.HasSelectedShapes()          return self.canvas.HasSelectedShapes()
# Line 718  class MainWindow(DockFrame): Line 730  class MainWindow(DockFrame):
730          return dialog is not None and dialog.IsShown()          return dialog is not None and dialog.IsShown()
731    
732      def TableOpen(self):      def TableOpen(self):
733          dlg = wxFileDialog(self, _("Open Table"), ".", "",          dlg = wxFileDialog(self, _("Open Table"),
734                               self.application.Path("data"), "",
735                             _("DBF Files (*.dbf)") + "|*.dbf|" +                             _("DBF Files (*.dbf)") + "|*.dbf|" +
736                             #_("CSV Files (*.csv)") + "|*.csv|" +                             #_("CSV Files (*.csv)") + "|*.csv|" +
737                             _("All Files (*.*)") + "|*.*",                             _("All Files (*.*)") + "|*.*",
# Line 734  class MainWindow(DockFrame): Line 747  class MainWindow(DockFrame):
747                                     _("Can't open the file '%s'.") % filename)                                     _("Can't open the file '%s'.") % filename)
748              else:              else:
749                  self.ShowTableView(table)                  self.ShowTableView(table)
750                    self.application.SetPath("data",filename)
751    
752      def TableClose(self):      def TableClose(self):
753          tables = self.application.session.UnreferencedTables()          tables = self.application.session.UnreferencedTables()
# Line 810  class MainWindow(DockFrame): Line 824  class MainWindow(DockFrame):
824    
825          # Second, let the user rename the layers          # Second, let the user rename the layers
826          for table in to_rename:          for table in to_rename:
827              dlg = wxTextEntryDialog(self, "Table Title: ", "Rename Table",              dlg = wxTextEntryDialog(self, _("Table Title:"), _("Rename Table"),
828                                      table.Title())                                      table.Title())
829              try:              try:
830                  if dlg.ShowModal() == wxID_OK:                  if dlg.ShowModal() == wxID_OK:
# Line 859  class MainWindow(DockFrame): Line 873  class MainWindow(DockFrame):
873          self.canvas.Print()          self.canvas.Print()
874    
875      def RenameMap(self):      def RenameMap(self):
876          dlg = wxTextEntryDialog(self, "Map Title: ", "Rename Map",          dlg = wxTextEntryDialog(self, _("Map Title:"), _("Rename Map"),
877                                  self.Map().Title())                                  self.Map().Title())
878          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
879              title = dlg.GetValue()              title = dlg.GetValue()
# Line 872  class MainWindow(DockFrame): Line 886  class MainWindow(DockFrame):
886          """Let the user rename the currently selected layer"""          """Let the user rename the currently selected layer"""
887          layer = self.current_layer()          layer = self.current_layer()
888          if layer is not None:          if layer is not None:
889              dlg = wxTextEntryDialog(self, "Layer Title: ", "Rename Layer",              dlg = wxTextEntryDialog(self, _("Layer Title:"), _("Rename Layer"),
890                                      layer.Title())                                      layer.Title())
891              try:              try:
892                  if dlg.ShowModal() == wxID_OK:                  if dlg.ShowModal() == wxID_OK:
# Line 971  def _has_selected_layer(context): Line 985  def _has_selected_layer(context):
985      """Return true if a layer is selected in the context"""      """Return true if a layer is selected in the context"""
986      return context.mainwindow.has_selected_layer()      return context.mainwindow.has_selected_layer()
987    
988    def _has_selected_shape_layer(context):
989        """Return true if a shape layer is selected in the context"""
990        return context.mainwindow.has_selected_shape_layer()
991    
992  def _has_selected_shapes(context):  def _has_selected_shapes(context):
993      """Return true if a layer is selected in the context"""      """Return true if a layer is selected in the context"""
994      return context.mainwindow.has_selected_shapes()      return context.mainwindow.has_selected_shapes()
# Line 1107  _method_command("layer_hide", _("&Hide") Line 1125  _method_command("layer_hide", _("&Hide")
1125                  sensitive = _has_selected_layer)                  sensitive = _has_selected_layer)
1126  _method_command("layer_show_table", _("Show Ta&ble"), "LayerShowTable",  _method_command("layer_show_table", _("Show Ta&ble"), "LayerShowTable",
1127                  helptext = _("Show the selected layer's table"),                  helptext = _("Show the selected layer's table"),
1128                  sensitive = _has_selected_layer)                  sensitive = _has_selected_shape_layer)
1129  _method_command("layer_properties", _("&Properties..."), "LayerEditProperties",  _method_command("layer_properties", _("&Properties..."), "LayerEditProperties",
1130                  sensitive = _has_selected_layer,                  sensitive = _has_selected_layer,
1131                  helptext = _("Edit the properties of the selected layer"))                  helptext = _("Edit the properties of the selected layer"))
1132  _method_command("layer_jointable", _("&Join Table..."), "LayerJoinTable",  _method_command("layer_jointable", _("&Join Table..."), "LayerJoinTable",
1133                  sensitive = _has_selected_layer,                  sensitive = _has_selected_shape_layer,
1134                  helptext = _("Join and attach a table to the selected layer"))                  helptext = _("Join and attach a table to the selected layer"))
1135    
1136  def _can_unjoin(context):  def _can_unjoin(context):

Legend:
Removed from v.2017  
changed lines
  Added in v.2051

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26