mailr13995 - /branches/gui_testing/gui/wizard.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on July 29, 2011 - 15:56:
Author: bugman
Date: Fri Jul 29 15:56:03 2011
New Revision: 13995

URL: http://svn.gna.org/viewcvs/relax?rev=13995&view=rev
Log:
Polishing of the free file format GUI element.

The internal buttons are now placed to the right hand side rather than below 
to save large amounts 
of space.  A lot of unnecessary outside padding has also been removed, and 
the divider position is
now properly calculated.


Modified:
    branches/gui_testing/gui/wizard.py

Modified: branches/gui_testing/gui/wizard.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/wizard.py?rev=13995&r1=13994&r2=13995&view=diff
==============================================================================
--- branches/gui_testing/gui/wizard.py (original)
+++ branches/gui_testing/gui/wizard.py Fri Jul 29 15:56:03 2011
@@ -75,6 +75,7 @@
     image_path = paths.IMAGE_PATH + "relax.gif"
     main_text = ''
     size_button = (100, 33)
+    size_square_button = (33, 33)
     title = ''
 
     def __init__(self, parent):
@@ -622,44 +623,57 @@
         box.SetFont(font.subtitle)
 
         # Init.
-        sub_sizer = wx.StaticBoxSizer(box, wx.VERTICAL)
-        sub_sizer.AddSpacer(padding)
-        divider = self._div_left - 15
+        main_sizer = wx.StaticBoxSizer(box, wx.HORIZONTAL)
+        field_sizer = wx.BoxSizer(wx.VERTICAL)
+        button_sizer = wx.BoxSizer(wx.VERTICAL)
+
+        # The border of the widget.
+        border = wx.BoxSizer()
+
+        # Place the box sizer inside the border.
+        border.Add(main_sizer, 1, wx.ALL|wx.EXPAND, 0)
+
+        # Add to the main sizer (followed by stretchable spacing).
+        sizer.Add(border, 0, wx.EXPAND)
+        sizer.AddStretchSpacer()
+
+        # Calculate the divider position.
+        divider = self._div_left - border.GetMinSize()[0] / 2 - padding
 
         # The columns.
