Index: guiframe/gui_manager.py
===================================================================
--- guiframe/gui_manager.py	(revision d828481d44342cda04be53120f50074c0d5676da)
+++ guiframe/gui_manager.py	(revision f036c692f54d10e88f06297560c534cf2520191b)
@@ -41,8 +41,10 @@
 from sans.guiframe.events import StatusEvent
 from sans.guiframe.events import NewPlotEvent
-from sans.guiframe.gui_style import *
+from sans.guiframe.gui_style import GUIFRAME
+from sans.guiframe.gui_style import GUIFRAME_ID
 from sans.guiframe.events import NewLoadedDataEvent
 from sans.guiframe.data_panel import DataPanel
 from sans.guiframe.panel_base import PanelBase
+from sans.guiframe.gui_toolbar import GUIToolBar
 
 STATE_FILE_EXT = ['.inv', '.fitv', '.prv']
@@ -108,4 +110,6 @@
         self._applications_menu = None
         self._edit_menu = None
+        #tool bar
+        self._toolbar = None
         ## Find plug-ins
         # Modify this so that we can specify the directory to look into
@@ -142,8 +146,15 @@
         """
         Store reference to the last panel on focus
+        update the toolbar if available
+        update edit menu if available
         """
         self.panel_on_focus = event.panel
         if self.panel_on_focus is not None and self._data_panel is not None:
-            self._data_panel.set_panel_on_focus(self.panel_on_focus.window_name)
+            name = self.panel_on_focus.window_name
+            self._data_panel.set_panel_on_focus()
+            if self._toolbar is not None:
+                self.update_button(self.panel_on_focus)
+            #update edit menu
+            self.enable_edit_menu()
             
     def build_gui(self):
@@ -152,7 +163,8 @@
         # Set up the layout
         self._setup_layout()
-        
         # Set up the menu
         self._setup_menus()
+        # set tool bar
+        self._setup_tool_bar()
         #self.Fit()
         #self._check_update(None)
@@ -482,4 +494,5 @@
         self._add_menu_data()
         self._add_menu_application()
+        self._add_menu_edit()
         self._add_menu_tool()
         self._add_current_plugin_menu()
@@ -488,4 +501,16 @@
         self.SetMenuBar(self._menubar)
         
