15 |
15 |
16 ldir = os.path.abspath(os.path.dirname(__file__)) |
16 ldir = os.path.abspath(os.path.dirname(__file__)) |
17 sys.path.append(ldir) |
17 sys.path.append(ldir) |
18 form_class, base_class = uic.loadUiType(os.path.join(ldir, "qhpgl_plotter.ui")) |
18 form_class, base_class = uic.loadUiType(os.path.join(ldir, "qhpgl_plotter.ui")) |
19 |
19 |
20 from qpreferences import PreferenceItem, AbstractPreferences, PreferencesEditor |
20 from qpreferences import BaseItem, IntItem, UnicodeItem, ColorItem |
|
21 from qpreferences import PointItem, SizeItem, ByteArrayItem |
|
22 from qpreferences import AbstractPreferences |
|
23 from qpreferenceseditor import PreferencesEditor |
21 |
24 |
22 class Preferences(AbstractPreferences): |
25 class Preferences(AbstractPreferences): |
23 ORGANISATION="Logilab" |
26 ORGANISATION="Logilab" |
24 APPLICATION="qgpib_plotter" |
27 APPLICATION="qgpib_plotter" |
25 |
28 |
26 device = PreferenceItem('/dev/ttyUSB0', name=u'device', description=u'GPIB device') |
29 _pos = PointItem() |
27 address = PreferenceItem(5, name=u'GPIB address') |
30 _size = SizeItem() |
28 _pos = PreferenceItem(basetype=QtCore.QPoint) |
31 _appState = ByteArrayItem() |
29 _size = PreferenceItem(basetype=QtCore.QSize) |
32 |
30 _appState = PreferenceItem(basetype=QtCore.QByteArray) |
33 device = UnicodeItem(default='/dev/ttyUSB0', |
31 |
34 name=u'device', |
|
35 description=u'GPIB device', |
|
36 group="GPIB settings") |
|
37 address = IntItem(default=5, min=0, max=16, |
|
38 name=u'GPIB address', |
|
39 group="GPIB settings") |
|
40 |
|
41 background = ColorItem(default=QtGui.QColor("white"), |
|
42 name="Background", |
|
43 group="Colors") |
|
44 color0 = ColorItem(default=QtGui.QColor("black"), |
|
45 name="Pen #0", |
|
46 group="Colors") |
|
47 color1 = ColorItem(default=QtGui.QColor("green"), |
|
48 name="Pen #1", |
|
49 group="Colors") |
|
50 color2 = ColorItem(default=QtGui.QColor("red"), |
|
51 name="Pen #2", |
|
52 group="Colors") |
|
53 color3 = ColorItem(default=QtGui.QColor("blue"), |
|
54 name="Pen #3", |
|
55 group="Colors") |
|
56 color4 = ColorItem(default=QtGui.QColor("yellow"), |
|
57 name="Pen #4", |
|
58 group="Colors") |
|
59 color5 = ColorItem(default=QtGui.QColor("cyan"), |
|
60 name="Pen #5", |
|
61 group="Colors") |
|
62 color6 = ColorItem(default=QtGui.QColor("magenta"), |
|
63 name="Pen #6", |
|
64 group="Colors") |
|
65 color7 = ColorItem(default=QtGui.QColor("darkred"), |
|
66 name="Pen #7", |
|
67 group="Colors") |
32 |
68 |
33 class QtHPGLPlotter(QtGui.QMainWindow, form_class): |
69 class QtHPGLPlotter(QtGui.QMainWindow, form_class): |
34 def __init__(self, parent=None): |
70 def __init__(self, parent=None): |
35 QtGui.QMainWindow.__init__(self, parent) |
71 QtGui.QMainWindow.__init__(self, parent) |
36 self._plots = {} |
72 self._plots = {} |
41 self.move(self._prefs._pos) |
77 self.move(self._prefs._pos) |
42 if self._prefs._size: |
78 if self._prefs._size: |
43 self.resize(self._prefs._size) |
79 self.resize(self._prefs._size) |
44 if self._prefs._appState: |
80 if self._prefs._appState: |
45 self.restoreState(self._prefs._appState) |
81 self.restoreState(self._prefs._appState) |
46 |
82 self.readPreferences() |
|
83 |
|
84 def readPreferences(self): |
|
85 bg = self._prefs.background |
|
86 if bg and bg.isValid(): |
|
87 self.plotterWidget.qview.setBackgroundBrush(QtGui.QBrush(bg)) |
|
88 pen_colors = [self._prefs["color%d"%i] for i in range(8)] |
|
89 print |
|
90 self.plotterWidget.pen_colors = pen_colors |
|
91 |
|
92 def replotCurrent(self): |
|
93 self.currentPlotChanged(self.plotsView.currentIndex()) |
|
94 |
47 def setupUi(self): |
95 def setupUi(self): |
48 form_class.setupUi(self, self) # call qtdesigner generated form creation |
96 form_class.setupUi(self, self) # call qtdesigner generated form creation |
49 # actions defined in designer |
97 # actions defined in designer |
50 self.connect(self.actionPreferences, SIGNAL('triggered(bool)'), |
98 self.connect(self.actionPreferences, SIGNAL('triggered(bool)'), |
51 self.preferencesTriggered) |
99 self.preferencesTriggered) |
82 self.plotterWidget.clear() |
130 self.plotterWidget.clear() |
83 self.plotterWidget.parse(self._plots[value]) |
131 self.plotterWidget.parse(self._plots[value]) |
84 |
132 |
85 def preferencesTriggered(self, checked=False): |
133 def preferencesTriggered(self, checked=False): |
86 PreferencesEditor(self._prefs, self).exec_() |
134 PreferencesEditor(self._prefs, self).exec_() |
|
135 self.readPreferences() |
|
136 self.replotCurrent() |
87 |
137 |
88 def quitTriggered(self, checked=False): |
138 def quitTriggered(self, checked=False): |
89 self.close() |
139 self.close() |
90 |
140 |
91 def closeEvent(self, event): |
141 def closeEvent(self, event): |