Package gui :: Package components :: Module software
[hide private]
[frames] | no frames]

Source Code for Module gui.components.software

  1  ############################################################################### 
  2  #                                                                             # 
  3  # Copyright (C) 2009-2011 Michael Bieri                                       # 
  4  # Copyright (C) 2010-2012 Edward d'Auvergne                                   # 
  5  #                                                                             # 
  6  # This file is part of the program relax (http://www.nmr-relax.com).          # 
  7  #                                                                             # 
  8  # This program is free software: you can redistribute it and/or modify        # 
  9  # it under the terms of the GNU General Public License as published by        # 
 10  # the Free Software Foundation, either version 3 of the License, or           # 
 11  # (at your option) any later version.                                         # 
 12  #                                                                             # 
 13  # This program is distributed in the hope that it will be useful,             # 
 14  # but WITHOUT ANY WARRANTY; without even the implied warranty of              # 
 15  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               # 
 16  # GNU General Public License for more details.                                # 
 17  #                                                                             # 
 18  # You should have received a copy of the GNU General Public License           # 
 19  # along with this program.  If not, see <http://www.gnu.org/licenses/>.       # 
 20  #                                                                             # 
 21  ############################################################################### 
 22   
 23  # Module docstring. 
 24  """Module containing the software GUI element for listing the software used in the analysis.""" 
 25   
 26  # relax module imports. 
 27  from graphics import fetch_icon 
 28   
 29  # relax GUI module imports. 
 30  from gui.components.base_list import Base_list 
 31  from gui.string_conv import str_to_gui 
 32  from gui.uf_objects import Uf_storage; uf_store = Uf_storage() 
 33   
 34   
35 -class Software(Base_list):
36 """The GUI element for listing the software used in the analysis.""" 37
38 - def action_bmrb_software(self, event):
39 """Launch the bmrb.software user function. 40 41 @param event: The wx event. 42 @type event: wx event 43 """ 44 45 # Launch the dialog. 46 uf_store['bmrb.software'](wx_parent=self.parent)
47 48
49 - def action_bmrb_software_select(self, event):
50 """Launch the bmrb.software_select user function. 51 52 @param event: The wx event. 53 @type event: wx event 54 """ 55 56 # Launch the dialog. 57 uf_store['bmrb.software_select'](wx_parent=self.parent)
58 59
60 - def setup(self):
61 """Override the base variables.""" 62 63 # GUI variables. 64 self.title = "Software" 65 self.observer_base_name = "software" 66 self.button_placement = 'bottom' 67 68 # The column titles. 69 self.columns = [ 70 "Program name" 71 ] 72 73 # Button set up. 74 self.button_info = [ 75 { 76 'object': 'button_add', 77 'label': ' Add', 78 'icon': fetch_icon('oxygen.actions.list-add-relax-blue', "22x22"), 79 'method': self.action_bmrb_software, 80 'tooltip': "Specify the software used in the analysis." 81 }, { 82 'object': 'button_select', 83 'label': ' Select', 84 'icon': fetch_icon('oxygen.actions.edit-select', "22x22"), 85 'method': self.action_bmrb_software_select, 86 'tooltip': "Select the software used in the analysis." 87 } 88 ]
89 90
91 - def update_data(self):
92 """Method called from self.build_element_safe() to update the list data.""" 93 94 # Expand the number of rows to match the number of entries, and add the data. 95 n = 0 96 if hasattr(cdp, 'exp_info') and hasattr(cdp.exp_info, 'software'): 97 n = len(cdp.exp_info.software) 98 for i in range(n): 99 # Set the software name. 100 self.element.InsertStringItem(i, str_to_gui(cdp.exp_info.software[i].name))
101