+    def _setup_tool_bar(self):
+        """
+        add toolbar to the frame
+        """
+        #set toolbar
+        self._toolbar = GUIToolBar(self, -1)
+        self.SetToolBar(self._toolbar)
+        self._toolbar.update_button()
+        if self._current_perspective is not None:
+            name = self._current_perspective.sub_menu
+            self._toolbar.set_active_perspective(name)
+          
     def _add_menu_tool(self):
         """
@@ -697,50 +722,42 @@
         # Edit Menu
         self._edit_menu = wx.Menu()
-        
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Undo', 'Undo the previous action')
-        wx.EVT_MENU(self, id, self.on_undo_panel)
-        
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Redo', 'Redo the previous action')
-        wx.EVT_MENU(self, id, self.on_redo_panel)
+        self._edit_menu.Append(GUIFRAME_ID.UNDO_ID, '&Undo', 
+                               'Undo the previous action')
+        wx.EVT_MENU(self, GUIFRAME_ID.UNDO_ID, self.on_undo_panel)
+        self._edit_menu.Append(GUIFRAME_ID.REDO_ID, '&Redo', 
+                               'Redo the previous action')
+        wx.EVT_MENU(self, GUIFRAME_ID.REDO_ID, self.on_redo_panel)
         self._edit_menu.AppendSeparator()
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Bookmark', 'bookmark current panel')
-        wx.EVT_MENU(self, id, self.on_bookmark_panel)
-        
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Save As', 'Save current panel into file')
-        wx.EVT_MENU(self, id, self.on_save_panel)
+        self._edit_menu.Append(GUIFRAME_ID.BOOKMARK_ID, '&Bookmark', 
+                               'bookmark current panel')
+        wx.EVT_MENU(self, GUIFRAME_ID.BOOKMARK_ID, self.on_bookmark_panel)
+        self._edit_menu.Append(GUIFRAME_ID.SAVE_ID, '&Save As', 
+                               'Save current panel into file')
+        wx.EVT_MENU(self, GUIFRAME_ID.SAVE_ID, self.on_save_panel)
         self._edit_menu.AppendSeparator()
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Print Preview', 'Preview current panel')
-        wx.EVT_MENU(self, id, self.on_preview_panel)
-        
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Print', 'Print current panel')
-        wx.EVT_MENU(self, id, self.on_print_panel)
+        self._edit_menu.Append(GUIFRAME_ID.PREVIEW_ID, '&Print Preview',
+                               'Preview current panel')
+        wx.EVT_MENU(self, GUIFRAME_ID.PREVIEW_ID, self.on_preview_panel)
+        self._edit_menu.Append(GUIFRAME_ID.PRINT_ID, '&Print',
+                               'Print current panel')
+        wx.EVT_MENU(self, GUIFRAME_ID.PRINT_ID, self.on_print_panel)
         self._edit_menu.AppendSeparator()
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Zoom', 'Zoom current panel')
-        wx.EVT_MENU(self, id, self.on_zoom_panel)
-        
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Zoom In', 'Zoom in current panel')
-        wx.EVT_MENU(self, id, self.on_zoom_in_panel)
-       
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Zoom Out', 'Zoom out current panel')
-        wx.EVT_MENU(self, id, self.on_zoom_out_panel)
-        
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Drag', 'Drag current panel')
-        wx.EVT_MENU(self, id, self.on_drag_panel)
-        
-        id = wx.NewId()
-        self._edit_menu.Append(id, '&Reset', 'Reset current panel')
-        wx.EVT_MENU(self, id, self.on_reset_panel)
-        
-        self.menubar.Append(self._edit_menu,  '&Edit')
+        self._edit_menu.Append(GUIFRAME_ID.ZOOM_ID, '&Zoom',
+                               'Zoom current panel')
+        wx.EVT_MENU(self, GUIFRAME_ID.ZOOM_ID, self.on_zoom_panel)
+        self._edit_menu.Append(GUIFRAME_ID.ZOOM_IN_ID, '&Zoom In',
+                               'Zoom in current panel')
+        wx.EVT_MENU(self, GUIFRAME_ID.ZOOM_IN_ID, self.on_zoom_in_panel)
+        self._edit_menu.Append(GUIFRAME_ID.ZOOM_OUT_ID, '&Zoom Out', 
+                               'Zoom out current panel')
+        wx.EVT_MENU(self, GUIFRAME_ID.ZOOM_OUT_ID, self.on_zoom_out_panel)
+        self._edit_menu.Append(GUIFRAME_ID.DRAG_ID, '&Drag',
+                               'Drag current panel')
+        wx.EVT_MENU(self, GUIFRAME_ID.DRAG_ID, self.on_drag_panel)
+        self._edit_menu.Append(GUIFRAME_ID.RESET_ID, '&Reset', 
+                               'Reset current panel')
+        wx.EVT_MENU(self, GUIFRAME_ID.RESET_ID, self.on_reset_panel)
+        self._menubar.Append(self._edit_menu,  '&Edit')
+        self.enable_edit_menu()
         
     def _add_menu_data(self):
@@ -1219,12 +1236,16 @@
         set the current active perspective 
         """
+        
         self._current_perspective = perspective
         name = "No current Application selected"
         if self._current_perspective is not None:
             self._add_current_plugin_menu()
+            name = self._current_perspective.sub_menu
             if self._data_panel is not None:
-                name = self._current_perspective.sub_menu
                 self._data_panel.set_active_perspective(name)
                 self._check_applications_menu()
+            #update tool bar
+            if self._toolbar is not None:
+                self._toolbar.set_active_perspective(name)
                 
     def _check_applications_menu(self):
@@ -1315,49 +1336,121 @@
         return is_data1d and not is_data2d and not is_theory and not is_state_data
     
