Changeset 3028


Ignore:
Timestamp:
01/14/12 22:31:00 (4 months ago)
Author:
kasper
Message:

Ticket #730: Applied the "macify" library to add integration with top-menu in Mac OS

Location:
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/bootstrap/Bootstrap.java

    r3027 r3028  
    140140                        return; 
    141141                } else { 
     142                        // initialize Mac OS specific settings 
     143                        final MacOSManager macOsManager = injector.getInstance(MacOSManager.class); 
     144                        macOsManager.init(); 
     145                         
    142146                        // run in GUI mode 
    143147                        final AnalysisJobBuilderWindow analysisJobBuilderWindow = injector.getInstance(AnalysisJobBuilderWindow.class); 
     
    179183                        final HttpClient httpClient = injector.getInstance(HttpClient.class); 
    180184 
    181                         // initialize Mac OS specific settings 
    182                         final MacOSManager macOsManager = injector.getInstance(MacOSManager.class); 
    183                         macOsManager.init(); 
    184  
    185185                        // set up HTTP service for ExtensionSwap installation 
    186186                        loadExtensionSwapService(userPreferences, windowContext, configuration, httpClient, usageLogger); 
  • DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/macos/MacOSManager.java

    r3027 r3028  
    2929import org.eobjects.datacleaner.windows.OptionsDialog; 
    3030import org.simplericity.macify.eawt.Application; 
    31 import org.simplericity.macify.eawt.ApplicationAdapter; 
    3231import org.simplericity.macify.eawt.ApplicationEvent; 
     32import org.simplericity.macify.eawt.ApplicationListener; 
    3333import org.simplericity.macify.eawt.DefaultApplication; 
    3434import org.slf4j.Logger; 
     
    6565                        return; 
    6666                } 
    67                  
     67 
     68                System.setProperty("apple.laf.useScreenMenuBar", "true"); 
     69 
    6870                app.addAboutMenuItem(); 
    6971                app.setEnabledAboutMenu(true); 
    7072                app.addPreferencesMenuItem(); 
    7173                app.setEnabledPreferencesMenu(true); 
    72                 app.addApplicationListener(new ApplicationAdapter() { 
    73                         @Override 
    74                         public void handleAbout(ApplicationEvent event) { 
    75                                 AboutDialog dialog = new AboutDialog(_windowContext); 
    76                                 dialog.setVisible(true); 
    77                                 event.setHandled(true); 
     74                app.addApplicationListener(new DCApplicationListener()); 
     75        } 
     76 
     77        public class DCApplicationListener implements ApplicationListener { 
     78 
     79                @Override 
     80                public void handleAbout(ApplicationEvent event) { 
     81                        AboutDialog dialog = new AboutDialog(_windowContext); 
     82                        dialog.setVisible(true); 
     83                        event.setHandled(true); 
     84                } 
     85 
     86                @Override 
     87                public void handleOpenFile(ApplicationEvent event) { 
     88                        final String filename = event.getFilename(); 
     89                        final OpenAnalysisJobActionListener actionListener = _openAnalysisJobActionListenerProvider.get(); 
     90                        actionListener.openFile(new File(filename)); 
     91                } 
     92 
     93                @Override 
     94                public void handlePreferences(ApplicationEvent event) { 
     95                        OptionsDialog dialog = _optionsDialogProvider.get(); 
     96                        dialog.setVisible(true); 
     97                } 
     98 
     99                @Override 
     100                public void handleQuit(ApplicationEvent event) { 
     101                        if (_windowContext.showExitDialog()) { 
     102                                _windowContext.exit(); 
    78103                        } 
     104                        event.setHandled(true); 
     105                } 
    79106 
    80                         @Override 
    81                         public void handleOpenFile(ApplicationEvent event) { 
    82                                 final String filename = event.getFilename(); 
    83                                 final OpenAnalysisJobActionListener actionListener = _openAnalysisJobActionListenerProvider.get(); 
    84                                 actionListener.openFile(new File(filename)); 
    85                         } 
     107                @Override 
     108                public void handleOpenApplication(ApplicationEvent event) { 
     109                } 
    86110 
    87                         @Override 
    88                         public void handlePreferences(ApplicationEvent event) { 
    89                                 OptionsDialog dialog = _optionsDialogProvider.get(); 
    90                                 dialog.setVisible(true); 
    91                         } 
     111                @Override 
     112                public void handlePrintFile(ApplicationEvent event) { 
     113                } 
    92114 
    93                         @Override 
    94                         public void handleQuit(ApplicationEvent event) { 
    95                                 if (_windowContext.showExitDialog()) { 
    96                                         _windowContext.exit(); 
    97                                 } 
    98                                 event.setHandled(true); 
    99                         } 
    100                 }); 
     115                @Override 
     116                public void handleReOpenApplication(ApplicationEvent event) { 
     117                } 
    101118        } 
    102119} 
Note: See TracChangeset for help on using the changeset viewer.