/[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 307 by bh, Fri Sep 6 10:01:16 2002 UTC revision 321 by bh, Fri Sep 13 14:21:48 2002 UTC
# Line 112  class MainWindow(wxFrame): Line 112  class MainWindow(wxFrame):
112          return menu_bar          return menu_bar
113    
114      def build_menu(self, menudesc):      def build_menu(self, menudesc):
115          """Build and return a wxMenu from a menudescription"""          """Return a wxMenu built from the menu description menudesc"""
116          wxmenu = wxMenu()          wxmenu = wxMenu()
117          last = None          last = None
118          for item in menudesc.items:          for item in menudesc.items:
             # here the items must all be Menu instances themselves  
119              if item is None:              if item is None:
120                  # a separator. Only add one if the last item was not a                  # a separator. Only add one if the last item was not a
121                  # separator                  # separator
# Line 220  class MainWindow(wxFrame): Line 219  class MainWindow(wxFrame):
219          """Run a modal message box with the given text, title and flags          """Run a modal message box with the given text, title and flags
220          and return the result"""          and return the result"""
221          dlg = wxMessageDialog(self, text, title, flags)          dlg = wxMessageDialog(self, text, title, flags)
222            dlg.CenterOnParent()
223          result = dlg.ShowModal()          result = dlg.ShowModal()
224          dlg.Destroy()          dlg.Destroy()
225          return result          return result
# Line 251  class MainWindow(wxFrame): Line 251  class MainWindow(wxFrame):
251              text = "(%10.10g, %10.10g)" % pos              text = "(%10.10g, %10.10g)" % pos
252          else:          else:
253              text = ""              text = ""
254            self.set_position_text(text)
255    
256        def set_position_text(self, text):
257            """Set the statusbar text showing the current position.
258    
259            By default the text is shown in field 0 of the status bar.
260            Override this method in derived classes to put it into a
261            different field of the statusbar.
262            """
263          self.SetStatusText(text)          self.SetStatusText(text)
264    
265      def save_modified_session(self, can_veto = 1):      def save_modified_session(self, can_veto = 1):
# Line 318  class MainWindow(wxFrame): Line 327  class MainWindow(wxFrame):
327      def SetMap(self, map):      def SetMap(self, map):
328          self.canvas.SetMap(map)          self.canvas.SetMap(map)
329    
330        def Map(self):
331            """Return the map displayed by this mainwindow"""
332            return self.canvas.Map()
333    
334      def ShowSessionTree(self):      def ShowSessionTree(self):
335          name = "session_tree"          name = "session_tree"
336          dialog = self.get_open_dialog(name)          dialog = self.get_open_dialog(name)
# Line 543  def make_check_current_tool(toolname): Line 556  def make_check_current_tool(toolname):
556      return check_current_tool      return check_current_tool
557    
558  def _tool_command(name, title, method, toolname, helptext = "",  def _tool_command(name, title, method, toolname, helptext = "",
559                    icon = ""):                    icon = "", sensitive = None):
560      """Add a tool command"""      """Add a tool command"""
561      registry.Add(Command(name, title, call_method, args=(method,),      registry.Add(Command(name, title, call_method, args=(method,),
562                           helptext = helptext, icon = icon,                           helptext = helptext, icon = icon,
563                           checked = make_check_current_tool(toolname)))                           checked = make_check_current_tool(toolname),
564                             sensitive = sensitive))
565    
566  def _has_selected_layer(context):  def _has_selected_layer(context):
567      """Return true if a layer is selected in the context"""      """Return true if a layer is selected in the context"""
# Line 560  def _has_tree_window_shown(context): Line 574  def _has_tree_window_shown(context):
574      """Return true if the tree window is shown"""      """Return true if the tree window is shown"""
575      return context.mainwindow.get_open_dialog("session_tree") is None      return context.mainwindow.get_open_dialog("session_tree") is None
576    
577    def _has_visible_map(context):
578        """Return true iff theres a visible map in the mainwindow.
579    
580        A visible map is a map with at least one visible layer."""
581        map = context.mainwindow.Map()
582        if map is not None:
583            for layer in map.Layers():
584                if layer.Visible():
585                    return 1
586        return 0
587    
588    
589  # File menu  # File menu
590  _method_command("new_session", "&New Session", "NewSession")  _method_command("new_session", "&New Session", "NewSession")
591  _method_command("open_session", "&Open Session", "OpenSession")  _method_command("open_session", "&Open Session", "OpenSession")
# Line 567  _method_command("save_session", "&Save S Line 593  _method_command("save_session", "&Save S
593  _method_command("save_session_as", "Save Session &As", "SaveSessionAs")  _method_command("save_session_as", "Save Session &As", "SaveSessionAs")
594  _method_command("show_session_tree", "Show Session &Tree", "ShowSessionTree",  _method_command("show_session_tree", "Show Session &Tree", "ShowSessionTree",
595                  sensitive = _has_tree_window_shown)                  sensitive = _has_tree_window_shown)
596  _method_command("exit", "&Exit", "Exit")  _method_command("exit", "E&xit", "Exit")
597    
598  # Help menu  # Help menu
599  _method_command("help_about", "&About", "About")  _method_command("help_about", "&About", "About")
# Line 577  _method_command("help_about", "&About", Line 603  _method_command("help_about", "&About",
603  _method_command("map_projection", "Pro&jection", "Projection")  _method_command("map_projection", "Pro&jection", "Projection")
604    
605  _tool_command("map_zoom_in_tool", "&Zoom in", "ZoomInTool", "ZoomInTool",  _tool_command("map_zoom_in_tool", "&Zoom in", "ZoomInTool", "ZoomInTool",
606                helptext = "Switch to map-mode 'zoom-in'", icon = "zoom_in")                helptext = "Switch to map-mode 'zoom-in'", icon = "zoom_in",
607                  sensitive = _has_visible_map)
608  _tool_command("map_zoom_out_tool", "Zoom &out", "ZoomOutTool", "ZoomOutTool",  _tool_command("map_zoom_out_tool", "Zoom &out", "ZoomOutTool", "ZoomOutTool",
609                helptext = "Switch to map-mode 'zoom-out'", icon = "zoom_out")                helptext = "Switch to map-mode 'zoom-out'", icon = "zoom_out",
610                  sensitive = _has_visible_map)
611  _tool_command("map_pan_tool", "&Pan", "PanTool", "PanTool",  _tool_command("map_pan_tool", "&Pan", "PanTool", "PanTool",
612                helptext = "Switch to map-mode 'pan'", icon = "pan")                helptext = "Switch to map-mode 'pan'", icon = "pan",
613                  sensitive = _has_visible_map)
614  _tool_command("map_identify_tool", "&Identify", "IdentifyTool", "IdentifyTool",  _tool_command("map_identify_tool", "&Identify", "IdentifyTool", "IdentifyTool",
615                helptext = "Switch to map-mode 'identify'", icon = "identify")                helptext = "Switch to map-mode 'identify'", icon = "identify",
616                  sensitive = _has_visible_map)
617  _tool_command("map_label_tool", "&Label", "LabelTool", "LabelTool",  _tool_command("map_label_tool", "&Label", "LabelTool", "LabelTool",
618                helptext = "Add/Remove labels", icon = "label")                helptext = "Add/Remove labels", icon = "label",
619                  sensitive = _has_visible_map)
620  _method_command("map_full_extent", "&Full extent", "FullExtent",  _method_command("map_full_extent", "&Full extent", "FullExtent",
621                 helptext = "Full Extent", icon = "fullextent")                 helptext = "Full Extent", icon = "fullextent",
622                  sensitive = _has_visible_map)
623  _method_command("map_print", "Prin&t", "PrintMap", helptext = "Print the map")  _method_command("map_print", "Prin&t", "PrintMap", helptext = "Print the map")
624    
625  # Layer menu  # Layer menu

Legend:
Removed from v.307  
changed lines
  Added in v.321

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26