29 |
import java.awt.event.ActionListener; |
import java.awt.event.ActionListener; |
30 |
import java.awt.event.KeyEvent; |
import java.awt.event.KeyEvent; |
31 |
|
|
32 |
|
import java.util.logging.Level; |
33 |
import java.util.Vector; |
import java.util.Vector; |
34 |
|
|
35 |
import javax.swing.Action; |
import javax.swing.Action; |
52 |
import net.sf.juife.NavigationPane; |
import net.sf.juife.NavigationPane; |
53 |
|
|
54 |
import org.jsampler.CC; |
import org.jsampler.CC; |
55 |
|
import org.jsampler.Prefs; |
56 |
|
|
57 |
import org.jsampler.view.JSChannel; |
import org.jsampler.view.JSChannel; |
58 |
import org.jsampler.view.JSChannelsPane; |
import org.jsampler.view.JSChannelsPane; |
94 |
MainFrame() { |
MainFrame() { |
95 |
setTitle(i18n.getLabel("MainFrame.title")); |
setTitle(i18n.getLabel("MainFrame.title")); |
96 |
|
|
|
initMainFrame(); |
|
97 |
getContentPane().add(toolbar, BorderLayout.NORTH); |
getContentPane().add(toolbar, BorderLayout.NORTH); |
98 |
getContentPane().add(mainPane); |
getContentPane().add(mainPane); |
99 |
|
|
120 |
|
|
121 |
if(applicationIcon != null) setIconImage(applicationIcon.getImage()); |
if(applicationIcon != null) setIconImage(applicationIcon.getImage()); |
122 |
|
|
123 |
|
initMainFrame(); |
124 |
pack(); |
pack(); |
125 |
|
|
126 |
|
if(Prefs.getSaveWindowProperties()) setSavedSize(); |
127 |
|
else setDefaultSize(); |
128 |
|
} |
129 |
|
|
130 |
|
private void |
131 |
|
initMainFrame() { |
132 |
|
addMenu(); |
133 |
|
handleEvents(); |
134 |
|
} |
135 |
|
|
136 |
|
private void |
137 |
|
setDefaultSize() { |
138 |
Dimension dimension = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); |
Dimension dimension = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); |
139 |
double width = dimension.getWidth(); |
double width = dimension.getWidth(); |
140 |
double height = dimension.getHeight(); |
double height = dimension.getHeight(); |
142 |
} |
} |
143 |
|
|
144 |
private void |
private void |
145 |
initMainFrame() { |
setSavedSize() { |
146 |
addMenu(); |
String s = Prefs.getWindowSizeAndLocation(); |
147 |
handleEvents(); |
if(s == null) { |
148 |
|
setDefaultSize(); |
149 |
|
return; |
150 |
|
} |
151 |
|
|
152 |
|
try { |
153 |
|
int i = s.indexOf(','); |
154 |
|
int x = Integer.parseInt(s.substring(0, i)); |
155 |
|
|
156 |
|
s = s.substring(i + 1); |
157 |
|
i = s.indexOf(','); |
158 |
|
int y = Integer.parseInt(s.substring(0, i)); |
159 |
|
|
160 |
|
s = s.substring(i + 1); |
161 |
|
i = s.indexOf(','); |
162 |
|
int width = Integer.parseInt(s.substring(0, i)); |
163 |
|
|
164 |
|
s = s.substring(i + 1); |
165 |
|
int height = Integer.parseInt(s); |
166 |
|
|
167 |
|
setBounds(x, y, width, height); |
168 |
|
} catch(Exception x) { |
169 |
|
String msg = "Parsing of window size and location string failed"; |
170 |
|
CC.getLogger().log(Level.INFO, msg, x); |
171 |
|
setDefaultSize(); |
172 |
|
} |
173 |
|
|
174 |
|
if(Prefs.getWindowMaximized()) |
175 |
|
setExtendedState(getExtendedState() | MAXIMIZED_BOTH); |
176 |
} |
} |
177 |
|
|
178 |
private void |
private void |
235 |
new JCheckBoxMenuItem(i18n.getMenuLabel("view.toolbar")); |
new JCheckBoxMenuItem(i18n.getMenuLabel("view.toolbar")); |
236 |
|
|
237 |
m.add(cbmi); |
m.add(cbmi); |
|
cbmi.setState(true); |
|
238 |
cbmi.addActionListener(new ActionListener() { |
cbmi.addActionListener(new ActionListener() { |
239 |
public void |
public void |
240 |
actionPerformed(ActionEvent e) { |
actionPerformed(ActionEvent e) { showToolbar(cbmi.getState()); } |
|
if(cbmi.getState()) |
|
|
getContentPane().add(toolbar, BorderLayout.NORTH); |
|
|
else getContentPane().remove(toolbar); |
|
|
|
|
|
validate(); |
|
|
repaint(); |
|
|
} |
|
241 |
}); |
}); |
242 |
|
|
243 |
|
boolean b = ClassicPrefs.shouldShowToolbar(); |
244 |
|
cbmi.setSelected(b); |
245 |
|
showToolbar(b); |
246 |
|
|
247 |
final JCheckBoxMenuItem cbmi1 = |
final JCheckBoxMenuItem cbmi1 = |
248 |
new JCheckBoxMenuItem(i18n.getMenuLabel("view.leftPane")); |
new JCheckBoxMenuItem(i18n.getMenuLabel("view.leftPane")); |
249 |
|
|
250 |
m.add(cbmi1); |
m.add(cbmi1); |
|
cbmi1.setState(true); |
|
251 |
cbmi1.addActionListener(new ActionListener() { |
cbmi1.addActionListener(new ActionListener() { |
252 |
public void |
public void |
253 |
actionPerformed(ActionEvent e) { showLeftPane(cbmi1.getState()); } |
actionPerformed(ActionEvent e) { showLeftPane(cbmi1.getState()); } |
254 |
}); |
}); |
255 |
|
|
256 |
|
b = ClassicPrefs.shouldShowLeftPane(); |
257 |
|
cbmi1.setSelected(b); |
258 |
|
showLeftPane(b); |
259 |
|
|
260 |
final JCheckBoxMenuItem cbmi2 = |
final JCheckBoxMenuItem cbmi2 = |
261 |
new JCheckBoxMenuItem(i18n.getMenuLabel("view.statusbar")); |
new JCheckBoxMenuItem(i18n.getMenuLabel("view.statusbar")); |
262 |
|
|
263 |
m.add(cbmi2); |
m.add(cbmi2); |
|
cbmi2.setState(true); |
|
264 |
cbmi2.addActionListener(new ActionListener() { |
cbmi2.addActionListener(new ActionListener() { |
265 |
public void |
public void |
266 |
actionPerformed(ActionEvent e) { |
actionPerformed(ActionEvent e) { showStatusbar(cbmi2.getState()); } |
|
statusbar.setVisible(cbmi2.getState()); |
|
|
} |
|
267 |
}); |
}); |
268 |
|
b = ClassicPrefs.shouldShowStatusbar(); |
269 |
|
cbmi2.setSelected(b); |
270 |
|
showStatusbar(b); |
271 |
|
|
272 |
// Channels |
// Channels |
273 |
m = new JMenu(i18n.getMenuLabel("channels")); |
m = new JMenu(i18n.getMenuLabel("channels")); |
398 |
} |
} |
399 |
|
|
400 |
private void |
private void |
401 |
|
handleEvents() { |
402 |
|
tabbedPane.addChangeListener(this); |
403 |
|
} |
404 |
|
|
405 |
|
private void |
406 |
|
showToolbar(boolean b) { |
407 |
|
if(b) getContentPane().add(toolbar, BorderLayout.NORTH); |
408 |
|
else getContentPane().remove(toolbar); |
409 |
|
|
410 |
|
ClassicPrefs.setShowToolbar(b); |
411 |
|
|
412 |
|
validate(); |
413 |
|
repaint(); |
414 |
|
} |
415 |
|
|
416 |
|
private void |
417 |
|
showStatusbar(boolean b) { |
418 |
|
ClassicPrefs.setShowStatusbar(b); |
419 |
|
statusbar.setVisible(b); |
420 |
|
} |
421 |
|
|
422 |
|
private void |
423 |
showLeftPane(boolean b) { |
showLeftPane(boolean b) { |
424 |
|
ClassicPrefs.setShowLeftPane(b); |
425 |
|
|
426 |
mainPane.remove(splitPane); |
mainPane.remove(splitPane); |
427 |
mainPane.remove(channelsPane); |
mainPane.remove(channelsPane); |
428 |
|
|
437 |
repaint(); |
repaint(); |
438 |
} |
} |
439 |
|
|
|
private void |
|
|
handleEvents() { |
|
|
tabbedPane.addChangeListener(this); |
|
|
} |
|
|
|
|
440 |
public void |
public void |
441 |
addChannelsPane(JSChannelsPane chnPane) { |
addChannelsPane(JSChannelsPane chnPane) { |
442 |
insertChannelsPane(chnPane, getChannelsPaneCount()); |
insertChannelsPane(chnPane, getChannelsPaneCount()); |