source: sasview/plottools/src/danse/common/plottools/PropertyDialog.py @ 8a621ac

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.2release_4.0.1ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249ticket885unittest-saveload
Last change on this file since 8a621ac was b4da6df, checked in by Jae Cho <jhjcho@…>, 12 years ago

Added porod plot scales shortcut

  • Property mode set to 100644
File size: 3.5 KB
Line 
1#!/usr/bin/python
2
3# myDialog.py
4"""
5"""
6import wx
7
8class Properties(wx.Dialog):
9    """
10    """
11    def __init__(self, parent, id=-1, title="Select the scale of the graph"):
12        wx.Dialog.__init__(self, parent, id, title)
13        """
14        for the properties window
15        """
16        self.parent = parent
17        vbox  = wx.BoxSizer(wx.VERTICAL)
18        sizer = wx.GridBagSizer(5,5)
19
20        x_size = 70
21
22        ix = 1
23        iy = 1
24        sizer.Add(wx.StaticText(self, -1, 'X'), (iy, ix))
25        ix += 2
26        sizer.Add(wx.StaticText(self, -1, 'Y'), (iy, ix))
27        ix += 2
28        sizer.Add(wx.StaticText(self, -1, 'View'), (iy, ix))
29        iy += 1
30        ix = 1
31        self.xvalue = wx.ComboBox(self, -1)
32        x_size += self.xvalue.GetSize()[0]
33        sizer.Add(self.xvalue, (iy, ix), (1, 1), wx.EXPAND|wx.ADJUST_MINSIZE, 0)
34       
35        ix += 2
36        self.yvalue = wx.ComboBox(self, -1)
37        x_size += self.yvalue.GetSize()[0]
38        sizer.Add(self.yvalue, (iy, ix), (1,1), wx.EXPAND|wx.ADJUST_MINSIZE, 0)
39       
40        ix += 2
41        self.view = wx.ComboBox(self, -1)
42        x_size += self.view.GetSize()[0]
43        self.view.SetMinSize((160, 30))
44        sizer.Add(self.view, (iy,ix), (1,1), 
45                  wx.EXPAND|wx.RIGHT|wx.ADJUST_MINSIZE, 10)
46        self.SetMinSize((x_size, 50))
47        vbox.Add(sizer, 0, wx.EXPAND|wx.ADJUST_MINSIZE, 0)
48       
49        btCancel = wx.Button(self, wx.ID_CANCEL,'Cancel')
50        btOk = wx.Button(self, wx.ID_OK, "OK")
51        sizer_button = wx.BoxSizer(wx.HORIZONTAL)
52        sizer_button.Add((20, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0)
53        sizer_button.Add(btOk, 0, wx.LEFT|wx.RIGHT|wx.ADJUST_MINSIZE, 10)
54        sizer_button.Add(btCancel, 0, wx.LEFT|wx.RIGHT|wx.ADJUST_MINSIZE, 10)       
55        vbox.Add(sizer_button, 0, 
56                 wx.EXPAND|wx.TOP|wx.BOTTOM|wx.ADJUST_MINSIZE, 10)
57        # scale value for x
58        self.xvalue.SetValue("ln(x)")
59        self.xvalue.Insert("x", 0)
60        self.xvalue.Insert("x^(2)", 1)
61        self.xvalue.Insert("x^(4)", 2)
62        self.xvalue.Insert("ln(x)", 3)
63        self.xvalue.Insert("log10(x)", 4)
64        self.xvalue.Insert("log10(x^(4))", 5)
65       
66        # scale value for y
67        self.yvalue.SetValue("ln(y)")
68        self.yvalue.Insert("y", 0)
69        self.yvalue.Insert("1/y", 1)
70        self.yvalue.Insert("ln(y)", 2)
71        self.yvalue.Insert("y^(2)", 3)
72        self.yvalue.Insert("y*x^(4)", 4)
73        self.yvalue.Insert("1/sqrt(y)", 5)
74        self.yvalue.Insert("log10(y)", 6)
75        self.yvalue.Insert("ln(y*x)", 7)
76        self.yvalue.Insert("ln(y*x^(2))", 8)
77        self.yvalue.Insert("ln(y*x^(4))", 9)
78        self.yvalue.Insert("log10(y*x^(4))", 10)
79        # type of view or model used
80        self.view.SetValue("--")
81        self.view.Insert("--", 0)
82        self.view.Insert("Guinier lny vs x^(2)", 1)
83        self.view.Insert("Porod y*x^(4) vs x^(4)", 2)
84        self.SetSizer(vbox)
85        self.Fit()       
86        self.Centre()
87           
88    def setValues(self, x, y, view):
89        """
90        """
91        return  self.xvalue.SetValue(x), self.yvalue.SetValue(y),\
92                    self.view.SetValue(view)
93       
94    def getValues(self):
95        """
96        """
97        return self.xvalue.GetValue(), self.yvalue.GetValue(),\
98                            self.view.GetValue()
99       
100
101if __name__ == "__main__": 
102    app = wx.App()
103    dialog = Properties(None, -1, 'Properties')
104    dialog.ShowModal()
105    app.MainLoop()
106
107
Note: See TracBrowser for help on using the repository browser.