#!/usr/bin/env python
# -*- coding: UTF-8 -*-
##############################################################################
#
# PDFgui by DANSE Diffraction group
# Simon J. L. Billinge
# (c) 2006 trustees of the Michigan State University.
# All rights reserved.
#
# File coded by: Chris Farrow
#
# See AUTHORS.txt for a list of people who contributed.
# See LICENSE.txt for license information.
#
##############################################################################
# generated by wxGlade 0.9.3 on Fri Jul 19 16:01:22 2019
from __future__ import print_function
import wx
from diffpy.pdfgui.gui import tooltips
from diffpy.pdfgui.gui.pdfpanel import PDFPanel
[docs]
class DataSetResultsPanel(wx.Panel, PDFPanel):
def __init__(self, *args, **kwds):
# begin wxGlade: DataSetResultsPanel.__init__
kwds["style"] = kwds.get("style", 0) | wx.TAB_TRAVERSAL
wx.Panel.__init__(self, *args, **kwds)
sizer_7 = wx.BoxSizer(wx.VERTICAL)
sizer_panelname = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, ""), wx.HORIZONTAL)
sizer_7.Add(sizer_panelname, 0, wx.EXPAND | wx.LEFT | wx.RIGHT, 5)
self.panelNameLabel = wx.StaticText(self, wx.ID_ANY, "Data Set Results")
self.panelNameLabel.SetFont(
wx.Font(
18,
wx.FONTFAMILY_DEFAULT,
wx.FONTSTYLE_NORMAL,
wx.FONTWEIGHT_BOLD,
0,
"",
)
)
sizer_panelname.Add(self.panelNameLabel, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, 5)
grid_sizer_1 = wx.FlexGridSizer(3, 2, 5, 10)
sizer_7.Add(grid_sizer_1, 0, wx.ALL | wx.EXPAND, 5)
self.labelScaleFactor = wx.StaticText(self, wx.ID_ANY, "Scale Factor")
grid_sizer_1.Add(
self.labelScaleFactor,
0,
wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT,
5,
)
self.textCtrlScaleFactor = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_READONLY)
grid_sizer_1.Add(self.textCtrlScaleFactor, 0, wx.ALIGN_CENTER_VERTICAL, 20)
self.labelQdamp = wx.StaticText(self, wx.ID_ANY, "Qdamp")
grid_sizer_1.Add(self.labelQdamp, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT, 5)
self.textCtrlQdamp = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_READONLY)
grid_sizer_1.Add(self.textCtrlQdamp, 0, wx.ALIGN_CENTER_VERTICAL, 20)
self.labelQbroad = wx.StaticText(self, wx.ID_ANY, "Qbroad")
grid_sizer_1.Add(self.labelQbroad, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT, 5)
self.textCtrlQbroad = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_READONLY)
grid_sizer_1.Add(self.textCtrlQbroad, 0, wx.ALIGN_CENTER_VERTICAL, 20)
self.buttonExport = wx.Button(self, wx.ID_OPEN, "Export PDF")
self.buttonExport.Hide()
sizer_7.Add(self.buttonExport, 0, wx.ALIGN_RIGHT | wx.ALL, 5)
self.SetSizer(sizer_7)
sizer_7.Fit(self)
self.Layout()
self.Bind(wx.EVT_BUTTON, self.onExport, self.buttonExport)
# end wxGlade
self.__customProperties()
# USER CONFIGURATION CODE #################################################
def __customProperties(self):
self.results = {}
self.ctrlMap = {
"dscale": "textCtrlScaleFactor",
"qdamp": "textCtrlQdamp",
"qbroad": "textCtrlQbroad",
}
# Define tooltips.
self.setToolTips(tooltips.datasetresultspanel)
return
[docs]
def setResultsData(self):
"""Set the values in the results panel.
The values are taken from the results member dictionary.
dscale -- float
qdamp -- float
qbroad -- float
"""
for name in self.ctrlMap:
value = self.results.get(name, None)
ctrlName = self.ctrlMap[name]
textCtrl = getattr(self, ctrlName)
if value is not None:
textCtrl.SetValue(str(value))
else:
textCtrl.SetValue("")
return
# EVENT CODE #############################################################
[docs]
def onExport(self, event): # wxGlade: DataSetResultsPanel.<event_handler>
print("Event handler `onExport' not implemented")
event.Skip()
# Methods overloaded from PDFPanel
[docs]
def refresh(self):
"""Refresh the panel."""
# Set the results data
self.setResultsData()
return
# end of class DataSetResultsPanel