source: sasview/src/sas/sasgui/perspectives/corfunc/corfunc_panel.py @ 7858575

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalccostrafo411magnetic_scattrelease-4.1.1release-4.1.2release-4.2.2ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249ticket885unittest-saveload
Last change on this file since 7858575 was 7858575, checked in by lewis, 8 years ago

Allow loading of data into corfunc perspective

  • Property mode set to 100644
File size: 2.4 KB
Line 
1import wx
2import sys
3from wx.lib.scrolledpanel import ScrolledPanel
4from sas.sasgui.guiframe.panel_base import PanelBase
5from sas.sasgui.perspectives.invariant.invariant_widgets import OutputTextCtrl
6
7BACKGROUND = 0.0
8if sys.platform.count("win32") > 0:
9    _STATICBOX_WIDTH = 350
10    PANEL_WIDTH = 400
11    PANEL_HEIGHT = 700
12    FONT_VARIANT = 0
13else:
14    _STATICBOX_WIDTH = 390
15    PANEL_WIDTH = 430
16    PANEL_HEIGHT = 700
17    FONT_VARIANT = 1
18
19class CorfuncPanel(ScrolledPanel,PanelBase):
20    window_name = "Correlation Function"
21    window_caption = "Correlation Function"
22    CENTER_PANE = True
23
24    def __init__(self, parent, data=None, manager=None, *args, **kwds):
25        kwds["size"] = (PANEL_WIDTH, PANEL_HEIGHT)
26        kwds["style"] = wx.FULL_REPAINT_ON_RESIZE
27        ScrolledPanel.__init__(self, parent=parent, *args, **kwds)
28        PanelBase.__init__(self, parent)
29        self.SetupScrolling()
30        self.SetWindowVariant(variant=FONT_VARIANT)
31        self._manager = manager
32        self._data = data
33        self._background = BACKGROUND
34        self.state = None
35        self.set_state()
36        self._do_layout()
37
38    def set_state(self, state=None, data=None):
39        return False
40
41    def _set_data(self, data=None):
42        """
43        Update the GUI to reflect new data that has been loaded in
44
45        :param data: The data that has been loaded
46        """
47        self.data_name_box.SetValue(str(data.name))
48        if self._manager is not None:
49            self._manager.show_data(data=data, reset=True)
50
51
52    def _do_layout(self):
53        """
54        Draw the window content
55        """
56        vbox = wx.GridBagSizer(0,0)
57
58        # I(q) data box
59        databox = wx.StaticBox(self, -1, "I(q) data source")
60
61        pars_sizer = wx.GridBagSizer(5, 5)
62
63        box_sizer1 = wx.StaticBoxSizer(databox, wx.VERTICAL)
64        box_sizer1.SetMinSize((350, 50))
65
66        file_name_label = wx.StaticText(self, -1, "Name:")
67        pars_sizer.Add(file_name_label, (0, 0), (1, 1),
68            wx.LEFT | wx.EXPAND | wx.ADJUST_MINSIZE, 15)
69
70        self.data_name_box = OutputTextCtrl(self, -1, size=(350,20))
71        pars_sizer.Add(self.data_name_box, (0, 1), (1, 1),
72            wx.EXPAND | wx.LEFT | wx.RIGHT | wx.ADJUST_MINSIZE, 15)
73
74        box_sizer1.Add(pars_sizer, 0, wx.EXPAND)
75        vbox.Add(box_sizer1, (0, 0), (1, 1),
76            wx.LEFT | wx.RIGHT | wx.EXPAND | wx.ADJUST_MINSIZE | wx.TOP, 5)
77
78        self.SetSizer(vbox)
Note: See TracBrowser for help on using the repository browser.