modelIndex = Table.FIRST_COLUMN;
modelIndex = Tree.FIRST_COLUMN;
int /*long*/ textCellDataProc (int /*long*/ tree_column, int /*long*/ cell, int /*long*/ tree_model, int /*long*/ iter, int /*long*/ data) {	if (cell == ignoreTextCell) return 0;	int modelIndex = -1;	boolean customDraw = false;	if (columnCount == 0) {		modelIndex = Table.FIRST_COLUMN;		customDraw = firstCustomDraw;	} else {		for (int i = 0; i < columns.length; i++) {			if (columns [i] != null && columns [i].handle == tree_column) {				modelIndex = columns [i].modelIndex;				customDraw = columns [i].customDraw;				break;			}		}	}	if (modelIndex == -1) return 0;	boolean setData = false;	if ((style & SWT.VIRTUAL) != 0) {		// TODO support for SWT.VIRTUAL	}	int /*long*/ [] ptr = new int /*long*/ [1];	if (setData) {		OS.gtk_tree_model_get (tree_model, iter, modelIndex + CELL_TEXT, ptr, -1); 		if (ptr [0] != 0) {			OS.g_object_set(cell, OS.text, ptr[0], 0);			OS.g_free (ptr[0]);		}		ptr = new int /*long*/ [1];	}	if (customDraw) {		OS.gtk_tree_model_get (tree_model, iter, modelIndex + CELL_FOREGROUND, ptr, -1);		if (ptr [0] != 0) {			OS.g_object_set(cell, OS.foreground_gdk, ptr[0], 0);		}		/*		 * Bug on GTK. Gtk renders the background of the text renderer on top of the pixbuf renderer.		 * This only happens in version 2.2.1 and earlier. The fix is not to set the background.   		 */		if (OS.GTK_VERSION > OS.VERSION (2, 2, 1)) {			ptr = new int /*long*/ [1];			OS.gtk_tree_model_get (tree_model, iter, modelIndex + CELL_BACKGROUND, ptr, -1);			if (ptr [0] != 0) {				OS.g_object_set(cell, OS.background_gdk, ptr[0], 0);			}		}		ptr = new int /*long*/ [1];		OS.gtk_tree_model_get (tree_model, iter, modelIndex + CELL_FONT, ptr, -1);		if (ptr [0] != 0) {			OS.g_object_set(cell, OS.font_desc, ptr[0], 0);		}	}	if (setData) {		ignoreTextCell = cell;		setScrollWidth (tree_column, iter);		ignoreTextCell = 0;	}	return 0;}