Index: src/sas/perspectives/calculator/data_operator.py
===================================================================
--- src/sas/perspectives/calculator/data_operator.py	(revision 49ab5d718dd7743a6a296e666dfb643183bc969d)
+++ src/sas/perspectives/calculator/data_operator.py	(revision d5419f7f544b78361d56e7be452aaf706afa3524)
@@ -1,4 +1,4 @@
 """
-GUI for the data operation
+GUI for the data operations panel (sum and multiply)
 """
 import wx
@@ -17,4 +17,5 @@
 #Control panel width 
 if sys.platform.count("win32") > 0:
+    PANEL_TOP = 0
     PANEL_WIDTH = 790
     PANEL_HEIGTH = 370
@@ -23,4 +24,5 @@
     ON_MAC = False
 else:
+    PANEL_TOP = 60
     _BOX_WIDTH = 230
     PANEL_WIDTH = 900
@@ -963,5 +965,5 @@
         self.panel = DataOperPanel(parent=self)
         wx.EVT_CLOSE(self, self.OnClose)
-        self.SetPosition((25, 10))
+        self.SetPosition((wx.LEFT, PANEL_TOP))
         self.Show()
 
Index: src/sas/perspectives/calculator/density_panel.py
===================================================================
--- src/sas/perspectives/calculator/density_panel.py	(revision 49ab5d718dd7743a6a296e666dfb643183bc969d)
+++ src/sas/perspectives/calculator/density_panel.py	(revision d5419f7f544b78361d56e7be452aaf706afa3524)
@@ -18,4 +18,5 @@
 #Density panel size 
 if sys.platform.count("win32") > 0:
+    PANEL_TOP = 0
     _STATICBOX_WIDTH = 410
     _BOX_WIDTH = 200
@@ -23,4 +24,5 @@
     FONT_VARIANT = 0
 else:
+    PANEL_TOP = 60
     _STATICBOX_WIDTH = 430
     _BOX_WIDTH = 200
@@ -49,4 +51,5 @@
         # Object that receive status event
         self.base = base
+        self.parent = parent
         # chemeical formula, string
         self.compound = ''
@@ -211,8 +214,14 @@
         self.Bind(wx.EVT_BUTTON, self.on_help, id=id)
 
-        sizer_button.Add((150, 20), 1, wx.EXPAND | wx.ADJUST_MINSIZE, 0)
+        self.button_close = wx.Button(self, wx.ID_CANCEL, 'Close')
+        self.button_close.Bind(wx.EVT_BUTTON, self.on_close)
+        self.button_close.SetToolTipString("Close this window.")
+
+        sizer_button.Add((100, 20), 1, wx.EXPAND | wx.ADJUST_MINSIZE, 0)
         sizer_button.Add(self.button_calculate, 0,
                                         wx.RIGHT | wx.ADJUST_MINSIZE, 20)
         sizer_button.Add(self.button_help, 0,
+                                        wx.RIGHT | wx.ADJUST_MINSIZE, 20)
+        sizer_button.Add(self.button_close, 0,
                                         wx.RIGHT | wx.ADJUST_MINSIZE, 20)
         sizer3.Add(sizer_button)
@@ -379,4 +388,10 @@
              _TreeLocation, "Density/Volume Calculator Help")
 
