Package diffpy :: Package pdfgui :: Package gui :: Module datasetresultspanel
[hide private]
[frames] | no frames]

Source Code for Module diffpy.pdfgui.gui.datasetresultspanel

  1  #!/usr/bin/env python 
  2  # -*- coding: UTF-8 -*- 
  3  ############################################################################## 
  4  # 
  5  # PDFgui            by DANSE Diffraction group 
  6  #                   Simon J. L. Billinge 
  7  #                   (c) 2006 trustees of the Michigan State University. 
  8  #                   All rights reserved. 
  9  # 
 10  # File coded by:    Chris Farrow 
 11  # 
 12  # See AUTHORS.txt for a list of people who contributed. 
 13  # See LICENSE.txt for license information. 
 14  # 
 15  ############################################################################## 
 16   
 17  # generated by wxGlade 0.4 on Wed Feb 22 21:20:24 2006 
 18   
 19  import wx 
 20  from diffpy.pdfgui.gui.pdfpanel import PDFPanel 
 21  from diffpy.pdfgui.gui.tooltips import datasetresultspanel as toolTips 
 22   
23 -class DataSetResultsPanel(wx.Panel, PDFPanel):
24 - def __init__(self, *args, **kwds):
25 # begin wxGlade: DataSetResultsPanel.__init__ 26 kwds["style"] = wx.TAB_TRAVERSAL 27 wx.Panel.__init__(self, *args, **kwds) 28 self.sizer_panelname_staticbox = wx.StaticBox(self, -1, "") 29 self.panelNameLabel = wx.StaticText(self, -1, "Data Set Results") 30 self.labelScaleFactor = wx.StaticText(self, -1, "Scale Factor") 31 self.textCtrlScaleFactor = wx.TextCtrl(self, -1, "", style=wx.TE_READONLY) 32 self.labelQdamp = wx.StaticText(self, -1, "Qdamp") 33 self.textCtrlQdamp = wx.TextCtrl(self, -1, "", style=wx.TE_READONLY) 34 self.labelQbroad = wx.StaticText(self, -1, "Qbroad") 35 self.textCtrlQbroad = wx.TextCtrl(self, -1, "", style=wx.TE_READONLY) 36 self.buttonExport = wx.Button(self, wx.ID_OPEN, "Export PDF") 37 38 self.__set_properties() 39 self.__do_layout() 40 41 self.Bind(wx.EVT_BUTTON, self.onExport, id=wx.ID_OPEN) 42 # end wxGlade 43 self.__customProperties()
44
45 - def __set_properties(self):
46 # begin wxGlade: DataSetResultsPanel.__set_properties 47 self.panelNameLabel.SetFont(wx.Font(18, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) 48 self.buttonExport.Hide() 49 # end wxGlade 50 self.setToolTips(toolTips)
51
52 - def __do_layout(self):
53 # begin wxGlade: DataSetResultsPanel.__do_layout 54 sizer_7 = wx.BoxSizer(wx.VERTICAL) 55 grid_sizer_1 = wx.FlexGridSizer(4, 2, 5, 10) 56 sizer_panelname = wx.StaticBoxSizer(self.sizer_panelname_staticbox, wx.HORIZONTAL) 57 sizer_panelname.Add(self.panelNameLabel, 0, wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) 58 sizer_7.Add(sizer_panelname, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 5) 59 grid_sizer_1.Add(self.labelScaleFactor, 0, wx.LEFT|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) 60 grid_sizer_1.Add(self.textCtrlScaleFactor, 0, wx.ALIGN_CENTER_VERTICAL, 20) 61 grid_sizer_1.Add(self.labelQdamp, 0, wx.LEFT|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) 62 grid_sizer_1.Add(self.textCtrlQdamp, 0, wx.ALIGN_CENTER_VERTICAL, 20) 63 grid_sizer_1.Add(self.labelQbroad, 0, wx.LEFT|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) 64 grid_sizer_1.Add(self.textCtrlQbroad, 0, wx.ALIGN_CENTER_VERTICAL, 20) 65 sizer_7.Add(grid_sizer_1, 0, wx.ALL|wx.EXPAND, 5) 66 sizer_7.Add(self.buttonExport, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) 67 self.SetSizer(sizer_7) 68 sizer_7.Fit(self)
69 # end wxGlade 70 71 # USER CONFIGURATION CODE ################################################# 72
73 - def __customProperties(self):
74 self.results = {} 75 self.ctrlMap = {'dscale' : 'textCtrlScaleFactor', 76 'qdamp' : 'textCtrlQdamp', 77 'qbroad' : 'textCtrlQbroad', 78 } 79 80 # Hide all of the pscale stuff until it is needed. 81 #for i in range(10): 82 # self.pscaleGridSizer.Show(i, False) 83 #self.pscaleGridSizer.Layout() 84 return
85
86 - def setResultsData(self):
87 """Set the values in the results panel. 88 89 The values are taken from the results member dictionary. 90 dscale -- float 91 qdamp -- float 92 qbroad -- float 93 """ 94 for name in self.ctrlMap: 95 value = self.results.get(name, None) 96 ctrlName = self.ctrlMap[name] 97 textCtrl = getattr(self, ctrlName) 98 if value is not None: 99 textCtrl.SetValue(str(value)) 100 else: 101 textCtrl.SetValue('') 102 return
103 104 # EVENT CODE ############################################################# 105
106 - def onExport(self, event): # wxGlade: DataSetResultsPanel.<event_handler>
107 print "Event handler `onExport' not implemented" 108 event.Skip()
109 110 # Methods overloaded from PDFPanel
111 - def refresh(self):
112 """Refresh the panel.""" 113 114 # Enable the label widgets 115 #selections = self.treeCtrlMain.GetSelections() 116 #if selections: 117 # node = selections[0] 118 # phases = self.treeCtrlMain.GetPhases(node) 119 # for i in range(5): 120 # labelWidget = getattr(self, "pscaleLabel" + str(i+1)) 121 # if i < len(phases): 122 # self.pscaleGridSizer.Show(2*i, True) 123 # self.pscaleGridSizer.Show(2*i+1, True) 124 # label = self.treeCtrlMain.GetItemText(phases[i]) 125 # labelWidget.SetLabel(label) 126 # else: 127 # self.pscaleGridSizer.Show(2*i, False) 128 # self.pscaleGridSizer.Show(2*i+1, False) 129 # self.pscaleGridSizer.Layout() 130 131 # Set the results data 132 self.setResultsData() 133 return
134 135 136 137 # end of class DataSetResultsPanel 138 139 140 __id__ = "$Id: datasetresultspanel.py 2980 2009-04-02 00:14:33Z juhas $" 141