Changeset 10340 in josm for trunk/src/org/openstreetmap/josm/gui/MainApplication.java
- Timestamp:
- 2016-06-08T09:33:20+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/MainApplication.java
r10296 r10340 6 6 7 7 import java.awt.Dimension; 8 import java.awt.Image;9 import java.awt.Toolkit;10 import java.awt.event.WindowAdapter;11 import java.awt.event.WindowEvent;12 8 import java.io.File; 13 9 import java.io.IOException; … … 33 29 import java.util.Collection; 34 30 import java.util.EnumMap; 35 import java.util.LinkedList;36 31 import java.util.List; 37 32 import java.util.Locale; … … 41 36 import java.util.concurrent.Callable; 42 37 43 import javax.swing.JFrame;44 38 import javax.swing.JOptionPane; 45 39 import javax.swing.RepaintManager; … … 70 64 import org.openstreetmap.josm.tools.HttpClient; 71 65 import org.openstreetmap.josm.tools.I18n; 72 import org.openstreetmap.josm.tools.ImageProvider;73 66 import org.openstreetmap.josm.tools.OsmUrlToBounds; 74 67 import org.openstreetmap.josm.tools.PlatformHookWindows; 75 68 import org.openstreetmap.josm.tools.Utils; 69 import org.openstreetmap.josm.tools.WindowGeometry; 76 70 import org.openstreetmap.josm.tools.bugreport.BugReportExceptionHandler; 77 71 … … 86 80 public class MainApplication extends Main { 87 81 82 private MainFrame mainFrame; 83 88 84 /** 89 * Constructs a new {@code MainApplication} .85 * Constructs a new {@code MainApplication} without a window. 90 86 */ 91 87 public MainApplication() { 92 // Allow subclassing (see JOSM.java) 88 // Allow subclassing (see JOSM.java) 89 this(null); 93 90 } 94 91 … … 96 93 * Constructs a main frame, ready sized and operating. Does not display the frame. 97 94 * @param mainFrame The main JFrame of the application 95 * @since 10340 98 96 */ 99 public MainApplication(JFrame mainFrame) { 100 addListener(); 101 mainFrame.setContentPane(contentPanePrivate); 102 mainFrame.setJMenuBar(menu); 103 geometry.applySafe(mainFrame); 104 List<Image> l = new LinkedList<>(); 105 l.add(ImageProvider.get("logo_16x16x32").getImage()); 106 l.add(ImageProvider.get("logo_16x16x8").getImage()); 107 l.add(ImageProvider.get("logo_32x32x32").getImage()); 108 l.add(ImageProvider.get("logo_32x32x8").getImage()); 109 l.add(ImageProvider.get("logo_48x48x32").getImage()); 110 l.add(ImageProvider.get("logo_48x48x8").getImage()); 111 l.add(ImageProvider.get("logo").getImage()); 112 mainFrame.setIconImages(l); 113 mainFrame.addWindowListener(new WindowAdapter() { 114 @Override 115 public void windowClosing(final WindowEvent arg0) { 116 Main.exitJosm(true, 0); 117 } 118 }); 119 mainFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 97 public MainApplication(MainFrame mainFrame) { 98 this.mainFrame = mainFrame; 99 } 100 101 @Override 102 protected void initializeMainWindow() { 103 if (mainFrame != null) { 104 mainFrame.initialize(); 105 106 menu = mainFrame.getMenu(); 107 } else { 108 // required for running some tests. 109 menu = new MainMenu(); 110 } 111 } 112 113 @Override 114 protected void shutdown() { 115 mainFrame.storeState(); 116 super.shutdown(); 120 117 } 121 118 … … 397 394 I18n.setupLanguageFonts(); 398 395 399 final JFrame mainFrame = new JFrame(tr("Java OpenStreetMap Editor")); 396 WindowGeometry geometry = WindowGeometry.mainWindow("gui.geometry", 397 args.containsKey(Option.GEOMETRY) ? args.get(Option.GEOMETRY).iterator().next() : null, 398 !args.containsKey(Option.NO_MAXIMIZE) && Main.pref.getBoolean("gui.maximized", false)); 399 final MainFrame mainFrame = new MainFrame(contentPanePrivate, geometry); 400 400 Main.parent = mainFrame; 401 401 … … 464 464 monitor.indeterminateSubTask(tr("Creating main GUI")); 465 465 final Main main = new MainApplication(mainFrame); 466 main.initialize(); 466 467 467 468 if (!skipLoadingPlugins) { … … 483 484 boolean maximized = Main.pref.getBoolean("gui.maximized", false); 484 485 if ((!args.containsKey(Option.NO_MAXIMIZE) && maximized) || args.containsKey(Option.MAXIMIZE)) { 485 if (Toolkit.getDefaultToolkit().isFrameStateSupported(JFrame.MAXIMIZED_BOTH)) { 486 Main.windowState = JFrame.MAXIMIZED_BOTH; 487 mainFrame.setExtendedState(Main.windowState); 488 } else { 489 Main.debug("Main window: maximizing not supported"); 490 } 486 mainFrame.setMaximized(true); 491 487 } 492 488 if (main.menu.fullscreenToggleAction != null) {
Note:
See TracChangeset
for help on using the changeset viewer.