+    def enable_edit_menu(self):
+        """
+        enable menu item under edit menu depending on the panel on focus
+        """
+        if self.panel_on_focus is not None and self._edit_menu is not None:
+            flag = panel_on_focus.get_undo_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.UNDO_ID, flag)
+            flag = panel_on_focus.get_redo_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.REDO_ID, flag)
+            flag = panel_on_focus.get_bookmark_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.BOOKMARK_ID, flag)
+            flag = panel_on_focus.get_save_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.SAVE_ID, flag)
+            flag = panel_on_focus.get_print_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.PRINT_ID, flag)
+            flag = panel_on_focus.get_prieview_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.PREVIEW_ID, flag)
+            flag = panel_on_focus.get_zoom_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.ZOOM_ID, flag)
+            flag = panel_on_focus.get_zoom_in_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.ZOOM_IN_ID, flag)
+            flag = panel_on_focus.get_zoom_out_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.ZOOM_OUT_ID, flag)
+            flag = panel_on_focus.get_drag_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.DRAG_ID, flag)
+            flag = panel_on_focus.get_reset_flag()
+            self._edit_menu.Enable(GUIFRAME_ID.RESET_ID, flag)
+        else:
+            flag = False
+            self._edit_menu.Enable(GUIFRAME_ID.UNDO_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.REDO_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.BOOKMARK_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.SAVE_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.PRINT_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.PREVIEW_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.ZOOM_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.ZOOM_IN_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.ZOOM_OUT_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.DRAG_ID, flag)
+            self._edit_menu.Enable(GUIFRAME_ID.RESET_ID, flag)
+            
     def on_undo_panel(self, event=None):
         """
         undo previous action of the last panel on focus if possible
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_undo(event)
+            
     def on_redo_panel(self, event=None):
         """
         redo the last cancel action done on the last panel on focus
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_redo(event)
+            
     def on_bookmark_panel(self, event=None):
         """
         Bookmark available information of the panel on focus
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_bookmark(event)
+            
     def on_save_panel(self, event=None):
         """
         save possible information on the current panel
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_save(event)
+            
     def on_preview_panel(self, event=None):
         """
         preview information on the panel on focus
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_preview(event)
+            
     def on_print_panel(self, event=None):
         """
         print available information on the last panel on focus
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_print(event)
+            
     def on_zoom_panel(self, event=None):
         """
         zoom on the current panel if possible
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_zoom(event)
+            
     def on_zoom_in_panel(self, event=None):
         """
         zoom in of the panel on focus
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_zoom_in(event)
+            
     def on_zoom_out_panel(self, event=None):
         """
         zoom out on the panel on focus
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_zoom_out(event)
+            
     def on_drag_panel(self, event=None):
         """
         drag apply to the panel on focus
         """
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_drag(event)
+            
     def on_reset_panel(self, event=None):
         """
         reset the current panel
         """
-        
+        if self.panel_on_focus is not None:
+            self.panel_on_focus.on_reset(event)
         
 class DefaultPanel(wx.Panel, PanelBase):
Index: guiframe/gui_style.py
===================================================================
--- guiframe/gui_style.py	(revision d828481d44342cda04be53120f50074c0d5676da)
+++ guiframe/gui_style.py	(revision f036c692f54d10e88f06297560c534cf2520191b)
@@ -3,4 +3,5 @@
 Provide the style for guiframe
 """
+import wx
 
 class GUIFRAME:
@@ -15,4 +16,18 @@
     DEFAULT_STYLE = SINGLE_APPLICATION|DATALOADER_ON|PLOTTING_ON|FIXED_PANEL
     MULTIPLE_APPLICATIONS = DEFAULT_STYLE|MANAGER_ON|WELCOME_PANEL_ON
+    
+class GUIFRAME_ID:
+    UNDO_ID = wx.NewId()
+    REDO_ID = wx.NewId()
+    BOOKMARK_ID = wx.NewId()
+    SAVE_ID = wx.NewId()
+    ZOOM_IN_ID = wx.NewId()
+    ZOOM_OUT_ID = wx.NewId()
+    ZOOM_ID = wx.NewId()
+    DRAG_ID = wx.NewId()
+    RESET_ID = wx.NewId()
+    PREVIEW_ID = wx.NewId()
+    PRINT_ID = wx.NewId()
+    CURRENT_APPLICATION = wx.NewId()
 
 if __name__ == "__main__":
Index: guiframe/gui_toolbar.py
===================================================================
--- guiframe/gui_toolbar.py	(revision 010c25103253b7a99d69a43dbca4c355c9693fe3)
+++ guiframe/gui_toolbar.py	(revision f036c692f54d10e88f06297560c534cf2520191b)
@@ -2,19 +2,8 @@
 import wx
 from wx import ToolBar as Tbar
+from sans.guiframe.gui_style import GUIFRAME_ID
 
-UNDO_ID = wx.NewId()
-REDO_ID = wx.NewId()
-BOOKMARK_ID = wx.NewId()
-SAVE_ID = wx.NewId()
-ZOOM_IN_ID = wx.NewId()
-ZOOM_OUT_ID = wx.NewId()
-ZOOM_ID = wx.NewId()
-DRAG_ID = wx.NewId()
-RESET_ID = wx.NewId()
-PREVIEW_ID = wx.NewId()
-PRINT_ID = wx.NewId()
-CURRENT_APPLICATION = wx.NewId()
 
