Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

Commit 0d21d2d

Browse files
Refactor Code to have a separate Export Window module imported when required
1 parent ae68877 commit 0d21d2d

6 files changed

Lines changed: 542 additions & 64 deletions

File tree

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Created on Sun Nov 3 20:43:12 2019
4+
5+
@author: sarth
6+
"""
7+
from pathlib import Path
8+
import pyqtgraph as pg
9+
from pyqtgraph.Qt import QtCore, QtGui
10+
11+
"""Export Images GUI"""
12+
base_path = Path(__file__).parent
13+
ui_file_path = (base_path / "export_fig_gui.ui").resolve()
14+
export_WindowTemplate, export_TemplateBaseClass = pg.Qt.loadUiType(ui_file_path)
15+
16+
class ExportFigureWindow(export_TemplateBaseClass):
17+
18+
export_fig_signal = QtCore.pyqtSignal()
19+
20+
def __init__(self):
21+
export_TemplateBaseClass.__init__(self)
22+
23+
self.ui = export_WindowTemplate()
24+
self.ui.setupUi(self)
25+
self.ui.cmap_comboBox.addItems(['viridis', 'plasma', 'inferno', 'magma',
26+
'cividis','Greys', 'Purples', 'Blues',
27+
'Greens', 'Oranges', 'Reds', 'YlOrBr',
28+
'YlOrRd', 'OrRd', 'PuRd', 'RdPu', 'BuPu',
29+
'GnBu', 'PuBu', 'YlGnBu', 'PuBuGn', 'BuGn',
30+
'YlGn', 'binary', 'gist_yarg', 'gist_gray',
31+
'gray', 'bone', 'pink', 'spring', 'summer',
32+
'autumn', 'winter', 'cool', 'Wistia', 'hot',
33+
'afmhot', 'gist_heat', 'copper', 'rainbow', 'jet'])
34+
# self.ui.dataChannel_comboBox.addItems(['Raw', 'Fitted'])
35+
self.ui.exportFig_pushButton.clicked.connect(self.export)
36+
self.show()
37+
38+
def export(self):
39+
self.export_fig_signal.emit()
40+
self.close()
41+
42+
"""Export plot GUI"""
43+
ui_file_path = (base_path / "export_plot.ui").resolve()
44+
export_WindowTemplate, export_TemplateBaseClass = pg.Qt.loadUiType(ui_file_path)
45+
46+
class ExportPlotWindow(export_TemplateBaseClass):
47+
48+
export_fig_signal = QtCore.pyqtSignal()
49+
50+
def __init__(self):
51+
export_TemplateBaseClass.__init__(self)
52+
53+
self.ui = export_WindowTemplate()
54+
self.ui.setupUi(self)
55+
self.ui.traceColor_comboBox.addItems(["C0","C1","C2","C3","C4","C5","C6","C7", "r", "g", "b", "y", "k"])
56+
self.ui.fitColor_comboBox.addItems(["k", "r", "b", "y", "g","C0","C1","C2","C3","C4","C5","C6","C7"])
57+
self.ui.export_pushButton.clicked.connect(self.export)
58+
self.ui.legend_checkBox.stateChanged.connect(self.legend_title)
59+
self.show()
60+
61+
def legend_title(self):
62+
if self.ui.legend_checkBox.isChecked():
63+
self.ui.legend1_lineEdit.setEnabled(True)
64+
self.ui.legend2_lineEdit.setEnabled(True)
65+
else:
66+
self.ui.legend1_lineEdit.setEnabled(False)
67+
self.ui.legend2_lineEdit.setEnabled(False)
68+
69+
def export(self):
70+
self.export_fig_signal.emit()
71+
self.close()
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# -*- coding: utf-8 -*-
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>ExportFigure</class>
4+
<widget class="QWidget" name="ExportFigure">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>302</width>
10+
<height>317</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>Form</string>
15+
</property>
16+
<layout class="QGridLayout" name="gridLayout">
17+
<item row="5" column="1">
18+
<widget class="QSpinBox" name="vmax_spinBox">
19+
<property name="font">
20+
<font>
21+
<pointsize>15</pointsize>
22+
</font>
23+
</property>
24+
<property name="maximum">
25+
<number>1000000000</number>
26+
</property>
27+
</widget>
28+
</item>
29+
<item row="7" column="0">
30+
<widget class="QLabel" name="label_5">
31+
<property name="font">
32+
<font>
33+
<pointsize>15</pointsize>
34+
</font>
35+
</property>
36+
<property name="text">
37+
<string>Color Bar Label</string>
38+
</property>
39+
</widget>
40+
</item>
41+
<item row="0" column="0" colspan="2">
42+
<widget class="QLabel" name="label">
43+
<property name="font">
44+
<font>
45+
<pointsize>15</pointsize>
46+
</font>
47+
</property>
48+
<property name="text">
49+
<string>Data Channel to Save</string>
50+
</property>
51+
</widget>
52+
</item>
53+
<item row="1" column="0" colspan="2">
54+
<widget class="QComboBox" name="dataChannel_comboBox">
55+
<property name="font">
56+
<font>
57+
<pointsize>15</pointsize>
58+
</font>
59+
</property>
60+
</widget>
61+
</item>
62+
<item row="3" column="0" colspan="2">
63+
<widget class="QComboBox" name="cmap_comboBox">
64+
<property name="font">
65+
<font>
66+
<pointsize>15</pointsize>
67+
</font>
68+
</property>
69+
</widget>
70+
</item>
71+
<item row="2" column="0">
72+
<widget class="QLabel" name="label_2">
73+
<property name="font">
74+
<font>
75+
<pointsize>15</pointsize>
76+
</font>
77+
</property>
78+
<property name="text">
79+
<string>ColorMap</string>
80+
</property>
81+
</widget>
82+
</item>
83+
<item row="5" column="0">
84+
<widget class="QSpinBox" name="vmin_spinBox">
85+
<property name="font">
86+
<font>
87+
<pointsize>15</pointsize>
88+
</font>
89+
</property>
90+
<property name="maximum">
91+
<number>1000000000</number>
92+
</property>
93+
</widget>
94+
</item>
95+
<item row="4" column="0">
96+
<widget class="QLabel" name="label_3">
97+
<property name="font">
98+
<font>
99+
<pointsize>15</pointsize>
100+
</font>
101+
</property>
102+
<property name="text">
103+
<string>ColorBar Min</string>
104+
</property>
105+
</widget>
106+
</item>
107+
<item row="4" column="1">
108+
<widget class="QLabel" name="label_4">
109+
<property name="font">
110+
<font>
111+
<pointsize>15</pointsize>
112+
</font>
113+
</property>
114+
<property name="text">
115+
<string>ColorBar Max</string>
116+
</property>
117+
</widget>
118+
</item>
119+
<item row="8" column="0" colspan="2">
120+
<widget class="QLineEdit" name="cbar_label">
121+
<property name="font">
122+
<font>
123+
<pointsize>15</pointsize>
124+
</font>
125+
</property>
126+
</widget>
127+
</item>
128+
<item row="9" column="0" colspan="2">
129+
<widget class="QPushButton" name="exportFig_pushButton">
130+
<property name="font">
131+
<font>
132+
<pointsize>15</pointsize>
133+
</font>
134+
</property>
135+
<property name="text">
136+
<string>Export Figure</string>
137+
</property>
138+
</widget>
139+
</item>
140+
<item row="2" column="1">
141+
<widget class="QCheckBox" name="reverse_checkBox">
142+
<property name="font">
143+
<font>
144+
<pointsize>15</pointsize>
145+
</font>
146+
</property>
147+
<property name="text">
148+
<string>Reversed</string>
149+
</property>
150+
</widget>
151+
</item>
152+
</layout>
153+
</widget>
154+
<resources/>
155+
<connections/>
156+
</ui>

0 commit comments

Comments
 (0)