1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import wx
20 from diffpy.pdfgui.gui.pdfpanel import PDFPanel
21 from diffpy.pdfgui.gui.tooltips import datasetresultspanel as toolTips
22
25
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
43 self.__customProperties()
44
46
47 self.panelNameLabel.SetFont(wx.Font(18, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
48 self.buttonExport.Hide()
49
50 self.setToolTips(toolTips)
51
53
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
70
71
72
74 self.results = {}
75 self.ctrlMap = {'dscale' : 'textCtrlScaleFactor',
76 'qdamp' : 'textCtrlQdamp',
77 'qbroad' : 'textCtrlQbroad',
78 }
79
80
81
82
83
84 return
85
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
105
107 print "Event handler `onExport' not implemented"
108 event.Skip()
109
110
112 """Refresh the panel."""
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132 self.setResultsData()
133 return
134
135
136
137
138
139
140 __id__ = "$Id: datasetresultspanel.py 2980 2009-04-02 00:14:33Z juhas $"
141