-class ToolBar(Tbar):
+class GUIToolBar(Tbar):
     def __init__(self, parent,  *args, **kwds):
         Tbar.__init__(self, parent,  *args, **kwds)
@@ -29,42 +18,42 @@
         save_bmp =  wx.ArtProvider.GetBitmap(wx.ART_FILE_SAVE, wx.ART_TOOLBAR,
                                              size=tbar_size)
-        self.AddLabelTool(SAVE_ID, 'Save', save_bmp, shortHelp='Save')
+        self.AddLabelTool(GUIFRAME_ID.SAVE_ID, 'Save', save_bmp, shortHelp='Save')
        
         bookmark_bmp =  wx.ArtProvider.GetBitmap(wx.ART_ADD_BOOKMARK, wx.ART_TOOLBAR,
                                                  size=tbar_size)
-        self.AddLabelTool(BOOKMARK_ID, 'Bookmark', bookmark_bmp,shortHelp='Bookmark')
+        self.AddLabelTool(GUIFRAME_ID.BOOKMARK_ID, 'Bookmark', bookmark_bmp,shortHelp='Bookmark')
         
         zoom_in_bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_TOOLBAR,
                                                 size=tbar_size)
-        self.AddLabelTool(ZOOM_IN_ID, 'Zoom in', zoom_in_bmp,shortHelp='Zoom in')
+        self.AddLabelTool(GUIFRAME_ID.ZOOM_IN_ID, 'Zoom in', zoom_in_bmp,shortHelp='Zoom in')
         
         zoom_out_bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_TOOLBAR,
                                                  size=tbar_size)
-        self.AddLabelTool(ZOOM_OUT_ID,'Zoom out',zoom_out_bmp,shortHelp='Zoom out')
+        self.AddLabelTool(GUIFRAME_ID.ZOOM_OUT_ID,'Zoom out',zoom_out_bmp,shortHelp='Zoom out')
         
         zoom_bmp =  wx.ArtProvider.GetBitmap(wx.ART_GO_FORWARD, wx.ART_TOOLBAR,
                                              size=tbar_size)
-        self.AddLabelTool(ZOOM_ID, 'Zoom', zoom_bmp,shortHelp='Zoom')
+        self.AddLabelTool(GUIFRAME_ID.ZOOM_ID, 'Zoom', zoom_bmp,shortHelp='Zoom')
         
         drag_bmp =  wx.ArtProvider.GetBitmap(wx.ART_REMOVABLE, wx.ART_TOOLBAR,
                                              size=tbar_size)
-        self.AddLabelTool(DRAG_ID, 'Drag', drag_bmp,shortHelp='Drag')
+        self.AddLabelTool(GUIFRAME_ID.DRAG_ID, 'Drag', drag_bmp,shortHelp='Drag')
         
         preview_bmp =  wx.ArtProvider.GetBitmap(wx.ART_REPORT_VIEW, wx.ART_TOOLBAR,
                                                 size=tbar_size)
-        self.AddLabelTool(PREVIEW_ID, 'Preview', preview_bmp,shortHelp='Report')
+        self.AddLabelTool(GUIFRAME_ID.PREVIEW_ID, 'Preview', preview_bmp,shortHelp='Report')
         
         print_bmp =  wx.ArtProvider.GetBitmap(wx.ART_PRINT, wx.ART_TOOLBAR,
                                               size=tbar_size)
-        self.AddLabelTool(PRINT_ID, 'Print', print_bmp,shortHelp='Print')
+        self.AddLabelTool(GUIFRAME_ID.PRINT_ID, 'Print', print_bmp,shortHelp='Print')
         
         undo_bmp =  wx.ArtProvider.GetBitmap(wx.ART_UNDO, wx.ART_TOOLBAR,
                                              size=tbar_size)
-        self.AddLabelTool(UNDO_ID, 'Undo', undo_bmp,shortHelp='Undo')
+        self.AddLabelTool(GUIFRAME_ID.UNDO_ID, 'Undo', undo_bmp,shortHelp='Undo')
         
       
         redo_bmp =  wx.ArtProvider.GetBitmap(wx.ART_REDO, wx.ART_TOOLBAR,
                                              size=tbar_size)
