package de.aidger.view;
import java.awt.event.ActionEvent;
import javax.swing.ImageIcon;
import com.apple.eawt.AboutHandler;
import com.apple.eawt.AppEvent.AboutEvent;
import com.apple.eawt.AppEvent.PreferencesEvent;
import com.apple.eawt.Application;
import com.apple.eawt.PreferencesHandler;
import de.aidger.controller.ActionNotFoundException;
import de.aidger.controller.ActionRegistry;
import de.aidger.controller.actions.AboutAction;
import de.aidger.controller.actions.SettingsAction;
public final class MacApplication {
public static void initialize() {
Application app = Application.getApplication();
app.setAboutHandler(new MacAboutHandler());
app.setPreferencesHandler(new MacPreferencesHandler());
app.setDockIconImage(new ImageIcon(Object.class.getResource("/de/aidger/res/icons/aidger-icon.png")).getImage());
}
protected static ActionEvent getEvent() {
return new ActionEvent(new Object(), 0, null);
}
public static class MacAboutHandler implements AboutHandler {
@Override
public void handleAbout(AboutEvent arg0) {
try {
ActionRegistry.getInstance().get(AboutAction.class.getName()).actionPerformed(getEvent());
} catch (ActionNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static class MacPreferencesHandler implements PreferencesHandler {
@Override
public void handlePreferences(PreferencesEvent arg0) {
try {
ActionRegistry.getInstance().get(SettingsAction.class.getName()).actionPerformed(getEvent());
} catch (ActionNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}