23 |
package org.jsampler.view.fantasia; |
package org.jsampler.view.fantasia; |
24 |
|
|
25 |
import java.awt.Dimension; |
import java.awt.Dimension; |
26 |
|
import java.awt.Rectangle; |
27 |
|
|
28 |
import java.awt.event.ActionEvent; |
import java.awt.event.ActionEvent; |
29 |
import java.awt.event.ActionListener; |
import java.awt.event.ActionListener; |
30 |
import java.awt.event.WindowAdapter; |
import java.awt.event.WindowAdapter; |
31 |
import java.awt.event.WindowEvent; |
import java.awt.event.WindowEvent; |
32 |
|
|
|
import java.util.logging.Level; |
|
|
|
|
33 |
import javax.swing.JFrame; |
import javax.swing.JFrame; |
34 |
import javax.swing.JMenu; |
import javax.swing.JMenu; |
35 |
import javax.swing.JMenuBar; |
import javax.swing.JMenuBar; |
37 |
|
|
38 |
import org.jsampler.CC; |
import org.jsampler.CC; |
39 |
import org.jsampler.view.std.JSLscpScriptDlg; |
import org.jsampler.view.std.JSLscpScriptDlg; |
40 |
|
import org.jsampler.view.std.StdUtils; |
41 |
|
|
42 |
import static org.jsampler.view.fantasia.FantasiaI18n.i18n; |
import static org.jsampler.view.fantasia.FantasiaI18n.i18n; |
43 |
import static org.jsampler.view.fantasia.FantasiaPrefs.preferences; |
import static org.jsampler.view.fantasia.FantasiaPrefs.preferences; |
138 |
preferences().setBoolProperty("LSConsoleFrame.windowMaximized", b); |
preferences().setBoolProperty("LSConsoleFrame.windowMaximized", b); |
139 |
if(b) return; |
if(b) return; |
140 |
|
|
141 |
java.awt.Point p = getLocation(); |
StdUtils.saveWindowBounds("LSConsoleFrame", getBounds()); |
|
Dimension d = getSize(); |
|
|
StringBuffer sb = new StringBuffer(); |
|
|
sb.append(p.x).append(',').append(p.y).append(','); |
|
|
sb.append(d.width).append(',').append(d.height); |
|
|
String s = "LSConsoleFrame.windowSizeAndLocation"; |
|
|
preferences().setStringProperty(s, sb.toString()); |
|
142 |
} |
} |
143 |
|
|
144 |
private void |
private void |
151 |
|
|
152 |
private void |
private void |
153 |
setSavedSize() { |
setSavedSize() { |
154 |
String sp = "LSConsoleFrame.windowSizeAndLocation"; |
Rectangle r = StdUtils.getWindowBounds("LSConsoleFrame"); |
155 |
String s = preferences().getStringProperty(sp, null); |
if(r == null) { |
|
if(s == null) { |
|
156 |
setDefaultSize(); |
setDefaultSize(); |
157 |
return; |
return; |
158 |
} |
} |
159 |
|
|
160 |
try { |
setBounds(r); |
161 |
int i = s.indexOf(','); |
} |
162 |
int x = Integer.parseInt(s.substring(0, i)); |
|
163 |
|
@Override |
164 |
s = s.substring(i + 1); |
public void |
165 |
i = s.indexOf(','); |
setVisible(boolean b) { |
166 |
int y = Integer.parseInt(s.substring(0, i)); |
if(b == isVisible()) return; |
167 |
|
|
168 |
s = s.substring(i + 1); |
super.setVisible(b); |
|
i = s.indexOf(','); |
|
|
int width = Integer.parseInt(s.substring(0, i)); |
|
|
|
|
|
s = s.substring(i + 1); |
|
|
int height = Integer.parseInt(s); |
|
|
|
|
|
setBounds(x, y, width, height); |
|
|
} catch(Exception x) { |
|
|
String msg = "Parsing of window size and location string failed"; |
|
|
CC.getLogger().log(Level.INFO, msg, x); |
|
|
setDefaultSize(); |
|
|
} |
|
169 |
|
|
170 |
if(preferences().getBoolProperty("LSConsoleFrame.windowMaximized")) { |
if(b && preferences().getBoolProperty("LSConsoleFrame.windowMaximized")) { |
171 |
setExtendedState(getExtendedState() | MAXIMIZED_BOTH); |
setExtendedState(getExtendedState() | MAXIMIZED_BOTH); |
172 |
} |
} |
173 |
} |
} |