+    def on_close(self, event):
+        """
+        close the window containing this panel
+        """
+        self.parent.Close()
+
     def clear_outputs(self):
         """
@@ -415,5 +430,5 @@
         self.panel = DensityPanel(self, base=base)
         self.Bind(wx.EVT_CLOSE, self.on_close)
-        self.SetPosition((25, 10))
+        self.SetPosition((wx.LEFT, PANEL_TOP))
         self.Show(True)
 
Index: src/sas/perspectives/calculator/gen_scatter_panel.py
===================================================================
--- src/sas/perspectives/calculator/gen_scatter_panel.py	(revision 60dca65cb945655688ae35b27d4b7879acf0a00c)
+++ src/sas/perspectives/calculator/gen_scatter_panel.py	(revision d5419f7f544b78361d56e7be452aaf706afa3524)
@@ -47,5 +47,5 @@
     FONT_VARIANT = 0
 else:
-    PANEL_TOP = 40
+    PANEL_TOP = 60
     PANEL_WIDTH = 620
     PANEL_HEIGHT = 370
@@ -379,14 +379,22 @@
         self.orient_combo = self._fill_orient_combo()
         self.orient_combo.Show(False)
+
         self.bt_compute = wx.Button(self, wx.NewId(), 'Compute')
         self.bt_compute.Bind(wx.EVT_BUTTON, self.on_compute)
         self.bt_compute.SetToolTipString("Compute 2D Scattering Pattern.")
+
         self.bt_help = wx.Button(self, wx.NewId(), 'HELP')
         self.bt_help.Bind(wx.EVT_BUTTON, self.on_help)
         self.bt_help.SetToolTipString("Help on Scatter Calculator")
+
+        self.bt_close = wx.Button(self, wx.ID_CANCEL, 'Close')
+        self.bt_close.Bind(wx.EVT_BUTTON, self.on_panel_close)
+        self.bt_close.SetToolTipString("Close this window")
+
         self.button_sizer.AddMany([(self.time_text , 0, wx.LEFT, 20),
                                    (self.orient_combo , 0, wx.LEFT, 20),
                                    (self.bt_compute, 0, wx.LEFT, 20),
-                                   (self.bt_help, 0, wx.LEFT, 5)])
+                                   (self.bt_help, 0, wx.LEFT, 20),
+                                   (self.bt_close, 0, wx.LEFT, 5)])
 
     def estimate_ctime(self):
@@ -1212,7 +1220,7 @@
     def on_panel_close(self, event):
         """
-        On Close SLD panel
-        """
-        #Not implemented   
+        close the window containing this panel
+        """
+        self.parent.Close()
 
 class OmfPanel(ScrolledPanel, PanelBase):
Index: src/sas/perspectives/calculator/kiessig_calculator_panel.py
===================================================================
--- src/sas/perspectives/calculator/kiessig_calculator_panel.py	(revision 26d2d88f4e7d62bfead6d821bd87e791d2b6ff97)
+++ src/sas/perspectives/calculator/kiessig_calculator_panel.py	(revision d5419f7f544b78361d56e7be452aaf706afa3524)
@@ -22,8 +22,10 @@
 #Slit length panel size
 if sys.platform.count("win32") > 0:
+    PANEL_TOP = 0
     PANEL_WIDTH = 500
     PANEL_HEIGHT = 230
     FONT_VARIANT = 0
 else:
+    PANEL_TOP = 60
     PANEL_WIDTH = 560
     PANEL_HEIGHT = 230
@@ -228,5 +230,5 @@
         self.panel = KiessigThicknessCalculatorPanel(parent=self)
         self.Bind(wx.EVT_CLOSE, self.on_close)
-        self.SetPosition((25, 10))
+        self.SetPosition((wx.LEFT, PANEL_TOP))
         self.Show(True)
         
Index: src/sas/perspectives/calculator/resolution_calculator_panel.py
===================================================================
--- src/sas/perspectives/calculator/resolution_calculator_panel.py	(revision af6b53cff72d68efc404d40d94571eab886a8e05)
+++ src/sas/perspectives/calculator/resolution_calculator_panel.py	(revision d5419f7f544b78361d56e7be452aaf706afa3524)
@@ -39,4 +39,5 @@
 #Slit length panel size
 if sys.platform.count("win32") > 0:
+    PANEL_TOP = 0
     PANEL_WIDTH = 525
     PANEL_HEIGHT = 653
@@ -44,4 +45,5 @@
     IS_WIN = True
 else:
+    PANEL_TOP = 60
     PANEL_WIDTH = 540
     PANEL_HEIGHT = 662
