-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathDbHtControl.java
More file actions
162 lines (137 loc) · 4.15 KB
/
DbHtControl.java
File metadata and controls
162 lines (137 loc) · 4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
package dbht;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.Serializable;
import javax.swing.JButton;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import PamController.PamControlledUnit;
import PamController.PamControlledUnitSettings;
import PamController.PamSettingManager;
import PamController.PamSettings;
import PamView.PamTabPanel;
import dbht.offline.DbHtSummaryTask;
import offlineProcessing.DataCopyTask;
import offlineProcessing.OLProcessDialog;
import offlineProcessing.OfflineTaskGroup;
public class DbHtControl extends PamControlledUnit implements PamSettings {
public static final int NMEASURES = 3;
public static final String[] measureNames = {"RMS", "0-Peak", "Peak-Peak"};
private DbHtProcess dbHtProcess;
protected DbHtParameters dbHtParameters = new DbHtParameters();
private DbHtTabPanel dBHtTabPanel;
private OfflineTaskGroup offlineTaskGroup;
private OLProcessDialog olProcessDialog;
public DbHtControl(String unitName) {
super("DbHt", unitName);
addPamProcess(dbHtProcess = new DbHtProcess(this));
dBHtTabPanel = new DbHtTabPanel(this);
PamSettingManager.getInstance().registerSettings(this);
dbHtProcess.setupProcess();
if (isViewer) {
setToolbarComponent(new DbHtToolbar());
}
}
/**
* @return the dbHtProcess
*/
public DbHtProcess getDbHtProcess() {
return dbHtProcess;
}
/**
* @return the dbHtParameters
*/
public DbHtParameters getDbHtParameters() {
return dbHtParameters;
}
/* (non-Javadoc)
* @see PamController.PamControlledUnit#getTabPanel()
*/
@Override
public PamTabPanel getTabPanel() {
return dBHtTabPanel;
}
/* (non-Javadoc)
* @see PamController.PamControlledUnit#createDetectionMenu(java.awt.Frame)
*/
@Override
public JMenuItem createDetectionMenu(Frame parentFrame) {
JMenuItem menuItem = new JMenuItem(getUnitName() + " settings...");
menuItem.addActionListener(new SettingsMenu(parentFrame));
return menuItem;
}
@Override
public JMenuItem createDisplayMenu(Frame parentFrame) {
return dBHtTabPanel.createDisplayMenu(parentFrame);
}
private class SettingsMenu implements ActionListener {
Frame parentFrame;
public SettingsMenu(Frame parentFrame) {
this.parentFrame = parentFrame;
}
@Override
public void actionPerformed(ActionEvent arg0) {
settingsMenuAction(parentFrame);
}
}
private class DbHtToolbar extends JPanel {
public DbHtToolbar() {
super();
setLayout(new FlowLayout(FlowLayout.LEFT));
JButton b = new JButton("Export Data ...");
add(b);
b.addActionListener(new OfflineTaskAction());
}
}
private class OfflineTaskAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent arg0) {
runOfflineTasks();
}
}
private void runOfflineTasks() {
if (offlineTaskGroup == null) {
offlineTaskGroup = new OfflineTaskGroup(this, getUnitName());
offlineTaskGroup.setPrimaryDataBlock(dbHtProcess.getMeasureDataBlock());
offlineTaskGroup.addTask(new DataCopyTask<DbHtDataUnit>(dbHtProcess.getMeasureDataBlock()));
DbHtSummaryTask task = new DbHtSummaryTask(this, dbHtProcess.getMeasureDataBlock());
offlineTaskGroup.addTask(task);
}
if (olProcessDialog == null) {
olProcessDialog = new OLProcessDialog(getGuiFrame(), offlineTaskGroup, "dBHt Data Export");
}
olProcessDialog.setVisible(true);
}
public void settingsMenuAction(Frame parentFrame) {
DbHtParameters newParams = DbHtDialog.showDialog(this, parentFrame);
if (newParams != null) {
dbHtParameters = newParams.clone();
dbHtProcess.setupProcess();
}
}
@Override
public Serializable getSettingsReference() {
return dbHtParameters;
}
@Override
public long getSettingsVersion() {
return DbHtParameters.serialVersionUID;
}
@Override
public boolean restoreSettings(
PamControlledUnitSettings pamControlledUnitSettings) {
dbHtParameters = ((DbHtParameters) pamControlledUnitSettings.getSettings()).clone();
return true;
}
@Override
public String getModuleSummary() {
// TODO Auto-generated method stub
return super.getModuleSummary();
}
@Override
public Object getShortUnitType() {
return "DBHT";
}
}