/[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 314 by bh, Wed Sep 11 15:18:09 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 318  class MainWindow(wxFrame): Line 317  class MainWindow(wxFrame):
317      def SetMap(self, map):      def SetMap(self, map):
318          self.canvas.SetMap(map)          self.canvas.SetMap(map)
319    
320        def Map(self):
321            """Return the map displayed by this mainwindow"""
322            return self.canvas.Map()
323    
324      def ShowSessionTree(self):      def ShowSessionTree(self):
325          name = "session_tree"          name = "session_tree"
326          dialog = self.get_open_dialog(name)          dialog = self.get_open_dialog(name)
# Line 543  def make_check_current_tool(toolname): Line 546  def make_check_current_tool(toolname):
546      return check_current_tool      return check_current_tool
547    
548  def _tool_command(name, title, method, toolname, helptext = "",  def _tool_command(name, title, method, toolname, helptext = "",
549                    icon = ""):                    icon = "", sensitive = None):
550      """Add a tool command"""      """Add a tool command"""
551      registry.Add(Command(name, title, call_method, args=(method,),      registry.Add(Command(name, title, call_method, args=(method,),
552                           helptext = helptext, icon = icon,                           helptext = helptext, icon = icon,
553                           checked = make_check_current_tool(toolname)))                           checked = make_check_current_tool(toolname),
554                             sensitive = sensitive))
555    
556  def _has_selected_layer(context):  def _has_selected_layer(context):
557      """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 564  def _has_tree_window_shown(context):
564      """Return true if the tree window is shown"""      """Return true if the tree window is shown"""
565      return context.mainwindow.get_open_dialog("session_tree") is None      return context.mainwindow.get_open_dialog("session_tree") is None
566    
567    def _has_visible_map(context):
568        """Return true iff theres a visible map in the mainwindow.
569    
570        A visible map is a map with at least one visible layer."""
571        map = context.mainwindow.Map()
572        if map is not None:
573            for layer in map.Layers():
574                if layer.Visible():
575                    return 1
576        return 0
577    
578    
579  # File menu  # File menu
580  _method_command("new_session", "&New Session", "NewSession")  _method_command("new_session", "&New Session", "NewSession")
581  _method_command("open_session", "&Open Session", "OpenSession")  _method_command("open_session", "&Open Session", "OpenSession")
# Line 567  _method_command("save_session", "&Save S Line 583  _method_command("save_session", "&Save S
583  _method_command("save_session_as", "Save Session &As", "SaveSessionAs")  _method_command("save_session_as", "Save Session &As", "SaveSessionAs")
584  _method_command("show_session_tree", "Show Session &Tree", "ShowSessionTree",  _method_command("show_session_tree", "Show Session &Tree", "ShowSessionTree",
585                  sensitive = _has_tree_window_shown)                  sensitive = _has_tree_window_shown)
586  _method_command("exit", "&Exit", "Exit")  _method_command("exit", "E&xit", "Exit")
587    
588  # Help menu  # Help menu
589  _method_command("help_about", "&About", "About")  _method_command("help_about", "&About", "About")
# Line 577  _method_command("help_about", "&About", Line 593  _method_command("help_about", "&About",
593  _method_command("map_projection", "Pro&jection", "Projection")  _method_command("map_projection", "Pro&jection", "Projection")
594    
595  _tool_command("map_zoom_in_tool", "&Zoom in", "ZoomInTool", "ZoomInTool",  _tool_command("map_zoom_in_tool", "&Zoom in", "ZoomInTool", "ZoomInTool",
596                helptext = "Switch to map-mode 'zoom-in'", icon = "zoom_in")                helptext = "Switch to map-mode 'zoom-in'", icon = "zoom_in",
597                  sensitive = _has_visible_map)
598  _tool_command("map_zoom_out_tool", "Zoom &out", "ZoomOutTool", "ZoomOutTool",  _tool_command("map_zoom_out_tool", "Zoom &out", "ZoomOutTool", "ZoomOutTool",
599                helptext = "Switch to map-mode 'zoom-out'", icon = "zoom_out")                helptext = "Switch to map-mode 'zoom-out'", icon = "zoom_out",
600                  sensitive = _has_visible_map)
601  _tool_command("map_pan_tool", "&Pan", "PanTool", "PanTool",  _tool_command("map_pan_tool", "&Pan", "PanTool", "PanTool",
602                helptext = "Switch to map-mode 'pan'", icon = "pan")                helptext = "Switch to map-mode 'pan'", icon = "pan",
603                  sensitive = _has_visible_map)
604  _tool_command("map_identify_tool", "&Identify", "IdentifyTool", "IdentifyTool",  _tool_command("map_identify_tool", "&Identify", "IdentifyTool", "IdentifyTool",
605                helptext = "Switch to map-mode 'identify'", icon = "identify")                helptext = "Switch to map-mode 'identify'", icon = "identify",
606                  sensitive = _has_visible_map)
607  _tool_command("map_label_tool", "&Label", "LabelTool", "LabelTool",  _tool_command("map_label_tool", "&Label", "LabelTool", "LabelTool",
608                helptext = "Add/Remove labels", icon = "label")                helptext = "Add/Remove labels", icon = "label",
609                  sensitive = _has_visible_map)
610  _method_command("map_full_extent", "&Full extent", "FullExtent",  _method_command("map_full_extent", "&Full extent", "FullExtent",
611                 helptext = "Full Extent", icon = "fullextent")                 helptext = "Full Extent", icon = "fullextent",
612                  sensitive = _has_visible_map)
613  _method_command("map_print", "Prin&t", "PrintMap", helptext = "Print the map")  _method_command("map_print", "Prin&t", "PrintMap", helptext = "Print the map")
614    
615  # Layer menu  # Layer menu

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26