Index: guiframe/data_panel.py
===================================================================
--- guiframe/data_panel.py	(revision d828481d44342cda04be53120f50074c0d5676da)
+++ guiframe/data_panel.py	(revision 18ec684bd7c99ba56c4314e0c9dbd5cc3e81c3e6)
@@ -83,7 +83,6 @@
         self.sizer3 = wx.GridBagSizer(5,5)
         self.sizer4 = wx.BoxSizer(wx.HORIZONTAL)
-        self.sizer5 = wx.BoxSizer(wx.HORIZONTAL)
-        #self.sizer3.SetMinSize((w-60, -1))
-        
+        self.sizer5 = wx.BoxSizer(wx.VERTICAL)
+       
         self.vbox.Add(self.sizer5, 0,wx.EXPAND|wx.ALL,10)
         self.vbox.Add(self.sizer1, 0,wx.EXPAND|wx.ALL,0)
@@ -107,5 +106,5 @@
         for option in list_of_options:
             self.selection_cbox.Append(str(option))
-        self.selection_cbox.SetValue('None')
+        self.selection_cbox.SetValue('Select all Data')
         wx.EVT_COMBOBOX(self.selection_cbox,-1, self._on_selection_type)
         self.sizer5.AddMany([(select_txt,0, wx.ALL,5),
@@ -165,8 +164,39 @@
         Select data according to patterns
         """
+        
+        list_of_options = ['Select all Data',
+                            'Unselect all Data',
+                           'Select all Data 1D',
+                           'Unselect all Data 1D',
+                           'Select all Data 2D',
+                           'Unselect all Data 2D' ]
         option = self.selection_cbox.GetValue()
-        if option == 'Select all Data':
-            print "on select"
-            
+        
+        pos = self.selection_cbox.GetSelection()
+        if pos == wx.NOT_FOUND:
+            return 
+        option = self.selection_cbox.GetString(pos)
+        for item in self.list_cb_data:
+            data_id, data_class = self.tree_ctrl.GetItemPyData(item) 
+            if option == 'Select all Data':
+                self.tree_ctrl.CheckItem(item, True) 
+            elif option == 'Unselect all Data':
+                self.tree_ctrl.CheckItem(item, False)
+            elif option == 'Select all Data 1D':
+                if data_class == 'Data1D':
+                    self.tree_ctrl.CheckItem(item, True) 
+            elif option == 'Unselect all Data 1D':
+                if data_class in ['Data1D', 'Theory1D']:
+                    self.tree_ctrl.CheckItem(item, False) 
+            elif option == 'Select all Data 1D':
+                if data_class == ['Data1D', 'Theory1D']:
+                    self.tree_ctrl.CheckItem(item, True) 
+            elif option == 'Select all Data 2D':
+                if data_class == 'Data2D':
+                    self.tree_ctrl.CheckItem(item, True) 
+            elif option == 'Unselect all Data 2D':
+                if data_class == 'Data2D':
+                    self.tree_ctrl.CheckItem(item, False) 
+               
     def on_set_active_perspective(self, event):
         """
@@ -199,8 +229,5 @@
         self.tctrl_plotpanel = wx.StaticText(self, -1, 'No Plot panel on focus')
         self.tctrl_plotpanel.SetToolTipString("Active Plot Panel")
-        #self.sizer3.AddMany([(self.bt_import,0, wx.ALL,5),
-        #                     (self.bt_append_plot,0, wx.ALL,5),
-        #                     (self.bt_plot, 0, wx.ALL,5),
-        # (self.bt_remove,0, wx.ALL,5)])
+    
         ix = 0
         iy = 0
@@ -226,4 +253,5 @@
                              wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15)
         
+        
      
     def layout_batch(self):
@@ -309,5 +337,5 @@
                     for process in data.process:
                         theory_child = self.tree_ctrl.FindItem(data_child,
-                                                        "Available Theories")#,
+                                                        "Available Theories"),
                         if theory is not None:
                             av_theory_child =self.tree_ctrl.AppendItem(theory_child,
@@ -323,5 +351,5 @@
             if data_child is None:
                 data_child =self.tree_ctrl.InsertItem(self.tree_ctrl.root,0,
-                                                   data_name,ct_type=1, data=data.id)
+                                                   data_name,ct_type=1, data=(data.id, data_class))
                 cb_data = self.tree_ctrl.GetFirstChild(self.tree_ctrl.root) 
                 item, id = cb_data
