/[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 640 by jonathan, Thu Apr 10 14:36:08 2003 UTC revision 723 by bh, Thu Apr 24 15:31:53 2003 UTC
# Line 36  from menu import Menu Line 36  from menu import Menu
36    
37  from context import Context  from context import Context
38  from command import registry, Command, ToolCommand  from command import registry, Command, ToolCommand
39  from messages import LAYER_SELECTED, SHAPES_SELECTED, VIEW_POSITION, DOCKABLE_DOCKED, DOCKABLE_UNDOCKED, DOCKABLE_CLOSED  from messages import LAYER_SELECTED, SHAPES_SELECTED, VIEW_POSITION
40    
41  from Thuban.UI.dock import DockableWindow, DockFrame, DockPanel  from Thuban.UI.dock import DockFrame
42    
43    import resource
44    
45  # the directory where the toolbar icons are stored  import projdialog
 bitmapdir = os.path.join(Thuban.__path__[0], os.pardir, "Resources", "Bitmaps")  
 bitmapext = ".xpm"  
46    
 ID_WINDOW_LEGEND = 4001  
 ID_WINDOW_CANVAS = 4002  
47    
48    
49  class MainWindow(DockFrame):  class MainWindow(DockFrame):
# Line 243  class MainWindow(DockFrame): Line 240  class MainWindow(DockFrame):
240              command = registry.Command(name)              command = registry.Command(name)
241              if command is not None:              if command is not None:
242                  ID = self.get_id(name)                  ID = self.get_id(name)
243                  filename = os.path.join(bitmapdir, command.Icon()) + bitmapext                  bitmap = resource.GetBitmapResource(command.Icon(),
244                  bitmap = wxBitmap(filename, wxBITMAP_TYPE_XPM)                                                      wxBITMAP_TYPE_XPM)
245                  toolbar.AddTool(ID, bitmap,                  toolbar.AddTool(ID, bitmap,
246                                  shortHelpString = command.HelpText(),                                  shortHelpString = command.HelpText(),
247                                  isToggle = command.IsCheckCommand())                                  isToggle = command.IsCheckCommand())
# Line 403  class MainWindow(DockFrame): Line 400  class MainWindow(DockFrame):
400    
401      def SetMap(self, map):      def SetMap(self, map):
402          self.canvas.SetMap(map)          self.canvas.SetMap(map)
403          self.SetTitle("Thuban - " + map.Title())          self.__SetTitle(map.Title())
404          #self.legendPanel.SetMap(map)          #self.legendPanel.SetMap(map)
405    
406      def Map(self):      def Map(self):
# Line 447  class MainWindow(DockFrame): Line 444  class MainWindow(DockFrame):
444          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
445              filename = dlg.GetPath()              filename = dlg.GetPath()
446              title = os.path.splitext(os.path.basename(filename))[0]              title = os.path.splitext(os.path.basename(filename))[0]
447              layer = Layer(title, filename)              store = self.application.Session().OpenShapefile(filename)
448                layer = Layer(title, store)
449              map = self.canvas.Map()              map = self.canvas.Map()
450              has_layers = map.HasLayers()              has_layers = map.HasLayers()
451              try:              try:
# Line 545  class MainWindow(DockFrame): Line 543  class MainWindow(DockFrame):
543                  pass                  pass
544    
545      def Projection(self):      def Projection(self):
546          map = self.canvas.Map()  
547          proj = map.projection          name = "projection"
548          if proj is None:          dialog = self.get_open_dialog(name)
549              proj4Dlg = proj4dialog.Proj4Dialog(NULL, None, map.BoundingBox())  
550          else:          if dialog is None:
551              proj4Dlg = proj4dialog.Proj4Dialog(NULL, map.projection.params,              map = self.canvas.Map()
552                                                 map.BoundingBox())              dialog = projdialog.ProjFrame(self, name, map)
553          if proj4Dlg.ShowModal() == wxID_OK:              self.add_dialog(name, dialog)
554              params = proj4Dlg.GetParams()              dialog.Show()
555              if params is not None:          dialog.Raise()
                 proj = Projection(params)  
             else:  
                 proj = None  
             map.SetProjection(proj)  
         proj4Dlg.Destroy()  
556    
557      def LayerEditProperties(self):      def LayerEditProperties(self):
558    
# Line 628  class MainWindow(DockFrame): Line 621  class MainWindow(DockFrame):
621      def PrintMap(self):      def PrintMap(self):
622          self.canvas.Print()          self.canvas.Print()
623    
624        def RenameMap(self):
625            dlg = wxTextEntryDialog(self, "Map Title: ", "Rename Map",
626                                    self.Map().Title())
627            if dlg.ShowModal() == wxID_OK:
628                title = dlg.GetValue()
629                if title != "":
630                    self.Map().SetTitle(title)
631                    self.__SetTitle(title)
632    
633            dlg.Destroy()
634    
635      def identify_view_on_demand(self, layer, shapes):      def identify_view_on_demand(self, layer, shapes):
636          name = "identify_view"          name = "identify_view"
637          if self.canvas.CurrentTool() == "IdentifyTool":          if self.canvas.CurrentTool() == "IdentifyTool":
# Line 639  class MainWindow(DockFrame): Line 643  class MainWindow(DockFrame):
643                  # FIXME: bring dialog to front?                  # FIXME: bring dialog to front?
644                  pass                  pass
645    
646        def __SetTitle(self, title):
647            self.SetTitle("Thuban - " + title)
648    
649  #  #
650  # Define all the commands available in the main window  # Define all the commands available in the main window
651  #  #
# Line 741  _method_command("map_full_extent", _("&F Line 748  _method_command("map_full_extent", _("&F
748                sensitive = _has_visible_map)                sensitive = _has_visible_map)
749  _method_command("map_print", _("Prin&t"), "PrintMap",  _method_command("map_print", _("Prin&t"), "PrintMap",
750                  helptext = _("Print the map"))                  helptext = _("Print the map"))
751    _method_command("map_rename", _("&Rename"), "RenameMap",
752                    helptext = _("Rename the map"))
753    
754  # Layer menu  # Layer menu
755  _method_command("layer_add", _("&Add Layer"), "AddLayer",  _method_command("layer_add", _("&Add Layer"), "AddLayer",
# Line 785  main_menu = Menu("<main>", "<main>", Line 794  main_menu = Menu("<main>", "<main>",
794                          None,                          None,
795                          "toggle_legend",                          "toggle_legend",
796                          None,                          None,
797                          "map_print"]),                          "map_print",
798                            None,
799                            "map_rename"]),
800                    Menu("layer", _("&Layer"),                    Menu("layer", _("&Layer"),
801                          ["layer_raise", "layer_lower",                          ["layer_raise", "layer_lower",
802                          None,                          None,

Legend:
Removed from v.640  
changed lines
  Added in v.723

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26