Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRolf Theunissen2018-03-29 10:23:53 +0000
committerAlexander Kurtakov2018-04-11 12:35:58 +0000
commit148086d9b53e0d2c51fe0087cd4acad1f77878ba (patch)
tree1ae1bc6d8a7e8651b8f893b027542b03b0bd6a54 /bundles
parent6f5d313bd9f6941439cca36fbb00817997e728cb (diff)
downloadeclipse.platform.swt-148086d9b53e0d2c51fe0087cd4acad1f77878ba.tar.gz
eclipse.platform.swt-148086d9b53e0d2c51fe0087cd4acad1f77878ba.tar.xz
eclipse.platform.swt-148086d9b53e0d2c51fe0087cd4acad1f77878ba.zip
Bug 488431 - Provide SWT/GTK3 port on Windows
Graceful errors for features not implemented in SWT/GTK-Win32 Change-Id: Ib54d2dbba9f4aac89b2edb1ff135e0e28d39f7d8 Signed-off-by: Rolf Theunissen <rolf.theunissen@altran.com>
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT AWT/gtk/org/eclipse/swt/awt/SWT_AWT.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Browser/gtk/org/eclipse/swt/browser/BrowserFactory.java3
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT OpenGL/gtk/org/eclipse/swt/opengl/GLCanvas.java1
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_win32.mak9
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/PrintDialog.java1
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java2
6 files changed, 15 insertions, 3 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT AWT/gtk/org/eclipse/swt/awt/SWT_AWT.java b/bundles/org.eclipse.swt/Eclipse SWT AWT/gtk/org/eclipse/swt/awt/SWT_AWT.java
index 702c2ef441..1d49114863 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT AWT/gtk/org/eclipse/swt/awt/SWT_AWT.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT AWT/gtk/org/eclipse/swt/awt/SWT_AWT.java
@@ -144,6 +144,7 @@ public static Frame getFrame (Composite parent) {
* @since 3.0
*/
public static Frame new_Frame (final Composite parent) {
+ if (OS.IsWin32) SWT.error (SWT.ERROR_NOT_IMPLEMENTED);
if (parent == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
if ((parent.getStyle () & SWT.EMBEDDED) == 0) {
SWT.error (SWT.ERROR_INVALID_ARGUMENT);
@@ -264,6 +265,7 @@ public static Frame new_Frame (final Composite parent) {
* @since 3.0
*/
public static Shell new_Shell (final Display display, final Canvas parent) {
+ if (OS.IsWin32) SWT.error (SWT.ERROR_NOT_IMPLEMENTED);
if (display == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
if (parent == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
long /*int*/ handle = 0;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/gtk/org/eclipse/swt/browser/BrowserFactory.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/gtk/org/eclipse/swt/browser/BrowserFactory.java
index 97e0e46294..0e0056a5cc 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Browser/gtk/org/eclipse/swt/browser/BrowserFactory.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/gtk/org/eclipse/swt/browser/BrowserFactory.java
@@ -10,9 +10,12 @@
*******************************************************************************/
package org.eclipse.swt.browser;
+import org.eclipse.swt.internal.gtk.*;
+
class BrowserFactory {
WebBrowser createWebBrowser (int style) {
+ if (OS.IsWin32) return null;
boolean webkitInstalled = WebKit.IsInstalled ();
if (!webkitInstalled) return null;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/gtk/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/gtk/org/eclipse/swt/opengl/GLCanvas.java
index 05fc10ef1a..2529d28343 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/gtk/org/eclipse/swt/opengl/GLCanvas.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/gtk/org/eclipse/swt/opengl/GLCanvas.java
@@ -49,6 +49,7 @@ public class GLCanvas extends Canvas {
*/
public GLCanvas (Composite parent, int style, GLData data) {
super (parent, style);
+ if (OS.IsWin32) SWT.error (SWT.ERROR_NOT_IMPLEMENTED);
if (data == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
int glxAttrib [] = new int [MAX_ATTRIBUTES];
int pos = 0;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_win32.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_win32.mak
index ee087017c5..64e97ba958 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_win32.mak
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_win32.mak
@@ -7,9 +7,14 @@
#
# Contributors:
# IBM Corporation - initial API and implementation
+# Rolf Theunissen - SWT/GTK port on Windows
#*******************************************************************************
-# Makefile for creating SWT libraries for Linux GTK
+# Makefile for creating SWT libraries for win32 GTK
+
+# rewrite backslashes to slashes in paths
+JAVA_HOME := $(subst \,/,$(JAVA_HOME))
+OUTPUT_DIR := $(subst \,/,$(OUTPUT_DIR))
#SWT_LIB_DEBUG=1 # to debug glue code in /bundles/org.eclipse.swt/bin/library. E.g os_custom.c:swt_fixed_forall(..)
# Can be set via environment like: export SWT_LIB_DEBUG=1
@@ -53,7 +58,7 @@ else
GTKLIBS = `pkg-config --libs gtk+-$(GTK_VERSION) gthread-2.0` $(XLIB64)
endif
-AWT_LFLAGS = -shared ${SWT_LFLAGS}
+AWT_LFLAGS = -shared ${SWT_LFLAGS}
AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt
ATKCFLAGS = `pkg-config --cflags atk gtk+-$(GTK_VERSION)`
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/PrintDialog.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/PrintDialog.java
index e35613a97e..567a414d4c 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/PrintDialog.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/PrintDialog.java
@@ -93,6 +93,7 @@ public PrintDialog (Shell parent) {
public PrintDialog (Shell parent, int style) {
super (parent, checkStyleBit (parent, style));
checkSubclass ();
+ if (OS.IsWin32) SWT.error (SWT.ERROR_NOT_IMPLEMENTED);
}
/**
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java
index a26da90a55..2929dde46b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java
@@ -63,7 +63,7 @@ public final class Printer extends Device {
static final String GTK_LPR_BACKEND = "GtkPrintBackendLpr"; //$NON-NLS-1$
static final String GTK_FILE_BACKEND = "GtkPrintBackendFile"; //$NON-NLS-1$
- static boolean disablePrinting = System.getProperty("org.eclipse.swt.internal.gtk.disablePrinting") != null; //$NON-NLS-1$
+ static boolean disablePrinting = OS.IsWin32 || System.getProperty("org.eclipse.swt.internal.gtk.disablePrinting") != null; //$NON-NLS-1$
static void gtk_init() {
if (OS.GLIB_VERSION < OS.VERSION(2, 32, 0)) {

Back to the top