@@ -1335,5 +1337,5 @@
         self.panel = ResolutionCalculatorPanel(parent=self)
         self.Bind(wx.EVT_CLOSE, self.OnClose)
-        self.SetPosition((25, 10))
+        self.SetPosition((wx.LEFT, PANEL_TOP))
         self.Show(True)
 
Index: src/sas/perspectives/calculator/sld_panel.py
===================================================================
--- src/sas/perspectives/calculator/sld_panel.py	(revision 49ab5d718dd7743a6a296e666dfb643183bc969d)
+++ src/sas/perspectives/calculator/sld_panel.py	(revision d5419f7f544b78361d56e7be452aaf706afa3524)
@@ -30,8 +30,10 @@
 #SLD panel size 
 if sys.platform.count("win32") > 0:
+    PANEL_TOP = 0
     _STATICBOX_WIDTH = 350
     PANEL_SIZE = 400
     FONT_VARIANT = 0
 else:
+    PANEL_TOP = 60
     _STATICBOX_WIDTH = 380
     PANEL_SIZE = 410
@@ -59,4 +61,5 @@
         self.base = base
         self.wavelength = WAVELENGTH
+        self.parent = parent
         #layout attribute
         self.compound_ctl = None
@@ -290,7 +293,12 @@
         self.Bind(wx.EVT_BUTTON, self.on_help, id=id)
 
+        self.button_close = wx.Button(self, wx.ID_CANCEL, 'Close')
+        self.button_close.Bind(wx.EVT_BUTTON, self.on_close)
+        self.button_close.SetToolTipString("Close this window.")
+
         sizer_button.Add((150, 20), 1, wx.EXPAND | wx.ADJUST_MINSIZE, 0)
         sizer_button.Add(self.button_calculate, 0, wx.RIGHT | wx.ADJUST_MINSIZE, 20)
         sizer_button.Add(self.button_help, 0, wx.RIGHT | wx.ADJUST_MINSIZE, 20)
+        sizer_button.Add(self.button_close, 0, wx.RIGHT | wx.ADJUST_MINSIZE, 20)
         sizer3.Add(sizer_button)
         #---------layout----------------
@@ -320,4 +328,10 @@
         _doc_viewer = DocumentationWindow(self, -1, \
              _TreeLocation, "General Scattering Calculator Help")
+
+    def on_close(self, event):
+        """
+        close the window containing this panel
+        """
+        self.parent.Close()
 
     def calculate_xray_sld(self, element):
@@ -482,5 +496,5 @@
         self.panel = SldPanel(self, base=base)
         self.Bind(wx.EVT_CLOSE, self.on_close)
-        self.SetPosition((20, 10))
+        self.SetPosition((wx.LEFT, PANEL_TOP))
         self.Show(True)
 
Index: src/sas/perspectives/calculator/slit_length_calculator_panel.py
===================================================================
--- src/sas/perspectives/calculator/slit_length_calculator_panel.py	(revision 49ab5d718dd7743a6a296e666dfb643183bc969d)
+++ src/sas/perspectives/calculator/slit_length_calculator_panel.py	(revision d5419f7f544b78361d56e7be452aaf706afa3524)
@@ -25,8 +25,10 @@
 #Slit length panel size 
 if sys.platform.count("win32") > 0:
+    PANEL_TOP = 0
     PANEL_WIDTH = 500
     PANEL_HEIGHT = 210
     FONT_VARIANT = 0
 else:
+    PANEL_TOP = 60
     PANEL_WIDTH = 530
     PANEL_HEIGHT = 210
@@ -293,5 +295,5 @@
         self.panel = SlitLengthCalculatorPanel(parent=self)
         self.Bind(wx.EVT_CLOSE, self.on_close)
-        self.SetPosition((25, 10))
+        self.SetPosition((wx.LEFT, PANEL_TOP))
         self.Show(True)
 