@@ -356,13 +384,17 @@
         for item in self.list_cb_data:
             if item.IsChecked():
-                
-               data_to_plot.append(self.tree_ctrl.GetItemPyData(item))
+               data_id, data_class = self.tree_ctrl.GetItemPyData(item) 
+               data_to_plot.append(self.tree_ctrl.GetItemPyData(data_id))
         theory_to_plot = []
         for item in self.list_cb_theory:
             if item.IsChecked():
-                theory_to_plot.append(self.tree_ctrl.GetItemPyData(item))
+                data_id, data_class = self.tree_ctrl.GetItemPyData(item)
+                theory_to_plot.append(self.tree_ctrl.GetItemPyData(data_id))
         return data_to_plot, theory_to_plot
     
     def on_remove(self, event):
+        """
+        remove data from application
+        """
         data_to_remove, theory_to_remove = self.set_data_helper()
         for item in self.list_cb_data:
@@ -377,5 +409,5 @@
         if data_to_remove:
             delete_all = True
-        self.parent.delete_data(data_id=data_to_remove,
+        self.parent.remove_data(data_id=data_to_remove,
                                   theory_id=theory_to_remove,
                                   delete_all=delete_all)
Index: guiframe/gui_manager.py
===================================================================
--- guiframe/gui_manager.py	(revision 4e4d3bb9dfac5ed6bc357291ff34909ee62258d6)
+++ guiframe/gui_manager.py	(revision 18ec684bd7c99ba56c4314e0c9dbd5cc3e81c3e6)
@@ -341,10 +341,10 @@
         style = self.__gui_style & (GUIFRAME.MANAGER_ON)
         if self._data_panel is not None  and (p == self._data_panel):
-            panel_width_min = self._window_width * 2/25 
+            panel_width_min = self._window_width * 5/25 
             return panel_width_min, panel_height_min
         if hasattr(p, "CENTER_PANE") and p.CENTER_PANE:
             style = self.__gui_style & (GUIFRAME.PLOTTING_ON|GUIFRAME.MANAGER_ON)
             if style == (GUIFRAME.PLOTTING_ON|GUIFRAME.MANAGER_ON):
-                panel_width_min = self._window_width * 17/25 
+                panel_width_min = self._window_width * 15/25 
             return panel_width_min, panel_height_min
         return panel_width_min, panel_height_min
@@ -386,5 +386,9 @@
                               Left().
                               MinimizeButton().
-                              MinSize(wx.Size(w, h)).
+                              TopDockable(False).
+                              BottomDockable(False).
+                              LeftDockable(True).
+                              RightDockable(False).
+                              BestSize(wx.Size(w, h)).
                               Hide())
         style = self.__gui_style & GUIFRAME.MANAGER_ON
@@ -1311,5 +1315,5 @@
                 self._data_panel.load_data_list(data_state)
                 
-    def delete_data(self, data_id, theory_id=None, delete_all=True):
+    def remove_data(self, data_id, theory_id=None, delete_all=True):
         """
         Delete data state if data_id is provide
Index: guiframe/gui_toolbar.py
===================================================================
--- guiframe/gui_toolbar.py	(revision 4e4d3bb9dfac5ed6bc357291ff34909ee62258d6)
+++ guiframe/gui_toolbar.py	(revision 18ec684bd7c99ba56c4314e0c9dbd5cc3e81c3e6)
@@ -76,5 +76,5 @@
         disable_reset_bmp = wx.NullBitmap
         self.AddLabelTool(GUIFRAME_ID.RESET_ID, 'Reset', reset_bmp,
-                   disable_reset_bmp, button_type,'Reset In')
+                   disable_reset_bmp, button_type,'Reset')
         self.AddSeparator()
         drag_im = GUIFRAME_ICON.DRAG_ICON
