Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita Nemkin2019-06-12 05:55:33 -0400
committerNiraj Modi2019-06-12 05:58:10 -0400
commita09fd5ce015e751c6e1b365e563e6cba8a65fa3d (patch)
treee362736022053182b5ebfa2bcd8dad89e8c1b519 /bundles/org.eclipse.swt/Eclipse SWT PI
parenta551d9cf6c769c4e64f0c41f5cba6c7e8ef9d193 (diff)
downloadeclipse.platform.swt-a09fd5ce015e751c6e1b365e563e6cba8a65fa3d.tar.gz
eclipse.platform.swt-a09fd5ce015e751c6e1b365e563e6cba8a65fa3d.tar.xz
eclipse.platform.swt-a09fd5ce015e751c6e1b365e563e6cba8a65fa3d.zip
Bug 293230 - [Win32] Support SWT.ICON_SEARCH/CANCEL Text styles
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT PI')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/cancel.icobin0 -> 16398 bytes
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c32
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/search.icobin0 -> 16398 bytes
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt.rc4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java14
7 files changed, 54 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/cancel.ico b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/cancel.ico
new file mode 100644
index 0000000000..d113216165
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/cancel.ico
Binary files differ
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
index ed1dad625c..d02174121c 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
@@ -601,6 +601,22 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(CharUpper)
}
#endif
+#ifndef NO_ChildWindowFromPointEx
+JNIEXPORT jintLong JNICALL OS_NATIVE(ChildWindowFromPointEx)
+ (JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2)
+{
+ POINT _arg1, *lparg1=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, ChildWindowFromPointEx_FUNC);
+ if (arg1) if ((lparg1 = getPOINTFields(env, arg1, &_arg1)) == NULL) goto fail;
+ rc = (jintLong)ChildWindowFromPointEx((HWND)arg0, *lparg1, (UINT)arg2);
+fail:
+ if (arg1 && lparg1) setPOINTFields(env, arg1, lparg1);
+ OS_NATIVE_EXIT(env, that, ChildWindowFromPointEx_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_ChooseColor
JNIEXPORT jboolean JNICALL OS_NATIVE(ChooseColor)
(JNIEnv *env, jclass that, jobject arg0)
@@ -5164,6 +5180,22 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(LoadIcon)
}
#endif
+#ifndef NO_LoadIconMetric
+JNIEXPORT jint JNICALL OS_NATIVE(LoadIconMetric)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jint arg2, jintLongArray arg3)
+{
+ jintLong *lparg3=NULL;
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, LoadIconMetric_FUNC);
+ if (arg3) if ((lparg3 = (*env)->GetIntLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ rc = (jint)LoadIconMetric((HINSTANCE)arg0, (PCWSTR)arg1, arg2, (HICON *)lparg3);
+fail:
+ if (arg3 && lparg3) (*env)->ReleaseIntLongArrayElements(env, arg3, lparg3, 0);
+ OS_NATIVE_EXIT(env, that, LoadIconMetric_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_LoadImage
JNIEXPORT jintLong JNICALL OS_NATIVE(LoadImage)
(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jint arg2, jint arg3, jint arg4, jint arg5)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
index 94546b87c3..451f7bb9cc 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
@@ -65,6 +65,7 @@ char * OS_nativeFunctionNames[] = {
"CertNameToStr",
"CharLower",
"CharUpper",
+ "ChildWindowFromPointEx",
"ChooseColor",
"ChooseFont",
"ClientToScreen",
@@ -427,6 +428,7 @@ char * OS_nativeFunctionNames[] = {
"LoadBitmap",
"LoadCursor",
"LoadIcon",
+ "LoadIconMetric",
"LoadImage",
"LocalFree",
"MAKELPARAM",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
index c5df36e115..4f0ff7b2f9 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
@@ -75,6 +75,7 @@ typedef enum {
CertNameToStr_FUNC,
CharLower_FUNC,
CharUpper_FUNC,
+ ChildWindowFromPointEx_FUNC,
ChooseColor_FUNC,
ChooseFont_FUNC,
ClientToScreen_FUNC,
@@ -437,6 +438,7 @@ typedef enum {
LoadBitmap_FUNC,
LoadCursor_FUNC,
LoadIcon_FUNC,
+ LoadIconMetric_FUNC,
LoadImage_FUNC,
LocalFree_FUNC,
MAKELPARAM_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/search.ico b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/search.ico
new file mode 100644
index 0000000000..5eaf35c21e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/search.ico
Binary files differ
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt.rc b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt.rc
index 651f8dc0cf..3057b6dd33 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt.rc
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt.rc
@@ -50,3 +50,7 @@ BEGIN
VALUE "Translation", 0x409, 1200
END
END
+
+/* Icons for Text widget */
+101 ICON "search.ico"
+102 ICON "cancel.ico"
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
index 19de3759b3..0a20afaeb7 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
@@ -347,6 +347,7 @@ public class OS extends C {
public static final int CS_VREDRAW = 0x1;
public static final int CS_OWNDC = 0x20;
public static final int CW_USEDEFAULT = 0x80000000;
+ public static final int CWP_SKIPINVISIBLE = 0x0001;
public static final String DATETIMEPICK_CLASS = "SysDateTimePick32"; //$NON-NLS-1$
public static final int DCX_CACHE = 0x2;
public static final int DCX_CLIPCHILDREN = 0x8;
@@ -770,6 +771,7 @@ public class OS extends C {
public static final int LGRPID_INSTALLED = 1;
public static final int LIF_ITEMINDEX = 0x1;
public static final int LIF_STATE = 0x2;
+ public static final int LIM_SMALL = 0;
public static final int LIS_FOCUSED = 0x1;
public static final int LIS_ENABLED = 0x2;
public static final int LISS_HOT = 0x2;
@@ -2413,6 +2415,12 @@ public static final native int CertNameToStr (int dwCertEncodingType, CERT_NAME_
public static final native long /*int*/ CharLower (long /*int*/ ch);
/** @param ch cast=(LPWSTR) */
public static final native long /*int*/ CharUpper (long /*int*/ ch);
+/**
+ * @param hWndParent cast=(HWND)
+ * @param pt flags=struct
+ * @param flags cast=(UINT)
+ */
+public static final native long /*int*/ ChildWindowFromPointEx (long /*int*/ hWndParent, POINT pt, int flags);
/** @param lpcc cast=(LPCHOOSECOLORW) */
public static final native boolean ChooseColor (CHOOSECOLOR lpcc);
/** @param chooseFont cast=(LPCHOOSEFONTW) */
@@ -3291,6 +3299,12 @@ public static final native long /*int*/ LoadCursor (long /*int*/ hInstance, long
public static final native long /*int*/ LoadIcon (long /*int*/ hInstance, long /*int*/ lpIconName);
/**
* @param hinst cast=(HINSTANCE)
+ * @param pszName cast=(PCWSTR)
+ * @param phico cast=(HICON *)
+ */
+public static final native int LoadIconMetric (long /*int*/ hinst, long /*int*/ pszName, int lims, long /*int*/ [] phico);
+/**
+ * @param hinst cast=(HINSTANCE)
* @param lpszName cast=(LPWSTR)
*/
public static final native long /*int*/ LoadImage (long /*int*/ hinst, long /*int*/ lpszName, int uType, int cxDesired, int cyDesired, int fuLoad);

Back to the top