summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Heidrich <fheidric>2003-08-08 16:21:12 +0000
committerFelipe Heidrich <fheidric>2003-08-08 16:21:12 +0000
commit6b28a0c174dd79e5553032e158163699afc1b2f5 (patch)
tree9ae6c534d77cd8c4cc31efd20ecd4a33c85e71ac
parentd0651c433ff5ce31ba5573c7b7aa4c8e43238425 (diff)
downloadeclipse.platform.swt-6b28a0c174dd79e5553032e158163699afc1b2f5.tar.gz
eclipse.platform.swt-6b28a0c174dd79e5553032e158163699afc1b2f5.tar.xz
eclipse.platform.swt-6b28a0c174dd79e5553032e158163699afc1b2f5.zip
part of 41184
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java27
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java7
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java4
3 files changed, 31 insertions, 7 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
index 55e92f2b28..ce9cc20cbb 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
@@ -155,15 +155,14 @@ void createHandle (int index) {
OS.gtk_fixed_set_has_window (fixedHandle, true);
switch (style & bits) {
case SWT.ARROW:
- int alignment = OS.GTK_ARROW_UP;
- boolean isRTL = (style & SWT.RIGHT_TO_LEFT) != 0;
- if ((style & SWT.UP) != 0) alignment = OS.GTK_ARROW_UP;
- if ((style & SWT.DOWN) != 0) alignment = OS.GTK_ARROW_DOWN;
- if ((style & SWT.LEFT) != 0) alignment = isRTL? OS.GTK_ARROW_RIGHT : OS.GTK_ARROW_LEFT;
- if ((style & SWT.RIGHT) != 0) alignment = isRTL? OS.GTK_ARROW_LEFT : OS.GTK_ARROW_RIGHT;
+ int arrow_type = OS.GTK_ARROW_UP;
+ if ((style & SWT.UP) != 0) arrow_type = OS.GTK_ARROW_UP;
+ if ((style & SWT.DOWN) != 0) arrow_type = OS.GTK_ARROW_DOWN;
+ if ((style & SWT.LEFT) != 0) arrow_type = OS.GTK_ARROW_LEFT;
+ if ((style & SWT.RIGHT) != 0) arrow_type = OS.GTK_ARROW_RIGHT;
handle = OS.gtk_button_new ();
if (handle == 0) error (SWT.ERROR_NO_HANDLES);
- arrowHandle = OS.gtk_arrow_new (alignment, OS.GTK_SHADOW_OUT);
+ arrowHandle = OS.gtk_arrow_new (arrow_type, OS.GTK_SHADOW_OUT);
if (arrowHandle == 0) error (SWT.ERROR_NO_HANDLES);
break;
case SWT.TOGGLE:
@@ -624,6 +623,20 @@ public void setImage (Image image) {
OS.gtk_widget_size_request (handle, requisition);
}
+void setOrientation () {
+ if ((style & SWT.RIGHT_TO_LEFT) != 0) {
+ OS.gtk_widget_set_direction (handle, OS.GTK_TEXT_DIR_RTL);
+ if (labelHandle != 0) OS.gtk_widget_set_direction (labelHandle, OS.GTK_TEXT_DIR_RTL);
+ if (imageHandle != 0) OS.gtk_widget_set_direction (imageHandle, OS.GTK_TEXT_DIR_RTL);
+ if (arrowHandle != 0) {
+ switch (style & (SWT.LEFT | SWT.RIGHT)) {
+ case SWT.LEFT: OS.gtk_arrow_set (arrowHandle, OS.GTK_ARROW_RIGHT, OS.GTK_SHADOW_OUT); break;
+ case SWT.RIGHT: OS.gtk_arrow_set (arrowHandle, OS.GTK_ARROW_LEFT, OS.GTK_SHADOW_OUT); break;
+ }
+ }
+ }
+}
+
/**
* Sets the selection state of the receiver, if it is of type <code>CHECK</code>,
* <code>RADIO</code>, or <code>TOGGLE</code>.
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java
index 60e3d55929..2416ed0c67 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java
@@ -219,6 +219,13 @@ boolean isTabGroup() {
return super.isTabGroup();
}
+void setOrientation () {
+ if ((style & SWT.RIGHT_TO_LEFT) != 0) {
+ if (scrolledHandle != 0) {
+ OS.gtk_scrolled_window_set_placement (scrolledHandle, OS.GTK_CORNER_TOP_RIGHT);
+ }
+ }
+}
void register () {
super.register ();
if (scrolledHandle != 0) display.addWidget (scrolledHandle, this);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
index 23ec7899b2..271e9dc300 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
@@ -320,6 +320,7 @@ void createHandle (int index) {
void createWidget (int index) {
createHandle (index);
+ setOrientation ();
hookEvents ();
register ();
}
@@ -1114,6 +1115,9 @@ void setKeyState (Event event, GdkEventKey keyEvent) {
setInputState (event, keyEvent.state);
}
+void setOrientation () {
+}
+
int shellMapProc (int handle, int arg0, int user_data) {
return 0;
}