This is an automated email from the git hooks/post-receive script. pini pushed a commit to tag upstream/1.1.0_beta1 in repository sikuli.
commit 3c9d3ca795e96698cd00cd1907ad5ddb5f6b71e1 Author: Raimund Hocke <[email protected]> Date: Sat Mar 1 21:26:13 2014 +0100 revised the use of NativeSupport (prior NativeLayer...) - currently only used on Mac --- IDE/src/main/java/org/sikuli/ide/NativeLayer.java | 13 ---- .../java/org/sikuli/ide/NativeLayerForLinux.java | 18 ----- .../java/org/sikuli/ide/NativeLayerForMac.java | 79 ---------------------- .../java/org/sikuli/ide/NativeLayerForWindows.java | 18 ----- .../main/java/org/sikuli/ide/NativeSupport.java | 13 ++++ .../main/java/org/sikuli/ide/NativeSupportMac.java | 65 ++++++++++++++++++ IDE/src/main/java/org/sikuli/ide/SikuliIDE.java | 34 ++++++---- pom.xml | 4 +- 8 files changed, 102 insertions(+), 142 deletions(-) diff --git a/IDE/src/main/java/org/sikuli/ide/NativeLayer.java b/IDE/src/main/java/org/sikuli/ide/NativeLayer.java deleted file mode 100755 index 0c938ec..0000000 --- a/IDE/src/main/java/org/sikuli/ide/NativeLayer.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright 2010-2013, Sikuli.org - * Released under the MIT License. - * - * modified RaiMan 2013 - */ -package org.sikuli.ide; - -public interface NativeLayer { - public void initApp(); - public void initIDE(SikuliIDE ide); -} - diff --git a/IDE/src/main/java/org/sikuli/ide/NativeLayerForLinux.java b/IDE/src/main/java/org/sikuli/ide/NativeLayerForLinux.java deleted file mode 100755 index 4d5565f..0000000 --- a/IDE/src/main/java/org/sikuli/ide/NativeLayerForLinux.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2010-2013, Sikuli.org - * Released under the MIT License. - * - * modified RaiMan 2013 - */ -package org.sikuli.ide; - -public class NativeLayerForLinux implements NativeLayer { - - @Override - public void initApp() { - } - - @Override - public void initIDE(SikuliIDE ide) { - } -} diff --git a/IDE/src/main/java/org/sikuli/ide/NativeLayerForMac.java b/IDE/src/main/java/org/sikuli/ide/NativeLayerForMac.java deleted file mode 100755 index 84aa5b9..0000000 --- a/IDE/src/main/java/org/sikuli/ide/NativeLayerForMac.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2010-2013, Sikuli.org - * Released under the MIT License. - * - * modified RaiMan 2013 - */ -package org.sikuli.ide; - -import com.apple.eawt.*; -import java.io.File; -import java.util.List; -import org.sikuli.basics.Debug; - -// http://lists.apple.com/archives/mac-games-dev/2001/Sep/msg00113.html -// full key table: http://www.mactech.com/articles/mactech/Vol.04/04.12/Macinkeys/ -// modifiers code: http://www.mactech.com/macintosh-c/chap02-1.html -public class NativeLayerForMac implements NativeLayer, AboutHandler, PreferencesHandler, OpenFilesHandler, QuitHandler { - - private static final String me = "NativeLayerForMac: "; - - @Override - public void initIDE(final SikuliIDE ide) { - } - - @Override - public void handleAbout(AppEvent.AboutEvent evt) { - Debug.log(5, "NativeLayerforMac: aboutHandler entered"); - SikuliIDE.getInstance().doAbout(); - } - - @Override - public void handlePreferences(AppEvent.PreferencesEvent evt) { - SikuliIDE.getInstance().showPreferencesWindow(); - } - - @Override - public void openFiles(AppEvent.OpenFilesEvent evt) { - List<File> fnameList = evt.getFiles(); - final String fname = fnameList.get(0).getPath(); - Debug.log(2, "opening " + fname); - if (fname.endsWith(".skl")) { - SikuliIDE._runningSkl = true; - Thread t = new Thread() { - @Override - public void run() { - try { - SikuliIDE.main(new String[] {fname}); - } catch (Exception e) { - Debug.error(me + "openFiles: Problem starting IDE\n%s", e.getMessage()); - } - } - }; - t.setDaemon(false); - t.start(); - } else if (fname.endsWith(".sikuli")) { - SikuliIDE ide = SikuliIDE.getInstance(null); - ide.restoreScriptFromSession(fname); - } - } - - @Override - public void handleQuitRequestWith(AppEvent.QuitEvent evt, QuitResponse resp) { - if (! SikuliIDE.getInstance().quit()) resp.cancelQuit(); - else resp.performQuit(); - } - - @Override - public void initApp() { - - Application.getApplication().setAboutHandler(this); - Application.getApplication().setPreferencesHandler(this); - Application.getApplication().setOpenFileHandler(this); - Application.getApplication().setQuitHandler(this); - - - System.setProperty("apple.laf.useScreenMenuBar", "true"); - System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Sikuli IDE"); - } -} diff --git a/IDE/src/main/java/org/sikuli/ide/NativeLayerForWindows.java b/IDE/src/main/java/org/sikuli/ide/NativeLayerForWindows.java deleted file mode 100755 index ef2b510..0000000 --- a/IDE/src/main/java/org/sikuli/ide/NativeLayerForWindows.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2010-2013, Sikuli.org - * Released under the MIT License. - * - * modified RaiMan 2013 - */ -package org.sikuli.ide; - -public class NativeLayerForWindows implements NativeLayer { - - @Override - public void initApp() { - } - - @Override - public void initIDE(SikuliIDE ide) { - } -} diff --git a/IDE/src/main/java/org/sikuli/ide/NativeSupport.java b/IDE/src/main/java/org/sikuli/ide/NativeSupport.java new file mode 100755 index 0000000..464d056 --- /dev/null +++ b/IDE/src/main/java/org/sikuli/ide/NativeSupport.java @@ -0,0 +1,13 @@ +/* + * Copyright 2010-2014, Sikuli.org, sikulix.com + * Released under the MIT License. + * + * modified RaiMan + */ +package org.sikuli.ide; + +public interface NativeSupport { + public void initApp(boolean debug); + public void initIDE(SikuliIDE ide); +} + diff --git a/IDE/src/main/java/org/sikuli/ide/NativeSupportMac.java b/IDE/src/main/java/org/sikuli/ide/NativeSupportMac.java new file mode 100644 index 0000000..d0f549b --- /dev/null +++ b/IDE/src/main/java/org/sikuli/ide/NativeSupportMac.java @@ -0,0 +1,65 @@ +/* + * Copyright 2010-2014, Sikuli.org, sikulix.com + * Released under the MIT License. + * + * modified RaiMan + */ +package org.sikuli.ide; + +import com.apple.eawt.*; + +public class NativeSupportMac implements NativeSupport, AboutHandler, PreferencesHandler, QuitHandler { + + private boolean debug = false; + + private void p(String msg, Object... args) { + if (debug) { + System.out.println(String.format(msg, args)); + } + } + + @Override + public void handleAbout(AppEvent.AboutEvent evt) { + p("[debug] IDE: NativeSupportMac: aboutHandler entered"); + SikuliIDE.getInstance().doAbout(); + } + + @Override + public void handlePreferences(AppEvent.PreferencesEvent evt) { + p("[debug] IDE: NativeSupportMac: prefsHandler entered"); + SikuliIDE.getInstance().showPreferencesWindow(); + } + + @Override + public void handleQuitRequestWith(AppEvent.QuitEvent evt, QuitResponse resp) { + p("[debug] IDE: NativeSupportMac: quitHandler entered"); + if (!SikuliIDE.getInstance().quit()) { + resp.cancelQuit(); + } else { + resp.performQuit(); + } + } + + @Override + public void initApp(boolean d) { + debug = d; + Exception e = null; + try { + Application.getApplication().setAboutHandler(this); + Application.getApplication().setPreferencesHandler(this); + Application.getApplication().setQuitHandler(this); + p("[debug] IDE: NativeSupportMac: set handler success"); + } catch (Exception ex) { + e = ex; + } + if (e != null) { + p("[error] IDE: NativeSupportMac: set handler problem\n%s", e.getMessage()); + } + System.setProperty("apple.laf.useScreenMenuBar", "true"); + System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Sikuli IDE"); + } + + @Override + public void initIDE(SikuliIDE ide) { + } +} \ No newline at end of file diff --git a/IDE/src/main/java/org/sikuli/ide/SikuliIDE.java b/IDE/src/main/java/org/sikuli/ide/SikuliIDE.java index e466a12..f6df9b4 100755 --- a/IDE/src/main/java/org/sikuli/ide/SikuliIDE.java +++ b/IDE/src/main/java/org/sikuli/ide/SikuliIDE.java @@ -54,7 +54,6 @@ import org.sikuli.script.Key; public class SikuliIDE extends JFrame { private static String me = "IDE"; - private static String mem = ""; private static int lvl = 3; private static void log(int level, String message, Object... args) { @@ -69,7 +68,7 @@ public class SikuliIDE extends JFrame { final static int WARNING_DO_NOTHING = 0; final static int IS_SAVE_ALL = 3; static boolean _runningSkl = false; - private static NativeLayer _native; + private static NativeSupport nativeSupport; private Dimension _windowSize = null; private Point _windowLocation = null; private boolean smallScreen = false; @@ -267,8 +266,7 @@ public class SikuliIDE extends JFrame { Settings.showJavaInfo(); Settings.printArgs(); -// we should open the IDE - initNativeLayer(); + initNativeSupport(); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); //UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); @@ -276,8 +274,8 @@ public class SikuliIDE extends JFrame { log(-1, "Problem loading UIManager!\nError: %s", e.getMessage()); } - if (Settings.isMac()) { - _native.initApp(); + if (nativeSupport != null) { + nativeSupport.initApp(Debug.getDebugLevel() > 2 ? true : false); try { Thread.sleep(1000); } catch (InterruptedException ie) { @@ -299,7 +297,9 @@ public class SikuliIDE extends JFrame { prefs.setDefaults(prefs.getUserType()); } - _native.initIDE(this); + if (nativeSupport != null) { + nativeSupport.initIDE(this); + } IResourceLoader loader = FileManager.getNativeLoader("basic", args); loader.check(Settings.SIKULI_LIB); @@ -412,7 +412,17 @@ public class SikuliIDE extends JFrame { super.setTitle(SikuliIDESettings.SikuliVersion + " - " + title); } - static private void initNativeLayer() { + static private void initNativeSupport() { +// String jb = FileManager.getJarName(); +// ClassPool pool = ClassPool.getDefault(); +// try { +// pool.appendClassPath(jb); +// pool.find("resources.NativeSupportMac"); +// CtClass nsm = pool.get("resources.NativeSupportMac"); +// nativeSupport = (NativeSupport) nsm.toClass().newInstance(); +// } catch (Exception ex) { +// log(-1, "JavAssist: problem:%s", ex.getMessage()); +// } String os = "unknown"; if (Settings.isWindows()) { os = "Windows"; @@ -421,14 +431,14 @@ public class SikuliIDE extends JFrame { } else if (Settings.isLinux()) { os = "Linux"; } - String className = "org.sikuli.ide.NativeLayerFor" + os; - + String className = "org.sikuli.ide.NativeSupport" + os; try { Class c = Class.forName(className); Constructor constr = c.getConstructor(); - _native = (NativeLayer) constr.newInstance(); + nativeSupport = (NativeSupport) constr.newInstance(); + log(lvl, "Native support found for " + os); } catch (Exception e) { - log(-1, "Reflection problem: org.sikuli.ide.NativeLayerFor...!\nError: %s", e.getMessage()); + log(-1, "No native support for %s\n%s", os, e.getMessage()); } } diff --git a/pom.xml b/pom.xml index 7a6435c..2de718d 100755 --- a/pom.xml +++ b/pom.xml @@ -37,8 +37,8 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <exclude.nativelayer.mac>NativeLayerForMac.java</exclude.nativelayer.mac> - <exclude.nativelayer.null>NativeLayerForNothing</exclude.nativelayer.null> + <exclude.nativelayer.mac>NativeSupportMac.java</exclude.nativelayer.mac> + <exclude.nativelayer.null>NativeSupportForNothing</exclude.nativelayer.null> <sikuli.jartype>plain.xml</sikuli.jartype> <sikuli.jarname>${project.version}</sikuli.jarname> <sikuli.usedversion>1.1.0-Beta1</sikuli.usedversion> -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/sikuli.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

