summaryrefslogtreecommitdiff
path: root/sj2
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2007-07-05 07:06:56 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2007-07-05 07:06:56 +0000
commit7bfccbe43fa6da4aeb330aee3614a46f9983b15e (patch)
treedb224c0b6908a1dee430109fbbf948f1afffa12f /sj2
parente070278c83beb4177d677d1ae496f2236a37bb0b (diff)
INTEGRATION: CWS aquavcl01 (1.26.12); FILE MERGED
2007/04/11 07:51:18 pjanik 1.26.12.5: RESYNC: (1.27-1.28); FILE MERGED 2006/12/31 13:48:09 mox 1.26.12.4: Issue number: #i72385# Apply a better guess at jave interface for quartz. Mimicking the solution in canvas/source/java/aqua/WindowAdapter.java 2006/12/30 19:40:11 pjanik 1.26.12.3: #i72385#: Add Quartz/AQUA specific part. 2006/07/19 08:12:23 pjanik 1.26.12.2: RESYNC: (1.26-1.27); FILE MERGED 2006/01/31 01:00:22 fheckl 1.26.12.1: Allowing a full aqua build
Diffstat (limited to 'sj2')
-rw-r--r--sj2/source/jscpp/sjapplet_impl.cxx28
1 files changed, 22 insertions, 6 deletions
diff --git a/sj2/source/jscpp/sjapplet_impl.cxx b/sj2/source/jscpp/sjapplet_impl.cxx
index f624d5e233..448099f75d 100644
--- a/sj2/source/jscpp/sjapplet_impl.cxx
+++ b/sj2/source/jscpp/sjapplet_impl.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: sjapplet_impl.cxx,v $
*
- * $Revision: 1.28 $
+ * $Revision: 1.29 $
*
- * last change: $Author: obo $ $Date: 2007-03-12 10:46:39 $
+ * last change: $Author: rt $ $Date: 2007-07-05 08:06:56 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -58,7 +58,7 @@
#include "com/sun/star/uno/XComponentContext.hpp"
#include "jvmaccess/classpath.hxx"
-#ifdef UNX
+#if defined(UNX) && !defined(QUARTZ)
#define Time xlib_time
#define Window xlib_window
#define Font xlib_font
@@ -116,7 +116,7 @@ static void throwException() throw(com::sun::star::uno::RuntimeException)
#endif
#ifdef SOLAR_JAVA
-#ifdef UNX
+#if defined (UNX) && !defined(QUARTZ)
struct EmbeddedWindow {
jobject _joWindow;
@@ -189,7 +189,7 @@ EmbeddedWindow::EmbeddedWindow(JNIEnv * pEnv, SystemEnvData const * pEnvData)
#endif
}
-#else
+#else // UNX && !QUARTZ
struct EmbeddedWindow {
jobject _joWindow;
@@ -211,6 +211,22 @@ pEnv->CallVoidMethod(joFrame, jmFrame_rinit, (jint)pEnvData->hWnd); testJava
_joWindow = pEnv->NewGlobalRef(joFrame);
}
+#elif defined QUARTZ
+EmbeddedWindow::EmbeddedWindow(JNIEnv * pEnv, SystemEnvData const * pEnvData) throw(com::sun::star::uno::RuntimeException)
+{
+ /* The WNT code (above) that this code derives from, may be using quite old
+ ways of interacting with native windows. More modern approaches seems to
+ point towards JAWT_* and com.apple.eawt */
+
+jclass jcFrame = pEnv->FindClass("apple/awt/CEmbeddedFrame"); testJavaException(pEnv);
+jmethodID jmFrame_rinit = pEnv->GetMethodID(jcFrame, "<init>", "(I)V"); testJavaException(pEnv);
+
+jobject joFrame = pEnv->AllocObject(jcFrame); testJavaException(pEnv);
+pEnv->CallVoidMethod(joFrame, jmFrame_rinit, (jint)pEnvData->rWindow); testJavaException(pEnv);
+
+_joWindow = pEnv->NewGlobalRef(joFrame);
+}
+
#else
EmbeddedWindow::EmbeddedWindow(JNIEnv * pEnv, SystemEnvData const * pEnvData) throw(com::sun::star::uno::RuntimeException)
@@ -225,7 +241,7 @@ _joWindow = pEnv->NewGlobalRef(joFrame);
#endif
-#endif
+#endif // UNX && !QUARTZ
void EmbeddedWindow::dispose(JNIEnv * pEnv)
{