-        self.AddLabelTool(REDO_ID, 'Redo', redo_bmp,shortHelp='Redo')
+        self.AddLabelTool(GUIFRAME_ID.REDO_ID, 'Redo', redo_bmp,shortHelp='Redo')
         self.button = wx.Button(self, -1, 'Welcome')
         self.button.SetForegroundColour('black')
@@ -80,21 +69,30 @@
         """
         if self.parent is not None:
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_redo_panel,id=REDO_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_undo_panel,id=UNDO_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_bookmark_panel,id=BOOKMARK_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_save_panel,id=SAVE_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_zoom_in_panel,id=ZOOM_IN_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_zoom_out_panel,id=ZOOM_OUT_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_zoom_panel,id=ZOOM_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_drag_panel,id=DRAG_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_reset_panel,id=RESET_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_preview_panel,id=PREVIEW_ID)
-            self.parent.Bind(wx.EVT_TOOL, self.parent.on_print_panel,id=PRINT_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_redo_panel,
+                             id=GUIFRAME_ID.REDO_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_undo_panel,
+                             id=GUIFRAME_ID.UNDO_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_bookmark_panel,
+                             id=GUIFRAME_ID.BOOKMARK_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_save_panel,
+                             id=GUIFRAME_ID.SAVE_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_zoom_in_panel,
+                             id=GUIFRAME_ID.ZOOM_IN_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_zoom_out_panel,
+                             id=GUIFRAME_ID.ZOOM_OUT_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_zoom_panel,
+                             id=GUIFRAME_ID.ZOOM_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_drag_panel,
+                             id=GUIFRAME_ID.DRAG_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_reset_panel,
+                             id=GUIFRAME_ID.RESET_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_preview_panel,
+                             id=GUIFRAME_ID.PREVIEW_ID)
+            self.parent.Bind(wx.EVT_TOOL, self.parent.on_print_panel,
+                             id=GUIFRAME_ID.PRINT_ID)
             
-            
-    def set_active_perspective(self, name='Welcome'):
+    def set_active_perspective(self, name=''):
         """
         """
-        print "set button"
         self.button.SetLabel(str(name))
         
@@ -104,28 +102,28 @@
         if panel is None:
             #self.Disable()
-            self.EnableTool(PRINT_ID, False)
-            self.EnableTool(UNDO_ID,False)
-            self.EnableTool(REDO_ID, False)
-            self.EnableTool(ZOOM_ID, False)
-            self.EnableTool(ZOOM_IN_ID, False)
-            self.EnableTool(ZOOM_OUT_ID, False)
-            self.EnableTool(BOOKMARK_ID, False)
-            self.EnableTool(PREVIEW_ID, False)
-            self.EnableTool(SAVE_ID, False)
-            self.EnableTool(DRAG_ID, False)
-            self.EnableTool(RESET_ID, False)
+            self.EnableTool(GUIFRAME_ID.PRINT_ID, False)
+            self.EnableTool(GUIFRAME_ID.UNDO_ID,False)
+            self.EnableTool(GUIFRAME_ID.REDO_ID, False)
+            self.EnableTool(GUIFRAME_ID.ZOOM_ID, False)
+            self.EnableTool(GUIFRAME_ID.ZOOM_IN_ID, False)
+            self.EnableTool(GUIFRAME_ID.ZOOM_OUT_ID, False)
+            self.EnableTool(GUIFRAME_ID.BOOKMARK_ID, False)
+            self.EnableTool(GUIFRAME_ID.PREVIEW_ID, False)
+            self.EnableTool(GUIFRAME_ID.SAVE_ID, False)
+            self.EnableTool(GUIFRAME_ID.DRAG_ID, False)
+            self.EnableTool(GUIFRAME_ID.RESET_ID, False)
         else:
             self.Enable()
-            self.EnableTool(PRINT_ID, panel.is_print_enabled())
-            self.EnableTool(UNDO_ID, panel.is_undo_enabled())
-            self.EnableTool(REDO_ID, panel.is_redo_enabled())
-            self.EnableTool(ZOOM_ID, panel.is_zoom_enabled())
-            self.EnableTool(ZOOM_IN_ID, panel.is_zoom_in_enabled())
-            self.EnableTool(ZOOM_OUT_ID, panel.is_zoom_out_enabled())
-            self.EnableTool(BOOKMARK_ID, panel.is_bookmark_enabled())
-            self.EnableTool(PREVIEW_ID, panel.is_preview_enabled())
-            self.EnableTool(SAVE_ID, panel.is_save_enabled())
-            self.EnableTool(DRAG_ID, panel.is_drag_enabled())
-            self.EnableTool(RESET_ID, panel.is_reset_enabled())
+            self.EnableTool(GUIFRAME_ID.PRINT_ID, panel.get_print_flag())
+            self.EnableTool(GUIFRAME_ID.UNDO_ID, panel.get_undo_flag())
+            self.EnableTool(GUIFRAME_ID.REDO_ID, panel.get_redo_flag())
+            self.EnableTool(GUIFRAME_ID.ZOOM_ID, panel.get_zoom_flag())
+            self.EnableTool(GUIFRAME_ID.ZOOM_IN_ID, panel.get_zoom_in_flag())
+            self.EnableTool(GUIFRAME_ID.ZOOM_OUT_ID, panel.get_zoom_out_flag())
+            self.EnableTool(GUIFRAME_ID.BOOKMARK_ID, panel.get_bookmark_flag())
+            self.EnableTool(GUIFRAME_ID.PREVIEW_ID, panel.get_preview_flag())
+            self.EnableTool(GUIFRAME_ID.SAVE_ID, panel.get_save_flag())
+            self.EnableTool(GUIFRAME_ID.DRAG_ID, panel.get_drag_flag())
+            self.EnableTool(GUIFRAME_ID.RESET_ID, panel.get_reset_flag())
 
   
Index: guiframe/panel_base.py
===================================================================
--- guiframe/panel_base.py	(revision 52725d67c5e2c977b51c94e8b602dbe1edccb6df)
+++ guiframe/panel_base.py	(revision f036c692f54d10e88f06297560c534cf2520191b)
@@ -43,5 +43,5 @@
         self._reset_flag = False
         
-    def set_print_flag(self, flag=True):
+    def _set_print_flag(self, flag=True):
         """
         The derivative class sets the print flag value to indicate that it can 
