source: sasview/src/sas/qtgui/ScaleProperties.py @ ef01be4

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalc
Last change on this file since ef01be4 was ef01be4, checked in by Piotr Rozyczko <rozyczko@…>, 7 years ago

More context menu functionality in plots - SASVIEW-167

  • Property mode set to 100755
File size: 1.8 KB
Line 
1# global
2#import sys
3#import os
4#from PyQt4 import QtCore
5from PyQt4 import QtGui
6
7import sas.sasview
8
9from sas.qtgui.UI.ScalePropertiesUI import Ui_scalePropertiesUI
10
11x_values = ["x", "x^(2)", "x^(4)", "ln(x)", "log10(x)", "log10(x^(4))"]
12y_values = ["y", "1/y", "ln(y)", "y^(2)", "y*x^(2)", "y*x^(4)", "1/sqrt(y)",
13            "log10(y)", "ln(y*x)", "ln(y*x^(2))", "ln(y*x^(4))", "log10(y*x^(4))"]
14view_values = ["--", "Linear y vs x", "Guinier lny vs x^(2)",
15            "XS Guinier ln(y*x) vs x^(2)", "Porod y*x^(4) vs x^(4)", "Kratky y*x^(2) vs x"]
16view_to_xy = {
17    view_values[0]: [None, None], # custom
18    view_values[1]: [0, 0], # linear
19    view_values[2]: [1, 2], # Guinier
20    view_values[3]: [1, 8], # XS Guinier
21    view_values[4]: [2, 5], # Porod
22    view_values[5]: [0, 4], # Kratky
23}
24class ScaleProperties(QtGui.QDialog, Ui_scalePropertiesUI):
25    def __init__(self, parent=None):
26        super(ScaleProperties, self).__init__(parent)
27        self.setupUi(self)
28
29        # Set up comboboxes
30        self.cbX.addItems(x_values)
31        self.cbY.addItems(y_values)
32        self.cbView.addItems(view_values)
33        # Resize the dialog only AFTER the boxes are populated
34        self.setFixedSize(self.minimumSizeHint())
35
36        # Connect combobox index change to a custom method
37        self.cbView.currentIndexChanged.connect(self.viewIndexChanged)
38
39    def getValues(self):
40        """
41        Return current values from comboboxes
42        """
43        return self.cbX.currentText(), self.cbY.currentText()
44
45    def viewIndexChanged(self, index):
46        """
47        Update X and Y labels based on the "View" index
48        """
49        if index > 0:
50            self.cbX.setCurrentIndex(view_to_xy[view_values[index]][0])
51            self.cbY.setCurrentIndex(view_to_xy[view_values[index]][1])
Note: See TracBrowser for help on using the repository browser.