Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVeronika Irvine2003-08-22 14:40:09 +0000
committerVeronika Irvine2003-08-22 14:40:09 +0000
commit2804af6b30e3fa1385bd4b6a5aaf57ea8ba0df96 (patch)
tree20c6c7ce4d1e8de95946684c3ae2343eb307452a
parentfe04155149b62f1a9fc9f1b415296e43f55498c4 (diff)
downloadeclipse.platform.swt-2804af6b30e3fa1385bd4b6a5aaf57ea8ba0df96.tar.gz
eclipse.platform.swt-2804af6b30e3fa1385bd4b6a5aaf57ea8ba0df96.tar.xz
eclipse.platform.swt-2804af6b30e3fa1385bd4b6a5aaf57ea8ba0df96.zip
Adding support to modify individual cell colors
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java4
2 files changed, 20 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
index 0a84c58938..aeef2a1e85 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
@@ -149,11 +149,13 @@ public class Display extends Device {
int shellMapProc;
Callback shellMapCallback;
- /* GtkTreeView callback */
+ /* GtkTreeView callbacks */
int[] treeSelection;
int treeSelectionLength;
int treeSelectionProc;
Callback treeSelectionCallback;
+ int cellDataProc;
+ Callback cellDataCallback;
/* Drag Detect */
int dragStartX,dragStartY;
@@ -1449,6 +1451,10 @@ void initializeCallbacks () {
treeSelectionCallback = new Callback(this, "treeSelectionProc", 4);
treeSelectionProc = treeSelectionCallback.getAddress();
if (treeSelectionProc == 0) error (SWT.ERROR_NO_MORE_CALLBACKS);
+
+ cellDataCallback = new Callback (this, "cellDataProc", 5);
+ cellDataProc = cellDataCallback.getAddress ();
+ if (cellDataProc == 0) error (SWT.ERROR_NO_MORE_CALLBACKS);
}
void initializeWidgetTable () {
@@ -1724,9 +1730,11 @@ void releaseDisplay () {
shellMapCallback.dispose (); shellMapCallback = null;
shellMapProc = 0;
- /* Dispose GtkTreeView callback */
+ /* Dispose GtkTreeView callbacks */
treeSelectionCallback.dispose (); treeSelectionCallback = null;
treeSelectionProc = 0;
+ cellDataCallback.dispose (); cellDataCallback = null;
+ cellDataProc = 0;
/* Dispose the caret callback */
if (caretId != 0) OS.gtk_timeout_remove (caretId);
@@ -2219,6 +2227,12 @@ int caretProc (int clientData) {
return 0;
}
+int cellDataProc (int tree_column, int cell, int tree_model, int iter, int data) {
+ Widget widget = getWidget (data);
+ if (widget == null) return 0;
+ return widget.cellDataProc (tree_column, cell, tree_model, iter, data);
+}
+
int treeSelectionProc (int model, int path, int iter, int data) {
Widget widget = getWidget (data);
if (widget == null) return 0;
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 271e9dc300..62cbbca67d 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
@@ -213,6 +213,10 @@ public void addDisposeListener (DisposeListener listener) {
addListener (SWT.Dispose, typedListener);
}
+int cellDataProc (int tree_column, int cell, int tree_model, int iter, int data) {
+ return 0;
+}
+
static int checkBits (int style, int int0, int int1, int int2, int int3, int int4, int int5) {
int mask = int0 | int1 | int2 | int3 | int4 | int5;
if ((style & mask) == 0) style |= int0;

Back to the top