@@ -56,5 +56,5 @@
         return self._print_flag
     
-    def set_undo_flag(self, flag=True):
+    def _set_undo_flag(self, flag=True):
         """
         The derivative class sets the undo flag value to indicate that the 
@@ -69,5 +69,5 @@
         return self._undo_flag
     
-    def set_redo_flag(self, flag=True):
+    def _set_redo_flag(self, flag=True):
         """
         The derivative class sets the redo flag value to indicate that the 
@@ -82,5 +82,5 @@
         return self._redo_flag
     
-    def set_zoomed_in_flag(self, flag=True):
+    def _set_zoomed_in_flag(self, flag=True):
         """
         The derivative class sets the zoom in flag value to indicate that it
@@ -95,5 +95,5 @@
         return self._zoom_in_flag
     
-    def set_zoomed_out_flag(self, flag=True):
+    def _set_zoomed_out_flag(self, flag=True):
         """
         The derivative class sets the zoom out flag value to indicate that it
@@ -108,5 +108,5 @@
         return self._zoom_out_flag
     
-    def set_zoom_flag(self, flag=True):
+    def _set_zoom_flag(self, flag=True):
         """
         The derivative class sets the zoom flag value to indicate that it
@@ -121,5 +121,5 @@
         return self._zoom_flag
     
-    def set_bookmark_flag(self, flag=True):
+    def _set_bookmark_flag(self, flag=True):
         """
         The derivative class sets the bookmark flag value to indicate that it
@@ -134,5 +134,5 @@
         return self._bookmark_flag
     
-    def set_preview_flag(self, flag=True):
+    def _set_preview_flag(self, flag=True):
         """
         The derivative class sets the preview flag value to indicate that it
@@ -147,5 +147,5 @@
         return self._preview_flag
     
-    def set_save_flag(self, flag=True):
+    def _set_save_flag(self, flag=True):
         """
         The derivative class sets the drag flag value to indicate that it
@@ -160,5 +160,5 @@
         return self._save_flag
     
-    def set_drag_flag(self, flag=True):
+    def _set_drag_flag(self, flag=True):
         """
         The derivative class sets the drag flag value to indicate that 
@@ -173,5 +173,5 @@
         return self._drag_flag
     
-    def set_reset_flag(self, flag=True):
+    def _set_reset_flag(self, flag=True):
         """
         The derivative class sets the reset flag value to indicate that it