-        self.spin_id_col = self.input_field(sub_sizer, "Spin ID column:", 
divider=divider, padding=padding, spacer=spacer)
-        self.mol_name_col = self.input_field(sub_sizer, "Molecule name 
column:", divider=divider, padding=padding, spacer=spacer)
-        self.res_num_col = self.input_field(sub_sizer, "Residue number 
column:", divider=divider, padding=padding, spacer=spacer)
-        self.res_name_col = self.input_field(sub_sizer, "Residue name 
column:", divider=divider, padding=padding, spacer=spacer)
-        self.spin_num_col = self.input_field(sub_sizer, "Spin number 
column:", divider=divider, padding=padding, spacer=spacer)
-        self.spin_name_col = self.input_field(sub_sizer, "Spin name 
column:", divider=divider, padding=padding, spacer=spacer)
+        self.spin_id_col = self.input_field(field_sizer, "Spin ID column:", 
divider=divider, padding=padding, spacer=spacer)
+        self.mol_name_col = self.input_field(field_sizer, "Molecule name 
column:", divider=divider, padding=padding, spacer=spacer)
+        self.res_num_col = self.input_field(field_sizer, "Residue number 
column:", divider=divider, padding=padding, spacer=spacer)
+        self.res_name_col = self.input_field(field_sizer, "Residue name 
column:", divider=divider, padding=padding, spacer=spacer)
+        self.spin_num_col = self.input_field(field_sizer, "Spin number 
column:", divider=divider, padding=padding, spacer=spacer)
+        self.spin_name_col = self.input_field(field_sizer, "Spin name 
column:", divider=divider, padding=padding, spacer=spacer)
         if data_cols:
-            self.data_col = self.input_field(sub_sizer, "Data column:", 
divider=divider, padding=padding, spacer=spacer)
-            self.err_col = self.input_field(sub_sizer, "Error column:", 
divider=divider, padding=padding, spacer=spacer)
+            self.data_col = self.input_field(field_sizer, "Data column:", 
divider=divider, padding=padding, spacer=spacer)
+            self.err_col = self.input_field(field_sizer, "Error column:", 
divider=divider, padding=padding, spacer=spacer)
 
         # The column separator.
-        self.sep = self.combo_box(sub_sizer, "Column separator:", ["white 
space", ",", ";", ":", ""], divider=divider, padding=padding, spacer=spacer, 
read_only=False)
+        self.sep = self.combo_box(field_sizer, "Column separator:", ["white 
space", ",", ";", ":", ""], divider=divider, padding=padding, spacer=spacer, 
read_only=False)
+
+        # Add the field sizer to the main sizer.
+        main_sizer.Add(field_sizer, 1, wx.ALL|wx.EXPAND, 0)
 
         # Set the values.
         self._free_file_format_set_vals(data_cols=data_cols)
 
         # Buttons!
         if save or reset:
-            # A sizer.
-            button_sizer = wx.BoxSizer(wx.HORIZONTAL)
-
             # Add a save button.
             if save:
                 # Build the button.
-                button = buttons.ThemedGenBitmapTextButton(self, -1, None, " 
 Save")
+                button = buttons.ThemedGenBitmapTextButton(self, -1, None, 
"")
                 button.SetBitmapLabel(wx.Bitmap(paths.icon_22x22.save, 
wx.BITMAP_TYPE_ANY))
                 button.SetToolTipString("Save the free file format settings 
within the relax data store.")
-                button.SetMinSize(self.size_button)
+                button.SetMinSize(self.size_square_button)
 
                 # Add the button.
                 button_sizer.Add(button, 0, wx.ADJUST_MINSIZE, 0)
 
-                # Right padding.
+                # Padding.
                 button_sizer.AddSpacer(padding)
 
                 # Bind the click event.
@@ -668,38 +682,20 @@
             # Add a reset button.
             if reset:
                 # Build the button.
-                button = buttons.ThemedGenBitmapTextButton(self, -1, None, " 
 Reset")
+                button = buttons.ThemedGenBitmapTextButton(self, -1, None, 
"")
                 
button.SetBitmapLabel(wx.Bitmap(paths.icon_22x22.edit_delete, 
wx.BITMAP_TYPE_ANY))
                 button.SetToolTipString("Reset the free file format settings 
to the original values.")
-                button.SetMinSize(self.size_button)
+                button.SetMinSize(self.size_square_button)
 
                 # Add the button.
                 button_sizer.Add(button, 0, wx.ADJUST_MINSIZE, 0)
 
-                # Right padding.
-                button_sizer.AddSpacer(padding)
-
                 # Bind the click event.
                 self.Bind(wx.EVT_BUTTON, self._free_file_format_reset, 
button)
 
             # Add the button sizer to the widget (with spacing).
-            sub_sizer.AddSpacer(padding)
-            sub_sizer.Add(button_sizer, 0, wx.ALIGN_RIGHT|wx.ALL, 0)
-
-        # Set the size of the widget.
-        sub_sizer.AddSpacer(padding)
-        x, y = box.GetSize()
-        box.SetMinSize((self._main_size, y))
-
-        # The border of the widget.
-        border = wx.BoxSizer()
-
-        # Place the box sizer inside the border.
-        border.Add(sub_sizer, 1, wx.ALL|wx.EXPAND, 0)
-
-        # Add to the main sizer (followed by stretchable spacing).
-        sizer.Add(border, 0, wx.EXPAND)
-        sizer.AddStretchSpacer()
+            main_sizer.AddSpacer(padding)
+            main_sizer.Add(button_sizer, 0, wx.ALL, 0)
 
 
     def input_field(self, sizer, desc, tooltip=None, divider=None, 
padding=0, spacer=None):




Related Messages


Powered by MHonArc, Updated Fri Jul 29 16:20:02 2011