summaryrefslogtreecommitdiff
path: root/gtk/gtkctree.c
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>2000-05-12 15:25:50 +0000
committerTim Janik <timj@src.gnome.org>2000-05-12 15:25:50 +0000
commit9595c55184932c11e60e840f10f63d73748e3237 (patch)
treecaed3814dcd026830b9cf2c7ff0ee1f5feb48f25 /gtk/gtkctree.c
parent5ef1e2e970e949e65ed76656fbe9b1ea4a22fbe3 (diff)
downloadgtk+-9595c55184932c11e60e840f10f63d73748e3237.tar.gz
documented necessary changes for 1.4 transition.
Fri May 12 17:13:32 2000 Tim Janik <timj@gtk.org> * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition. * gtk/gtktext.c: made the adjustments no-construct args, simply provide default adjustments. (gtk_text_destroy): release adjustments. * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the adjustment argument non-construct. * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here, instead of in finalize. (gtk_progress_get_text_from_value): (gtk_progress_get_current_text): (gtk_progress_set_value): (gtk_progress_get_percentage_from_value): (gtk_progress_get_current_percentage): (gtk_progress_set_percentage): (gtk_progress_configure): ensure an adjustment is present. Thu May 11 01:24:08 2000 Tim Janik <timj@gtk.org> * gtk/gtkcolorsel.[hc]: * gtk/gtkcolorseldialog.[hc]: * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain their parent implementation, use bit fields for boolean values, don't create unused widgets, usage of glib types, braces go on their own lines, function argument alignment, #include directives etc. etc. etc.. * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h. Wed May 10 23:29:52 2000 Tim Janik <timj@gtk.org> * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips. * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state of NULL. * gtk/gtkcombo.c (gtk_combo_item_destroy): don#t keep references to freed data. (gtk_combo_destroy): don't keep a pointer to a destroyed window. * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer to NULL when the toplevel is getting destroyed. (gtk_menu_set_tearoff_state): same here for the tearoff_window. (gtk_menu_destroy): (gtk_menu_init): store the information of whether we have to readd the initial child ref_count during destruction in a new GtkMenu field needs_destruction_ref_count. * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it here, those reading: learn from my mistake! ;) in order for set_?adjustment to support a default adjustemnt if invoked with an adjustment pointer of NULL, the code read (pseudo): if (v->adjustment) unref (v->adjustment); if (!adjustment) adjustment = adjustment_new (); if (v->adjustment != adjustment) v->adjustment = ref (adjustment); now imagine the first unref to actually free the old adjustment and adjustment_new() creating a new adjustment from the very same memory portion. here, the latter comparision will unintendedly fail, and all hell breaks loose. (gtk_viewport_set_hadjustment): (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL after unreferencing it. * gtk/gtkcontainer.[hc]: removed toplevel registration functions: gtk_container_register_toplevel(), gtk_container_unregister_toplevel() and gtk_container_get_toplevels() which had wrong semantics anyways: it didn't reference and copy the list. * gtk/gtkwindow.c: we take over the container toplevel registration bussiness now. windows are registered across multiple destructions, untill they are finalized. the initial implicit reference count users are holding on windows is removed with the first destruction though. (gtk_window_init): ref & sink and set has_user_ref_count, got rid of gtk_container_register_toplevel() call. add window to toplevel_list. (gtk_window_destroy): unref the window if has_user_ref_count is still set, got rid of call to gtk_container_unregister_toplevel(). (gtk_window_finalize): remove window from toplevel list. (gtk_window_list_toplevels): new function to return a newly created list with referenced toplevels. (gtk_window_read_rcfiles): use gtk_window_list_toplevels(). * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange adjustment a non-construct arg. * gtk/gtkvscale.c (gtk_vscale_class_init): likewise. * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise. * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise. * gtk/gtkrange.c: added some realized checks. (gtk_range_destroy): get rid of the h/v adjustments in the destroy handler instead of finalize. remove timer. (gtk_range_get_adjustment): demand create adjustment. * gtk/gtkviewport.c: made h/v adjustment non-construct args. we simply create them on demand now and get rid of them in the destroy handler. (gtk_viewport_destroy): get rid of the h/v adjustments in the destroy handler instead of finalize. (gtk_viewport_get_hadjustment): (gtk_viewport_get_vadjustment): (gtk_viewport_size_allocate): demand create h/v adjustment if required. * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the gtk_widget_real_destroy () functionality. (gtk_widget_real_destroy): reinitialize with a new style, instead of setting widget->style to NULL. Fri May 5 13:02:09 2000 Tim Janik <timj@gtk.org> * gtk/gtkcalendar.c: * gtk/gtkbutton.c: ported _get_type() implementation over to GType, either to preserve memchunks allocation facilities, or because Gtk+ 1.0 GtkTypeInfo was still being used. * gtk/gtkobject.[hc]: derive from GObject. ported various functions over. prepare for ::destroy to be emitted multiple times. removed reference tracer magic. chain into GObjectClass.shutdown() to emit ::destroy signal. * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being fundamental. * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init() cludge. * gtk/gtksocket.c: * gtk/gtkplug.c: * gtk/gtklayout.c: * gtk/gtklabel.c: * gtk/gtkargcollector.c: * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT not being a fundamental anymore, and to work with the new type system (nuked fundamental type varargs clutter). * gtk/*.c: install finalize handlers in the GObjectClass part of the class structure. changed direct GTK_OBJECT()->klass accesses to GTK_*_GET_CLASS(). changed direct object_class->type accesses to GTK_CLASS_TYPE(). * gtktypeutils.[hc]: use the reserved fundamental ids provided by GType. made most of the GTK_*() type macros and Gtk* typedefs simple wrappers around macros and types provided by GType. most notably, a significant portion of the old API vanished: GTK_TYPE_MAKE(), GTK_TYPE_SEQNO(), GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST, GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST, GTK_TYPE_ARGS, GTK_TYPE_CALLBACK, GTK_TYPE_C_CALLBACK, GTK_TYPE_FOREIGN, GtkTypeQuery, gtk_type_query(), gtk_type_set_varargs_type(), gtk_type_get_varargs_type(), gtk_type_check_object_cast(), gtk_type_check_class_cast(), gtk_type_describe_tree(), gtk_type_describe_heritage(), gtk_type_free(), gtk_type_children_types(), gtk_type_set_chunk_alloc(), gtk_type_register_enum(), gtk_type_register_flags(), gtk_type_parent_class(). replacements, where available are described in ../docs/Changes-1.4.txt. implemented compatibility functions for the remaining API. * configure.in: depend on glib 1.3.1, use gobject module.
Diffstat (limited to 'gtk/gtkctree.c')
-rw-r--r--gtk/gtkctree.c1479
1 files changed, 739 insertions, 740 deletions
diff --git a/gtk/gtkctree.c b/gtk/gtkctree.c
index 8532317b0e..79ebafed39 100644
--- a/gtk/gtkctree.c
+++ b/gtk/gtkctree.c
@@ -56,26 +56,25 @@ COLUMN_FROM_XPIXEL (GtkCList * clist,
gint x)
{
gint i, cx;
-
+
for (i = 0; i < clist->columns; i++)
if (clist->column[i].visible)
{
cx = clist->column[i].area.x + clist->hoffset;
-
+
if (x >= (cx - (COLUMN_INSET + CELL_SPACING)) &&
x <= (cx + clist->column[i].area.width + COLUMN_INSET))
return i;
}
-
+
/* no match */
return -1;
}
-#define GTK_CLIST_CLASS_FW(_widget_) GTK_CLIST_CLASS (((GtkObject*) (_widget_))->klass)
#define CLIST_UNFROZEN(clist) (((GtkCList*) (clist))->freeze_count == 0)
#define CLIST_REFRESH(clist) G_STMT_START { \
if (CLIST_UNFROZEN (clist)) \
- GTK_CLIST_CLASS_FW (clist)->refresh ((GtkCList*) (clist)); \
+ GTK_CLIST_GET_CLASS (clist)->refresh ((GtkCList*) (clist)); \
} G_STMT_END
@@ -319,7 +318,7 @@ GtkType
gtk_ctree_get_type (void)
{
static GtkType ctree_type = 0;
-
+
if (!ctree_type)
{
static const GtkTypeInfo ctree_info =
@@ -333,10 +332,10 @@ gtk_ctree_get_type (void)
/* reserved_2 */ NULL,
(GtkClassInitFunc) NULL,
};
-
+
ctree_type = gtk_type_unique (GTK_TYPE_CLIST, &ctree_info);
}
-
+
return ctree_type;
}
@@ -347,15 +346,15 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
GtkWidgetClass *widget_class;
GtkCListClass *clist_class;
GtkBindingSet *binding_set;
-
+
object_class = (GtkObjectClass *) klass;
widget_class = (GtkWidgetClass *) klass;
container_class = (GtkContainerClass *) klass;
clist_class = (GtkCListClass *) klass;
-
+
parent_class = gtk_type_class (GTK_TYPE_CLIST);
container_class = gtk_type_class (GTK_TYPE_CONTAINER);
-
+
gtk_object_add_arg_type ("GtkCTree::n_columns",
GTK_TYPE_UINT,
GTK_ARG_READWRITE | GTK_ARG_CONSTRUCT_ONLY,
@@ -386,39 +385,39 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
ARG_EXPANDER_STYLE);
object_class->set_arg = gtk_ctree_set_arg;
object_class->get_arg = gtk_ctree_get_arg;
-
+
ctree_signals[TREE_SELECT_ROW] =
gtk_signal_new ("tree_select_row",
GTK_RUN_FIRST,
- object_class->type,
+ GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_select_row),
gtk_marshal_NONE__POINTER_INT,
GTK_TYPE_NONE, 2, GTK_TYPE_CTREE_NODE, GTK_TYPE_INT);
ctree_signals[TREE_UNSELECT_ROW] =
gtk_signal_new ("tree_unselect_row",
GTK_RUN_FIRST,
- object_class->type,
+ GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_unselect_row),
gtk_marshal_NONE__POINTER_INT,
GTK_TYPE_NONE, 2, GTK_TYPE_CTREE_NODE, GTK_TYPE_INT);
ctree_signals[TREE_EXPAND] =
gtk_signal_new ("tree_expand",
GTK_RUN_LAST,
- object_class->type,
+ GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_expand),
gtk_marshal_NONE__POINTER,
GTK_TYPE_NONE, 1, GTK_TYPE_CTREE_NODE);
ctree_signals[TREE_COLLAPSE] =
gtk_signal_new ("tree_collapse",
GTK_RUN_LAST,
- object_class->type,
+ GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_collapse),
gtk_marshal_NONE__POINTER,
GTK_TYPE_NONE, 1, GTK_TYPE_CTREE_NODE);
ctree_signals[TREE_MOVE] =
gtk_signal_new ("tree_move",
GTK_RUN_LAST,
- object_class->type,
+ GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_move),
gtk_marshal_NONE__POINTER_POINTER_POINTER,
GTK_TYPE_NONE, 3, GTK_TYPE_CTREE_NODE,
@@ -426,21 +425,21 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
ctree_signals[CHANGE_FOCUS_ROW_EXPANSION] =
gtk_signal_new ("change_focus_row_expansion",
GTK_RUN_LAST | GTK_RUN_ACTION,
- object_class->type,
+ GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass,
change_focus_row_expansion),
gtk_marshal_NONE__ENUM,
GTK_TYPE_NONE, 1, GTK_TYPE_CTREE_EXPANSION_TYPE);
gtk_object_class_add_signals (object_class, ctree_signals, LAST_SIGNAL);
-
+
widget_class->realize = gtk_ctree_realize;
widget_class->unrealize = gtk_ctree_unrealize;
widget_class->button_press_event = gtk_ctree_button_press;
-
+
widget_class->drag_begin = gtk_ctree_drag_begin;
widget_class->drag_motion = gtk_ctree_drag_motion;
widget_class->drag_data_received = gtk_ctree_drag_data_received;
-
+
clist_class->select_row = real_select_row;
clist_class->unselect_row = real_unselect_row;
clist_class->row_move = real_row_move;
@@ -459,14 +458,14 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
clist_class->sort_list = real_sort_list;
clist_class->set_cell_contents = set_cell_contents;
clist_class->cell_size_request = cell_size_request;
-
+
klass->tree_select_row = real_tree_select;
klass->tree_unselect_row = real_tree_unselect;
klass->tree_expand = real_tree_expand;
klass->tree_collapse = real_tree_collapse;
klass->tree_move = real_tree_move;
klass->change_focus_row_expansion = change_focus_row_expansion;
-
+
binding_set = gtk_binding_set_by_class (klass);
gtk_binding_entry_add_signal (binding_set,
'+', GDK_SHIFT_MASK,
@@ -515,9 +514,9 @@ gtk_ctree_set_arg (GtkObject *object,
guint arg_id)
{
GtkCTree *ctree;
-
+
ctree = GTK_CTREE (object);
-
+
switch (arg_id)
{
case ARG_N_COLUMNS: /* construct-only arg, only set when !GTK_CONSTRUCTED */
@@ -563,9 +562,9 @@ gtk_ctree_get_arg (GtkObject *object,
guint arg_id)
{
GtkCTree *ctree;
-
+
ctree = GTK_CTREE (object);
-
+
switch (arg_id)
{
case ARG_N_COLUMNS:
@@ -599,12 +598,12 @@ static void
gtk_ctree_init (GtkCTree *ctree)
{
GtkCList *clist;
-
+
GTK_CLIST_SET_FLAG (ctree, CLIST_DRAW_DRAG_RECT);
GTK_CLIST_SET_FLAG (ctree, CLIST_DRAW_DRAG_LINE);
-
+
clist = GTK_CLIST (ctree);
-
+
ctree->tree_indent = 20;
ctree->tree_spacing = 5;
ctree->tree_column = 0;
@@ -612,7 +611,7 @@ gtk_ctree_init (GtkCTree *ctree)
ctree->expander_style = GTK_CTREE_EXPANDER_SQUARE;
ctree->drag_compare = NULL;
ctree->show_stub = TRUE;
-
+
clist->button_actions[0] |= GTK_BUTTON_EXPANDS;
}
@@ -623,24 +622,24 @@ ctree_attach_styles (GtkCTree *ctree,
{
GtkCList *clist;
gint i;
-
+
clist = GTK_CLIST (ctree);
-
+
if (GTK_CTREE_ROW (node)->row.style)
GTK_CTREE_ROW (node)->row.style =
gtk_style_attach (GTK_CTREE_ROW (node)->row.style, clist->clist_window);
-
+
if (GTK_CTREE_ROW (node)->row.fg_set || GTK_CTREE_ROW (node)->row.bg_set)
{
GdkColormap *colormap;
-
+
colormap = gtk_widget_get_colormap (GTK_WIDGET (ctree));
if (GTK_CTREE_ROW (node)->row.fg_set)
gdk_color_alloc (colormap, &(GTK_CTREE_ROW (node)->row.foreground));
if (GTK_CTREE_ROW (node)->row.bg_set)
gdk_color_alloc (colormap, &(GTK_CTREE_ROW (node)->row.background));
}
-
+
for (i = 0; i < clist->columns; i++)
if (GTK_CTREE_ROW (node)->row.cell[i].style)
GTK_CTREE_ROW (node)->row.cell[i].style =
@@ -655,9 +654,9 @@ ctree_detach_styles (GtkCTree *ctree,
{
GtkCList *clist;
gint i;
-
+
clist = GTK_CLIST (ctree);
-
+
if (GTK_CTREE_ROW (node)->row.style)
gtk_style_detach (GTK_CTREE_ROW (node)->row.style);
for (i = 0; i < clist->columns; i++)
@@ -674,15 +673,15 @@ gtk_ctree_realize (GtkWidget *widget)
GtkCTreeNode *node;
GtkCTreeNode *child;
gint i;
-
+
g_return_if_fail (widget != NULL);
g_return_if_fail (GTK_IS_CTREE (widget));
-
+
GTK_WIDGET_CLASS (parent_class)->realize (widget);
-
+
ctree = GTK_CTREE (widget);
clist = GTK_CLIST (widget);
-
+
node = GTK_CTREE_NODE (clist->row_list);
for (i = 0; i < clist->rows; i++)
{
@@ -692,7 +691,7 @@ gtk_ctree_realize (GtkWidget *widget)
gtk_ctree_pre_recursive (ctree, child, ctree_attach_styles, NULL);
node = GTK_CTREE_NODE_NEXT (node);
}
-
+
values.foreground = widget->style->fg[GTK_STATE_NORMAL];
values.background = widget->style->base[GTK_STATE_NORMAL];
values.subwindow_mode = GDK_INCLUDE_INFERIORS;
@@ -703,7 +702,7 @@ gtk_ctree_realize (GtkWidget *widget)
GDK_GC_BACKGROUND |
GDK_GC_SUBWINDOW |
GDK_GC_LINE_STYLE);
-
+
if (ctree->line_style == GTK_CTREE_LINES_DOTTED)
{
gdk_gc_set_line_attributes (ctree->lines_gc, 1,
@@ -717,21 +716,21 @@ gtk_ctree_unrealize (GtkWidget *widget)
{
GtkCTree *ctree;
GtkCList *clist;
-
+
g_return_if_fail (widget != NULL);
g_return_if_fail (GTK_IS_CTREE (widget));
-
+
GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
-
+
ctree = GTK_CTREE (widget);
clist = GTK_CLIST (widget);
-
+
if (GTK_WIDGET_REALIZED (widget))
{
GtkCTreeNode *node;
GtkCTreeNode *child;
gint i;
-
+
node = GTK_CTREE_NODE (clist->row_list);
for (i = 0; i < clist->rows; i++)
{
@@ -743,7 +742,7 @@ gtk_ctree_unrealize (GtkWidget *widget)
node = GTK_CTREE_NODE_NEXT (node);
}
}
-
+
gdk_gc_destroy (ctree->lines_gc);
}
@@ -754,19 +753,19 @@ gtk_ctree_button_press (GtkWidget *widget,
GtkCTree *ctree;
GtkCList *clist;
gint button_actions;
-
+
g_return_val_if_fail (widget != NULL, FALSE);
g_return_val_if_fail (GTK_IS_CTREE (widget), FALSE);
g_return_val_if_fail (event != NULL, FALSE);
-
+
ctree = GTK_CTREE (widget);
clist = GTK_CLIST (widget);
-
+
button_actions = clist->button_actions[event->button - 1];
-
+
if (button_actions == GTK_BUTTON_IGNORED)
return FALSE;
-
+
if (event->window == clist->clist_window)
{
GtkCTreeNode *work;
@@ -774,15 +773,15 @@ gtk_ctree_button_press (GtkWidget *widget,
gint y;
gint row;
gint column;
-
+
x = event->x;
y = event->y;
-
+
if (!gtk_clist_get_selection_info (clist, x, y, &row, &column))
return FALSE;
-
+
work = GTK_CTREE_NODE (g_list_nth (clist->row_list, row));
-
+
if (button_actions & GTK_BUTTON_EXPANDS &&
(GTK_CTREE_ROW (work)->children && !GTK_CTREE_ROW (work)->is_leaf &&
(event->type == GDK_2BUTTON_PRESS ||
@@ -792,7 +791,7 @@ gtk_ctree_button_press (GtkWidget *widget,
gtk_ctree_collapse (ctree, work);
else
gtk_ctree_expand (ctree, work);
-
+
return FALSE;
}
}
@@ -810,16 +809,16 @@ draw_drag_highlight (GtkCList *clist,
gint level;
gint i;
gint y = 0;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
-
+
ctree = GTK_CTREE (clist);
-
+
level = ((GtkCTreeRow *)(dest_row))->level;
-
+
y = ROW_TOP_YPIXEL (clist, dest_row_number) - 1;
-
+
switch (drag_pos)
{
case GTK_CLIST_DRAG_NONE:
@@ -840,7 +839,7 @@ draw_drag_highlight (GtkCList *clist,
COLUMN_LEFT_XPIXEL(clist, ctree->tree_column - 1)+
clist->column[ctree->tree_column - 1].area.width,
y);
-
+
gdk_draw_line (clist->clist_window, clist->xor_gc,
COLUMN_LEFT_XPIXEL(clist, ctree->tree_column) +
ctree->tree_indent * level -
@@ -854,7 +853,7 @@ draw_drag_highlight (GtkCList *clist,
y,
COLUMN_LEFT_XPIXEL(clist, clist->columns - 1) +
clist->column[clist->columns - 1].area.width, y);
-
+
gdk_draw_line (clist->clist_window, clist->xor_gc,
0, y, COLUMN_LEFT_XPIXEL(clist, ctree->tree_column)
+ clist->column[ctree->tree_column].area.width -
@@ -868,7 +867,7 @@ draw_drag_highlight (GtkCList *clist,
break;
case GTK_CLIST_DRAG_INTO:
y = ROW_TOP_YPIXEL (clist, dest_row_number) + clist->row_height;
-
+
if (clist->column[ctree->tree_column].visible)
switch (clist->column[ctree->tree_column].justification)
{
@@ -884,12 +883,12 @@ draw_drag_highlight (GtkCList *clist,
points[1].y = points[0].y;
points[2].x = points[1].x;
points[2].y = points[3].y;
-
+
for (i = 0; i < 3; i++)
gdk_draw_line (clist->clist_window, clist->xor_gc,
points[i].x, points[i].y,
points[i+1].x, points[i+1].y);
-
+
if (ctree->tree_column > 0)
{
points[0].x = COLUMN_LEFT_XPIXEL(clist,
@@ -902,7 +901,7 @@ draw_drag_highlight (GtkCList *clist,
points[1].y = points[0].y;
points[2].x = 0;
points[2].y = points[3].y;
-
+
for (i = 0; i < 3; i++)
gdk_draw_line (clist->clist_window, clist->xor_gc,
points[i].x, points[i].y, points[i+1].x,
@@ -920,12 +919,12 @@ draw_drag_highlight (GtkCList *clist,
points[1].y = points[0].y;
points[2].x = 0;
points[2].y = points[3].y;
-
+
for (i = 0; i < 3; i++)
gdk_draw_line (clist->clist_window, clist->xor_gc,
points[i].x, points[i].y,
points[i+1].x, points[i+1].y);
-
+
if (ctree->tree_column < clist->columns - 1)
{
points[0].x = COLUMN_LEFT_XPIXEL(clist, ctree->tree_column +1);
@@ -936,7 +935,7 @@ draw_drag_highlight (GtkCList *clist,
points[1].y = points[0].y;
points[2].x = points[1].x;
points[2].y = points[3].y;
-
+
for (i = 0; i < 3; i++)
gdk_draw_line (clist->clist_window, clist->xor_gc,
points[i].x, points[i].y,
@@ -965,7 +964,7 @@ draw_cell_pixmap (GdkWindow *window,
{
gint xsrc = 0;
gint ysrc = 0;
-
+
if (mask)
{
gdk_gc_set_clip_mask (fg_gc, mask);
@@ -979,7 +978,7 @@ draw_cell_pixmap (GdkWindow *window,
}
if (x + width > clip_rectangle->x + clip_rectangle->width)
width = clip_rectangle->x + clip_rectangle->width - x;
-
+
if (y < clip_rectangle->y)
{
ysrc = clip_rectangle->y - y;
@@ -988,16 +987,16 @@ draw_cell_pixmap (GdkWindow *window,
}
if (y + height > clip_rectangle->y + clip_rectangle->height)
height = clip_rectangle->y + clip_rectangle->height - y;
-
+
if (width > 0 && height > 0)
gdk_draw_pixmap (window, fg_gc, pixmap, xsrc, ysrc, x, y, width, height);
-
+
if (mask)
{
gdk_gc_set_clip_rectangle (fg_gc, NULL);
gdk_gc_set_clip_origin (fg_gc, 0, 0);
}
-
+
return x + MAX (width, 0);
}
@@ -1011,13 +1010,13 @@ get_cell_style (GtkCList *clist,
GdkGC **bg_gc)
{
gint fg_state;
-
+
if ((state == GTK_STATE_NORMAL) &&
(GTK_WIDGET (clist)->state == GTK_STATE_INSENSITIVE))
fg_state = GTK_STATE_INSENSITIVE;
else
fg_state = state;
-
+
if (clist_row->cell[column].style)
{
if (style)
@@ -1056,7 +1055,7 @@ get_cell_style (GtkCList *clist,
else
*bg_gc = GTK_WIDGET (clist)->style->base_gc[state];
}
-
+
if (state != GTK_STATE_SELECTED)
{
if (fg_gc && clist_row->fg_set)
@@ -1078,10 +1077,10 @@ gtk_ctree_draw_expander (GtkCTree *ctree,
GdkPoint points[3];
gint justification_factor;
gint y;
-
- if (ctree->expander_style == GTK_CTREE_EXPANDER_NONE)
- return x;
-
+
+ if (ctree->expander_style == GTK_CTREE_EXPANDER_NONE)
+ return x;
+
clist = GTK_CLIST (ctree);
if (clist->column[ctree->tree_column].justification == GTK_JUSTIFY_RIGHT)
justification_factor = -1;
@@ -1089,7 +1088,7 @@ gtk_ctree_draw_expander (GtkCTree *ctree,
justification_factor = 1;
y = (clip_rectangle->y + (clip_rectangle->height - PM_SIZE) / 2 -
(clip_rectangle->height + 1) % 2);
-
+
if (!ctree_row->children)
{
switch (ctree->expander_style)
@@ -1103,10 +1102,10 @@ gtk_ctree_draw_expander (GtkCTree *ctree,
return x + justification_factor * (PM_SIZE + 1);
}
}
-
+
gdk_gc_set_clip_rectangle (style->fg_gc[GTK_STATE_NORMAL], clip_rectangle);
gdk_gc_set_clip_rectangle (style->base_gc[GTK_STATE_NORMAL], clip_rectangle);
-
+
switch (ctree->expander_style)
{
case GTK_CTREE_EXPANDER_NONE:
@@ -1132,19 +1131,19 @@ gtk_ctree_draw_expander (GtkCTree *ctree,
justification_factor * (2 * (PM_SIZE + 2) / 3 - 1));
points[2].y = points[0].y + (PM_SIZE + 2) / 2;
}
-
+
gdk_draw_polygon (clist->clist_window, style->base_gc[GTK_STATE_NORMAL],
TRUE, points, 3);
gdk_draw_polygon (clist->clist_window, style->fg_gc[GTK_STATE_NORMAL],
FALSE, points, 3);
-
+
x += justification_factor * (PM_SIZE + 3);
break;
case GTK_CTREE_EXPANDER_SQUARE:
case GTK_CTREE_EXPANDER_CIRCULAR:
if (justification_factor == -1)
x += justification_factor * (PM_SIZE + 1);
-
+
if (ctree->expander_style == GTK_CTREE_EXPANDER_CIRCULAR)
{
gdk_draw_arc (clist->clist_window, style->base_gc[GTK_STATE_NORMAL],
@@ -1161,23 +1160,23 @@ gtk_ctree_draw_expander (GtkCTree *ctree,
style->fg_gc[GTK_STATE_NORMAL], FALSE,
x, y, PM_SIZE, PM_SIZE);
}
-
+
gdk_draw_line (clist->clist_window, style->fg_gc[GTK_STATE_NORMAL],
x + 2, y + PM_SIZE / 2, x + PM_SIZE - 2, y + PM_SIZE / 2);
-
+
if (!ctree_row->expanded)
gdk_draw_line (clist->clist_window, style->fg_gc[GTK_STATE_NORMAL],
x + PM_SIZE / 2, y + 2,
x + PM_SIZE / 2, y + PM_SIZE - 2);
-
+
if (justification_factor == 1)
x += justification_factor * (PM_SIZE + 1);
break;
}
-
+
gdk_gc_set_clip_rectangle (style->fg_gc[GTK_STATE_NORMAL], NULL);
gdk_gc_set_clip_rectangle (style->base_gc[GTK_STATE_NORMAL], NULL);
-
+
return x;
}
@@ -1214,7 +1213,7 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
clist = GTK_CLIST (ctree);
ycenter = clip_rectangle->y + (clip_rectangle->height / 2);
justify_right = (clist->column[column].justification == GTK_JUSTIFY_RIGHT);
-
+
if (justify_right)
{
offset = (clip_rectangle->x + clip_rectangle->width - 1 -
@@ -1226,25 +1225,25 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
offset = clip_rectangle->x + ctree->tree_indent * (ctree_row->level - 1);
justification_factor = 1;
}
-
+
switch (ctree->line_style)
{
case GTK_CTREE_LINES_NONE:
break;
case GTK_CTREE_LINES_TABBED:
xcenter = offset + justification_factor * TAB_SIZE;
-
+
column_right = (COLUMN_LEFT_XPIXEL (clist, ctree->tree_column) +
clist->column[ctree->tree_column].area.width +
COLUMN_INSET);
column_left = (COLUMN_LEFT_XPIXEL (clist, ctree->tree_column) -
COLUMN_INSET - CELL_SPACING);
-
+
if (area)
{
tree_rectangle.y = crect->y;
tree_rectangle.height = crect->height;
-
+
if (justify_right)
{
tree_rectangle.x = xcenter;
@@ -1255,18 +1254,18 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
tree_rectangle.x = column_left;
tree_rectangle.width = xcenter - column_left;
}
-
+
if (!gdk_rectangle_intersect (area, &tree_rectangle, &tc_rectangle))
{
offset += justification_factor * 3;
break;
}
}
-
+
gdk_gc_set_clip_rectangle (ctree->lines_gc, crect);
-
+
next_level = ctree_row->level;
-
+
if (!ctree_row->sibling || (ctree_row->children && ctree_row->expanded))
{
node = gtk_ctree_find_node_ptr (ctree, ctree_row);
@@ -1275,21 +1274,21 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
else
next_level = 0;
}
-
+
if (ctree->tree_indent > 0)
{
node = ctree_row->parent;
while (node)
{
xcenter -= (justification_factor * ctree->tree_indent);
-
+
if ((justify_right && xcenter < column_left) ||
(!justify_right && xcenter > column_right))
{
node = GTK_CTREE_ROW (node)->parent;
continue;
}
-
+
tree_rectangle.y = cell_rectangle->y;
tree_rectangle.height = cell_rectangle->height;
if (justify_right)
@@ -1305,17 +1304,17 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
tree_rectangle.width = MIN (column_right - xcenter,
ctree->tree_indent);
}
-
+
if (!area || gdk_rectangle_intersect (area, &tree_rectangle,
&tc_rectangle))
{
get_cell_style (clist, &GTK_CTREE_ROW (node)->row,
state, column, NULL, NULL, &bg_gc);
-
+
if (bg_gc == clist->bg_gc)
gdk_gc_set_foreground
(clist->bg_gc, &GTK_CTREE_ROW (node)->row.background);
-
+
if (!area)
gdk_draw_rectangle (clist->clist_window, bg_gc, TRUE,
tree_rectangle.x,
@@ -1336,16 +1335,16 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
else
{
gint width;
-
+
offset_x = MIN (ctree->tree_indent, 2 * TAB_SIZE);
width = offset_x / 2 + offset_x % 2;
-
+
parent = GTK_CTREE_ROW (node)->parent;
-
+
tree_rectangle.y = ycenter;
tree_rectangle.height = (cell_rectangle->y - ycenter +
cell_rectangle->height);
-
+
if (justify_right)
{
tree_rectangle.x = MAX(xcenter + 1 - width, column_left);
@@ -1358,7 +1357,7 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
tree_rectangle.width = MIN (column_right - xcenter,
width);
}
-
+
if (!area ||
gdk_rectangle_intersect (area, &tree_rectangle,
&tc_rectangle))
@@ -1376,7 +1375,7 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
bg_gc = style->base_gc[state];
else
bg_gc = GTK_WIDGET (clist)->style->base_gc[state];
-
+
if (!area)
gdk_draw_rectangle (clist->clist_window, bg_gc, TRUE,
tree_rectangle.x,
@@ -1391,13 +1390,13 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
tc_rectangle.width,
tc_rectangle.height);
}
-
+
get_cell_style (clist, &GTK_CTREE_ROW (node)->row,
state, column, NULL, NULL, &bg_gc);
if (bg_gc == clist->bg_gc)
gdk_gc_set_foreground
(clist->bg_gc, &GTK_CTREE_ROW (node)->row.background);
-
+
gdk_gc_set_clip_rectangle (bg_gc, crect);
gdk_draw_arc (clist->clist_window, bg_gc, TRUE,
xcenter - (justify_right * offset_x),
@@ -1405,10 +1404,10 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
offset_x, clist->row_height,
(180 + (justify_right * 90)) * 64, 90 * 64);
gdk_gc_set_clip_rectangle (bg_gc, NULL);
-
+
gdk_draw_line (clist->clist_window, ctree->lines_gc,
xcenter, cell_rectangle->y, xcenter, ycenter);
-
+
if (justify_right)
gdk_draw_arc (clist->clist_window, ctree->lines_gc, FALSE,
xcenter - offset_x, cell_rectangle->y,
@@ -1423,7 +1422,7 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
node = GTK_CTREE_ROW (node)->parent;
}
}
-
+
if (state != GTK_STATE_SELECTED)
{
tree_rectangle.y = clip_rectangle->y;
@@ -1431,12 +1430,12 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
tree_rectangle.width = COLUMN_INSET + CELL_SPACING +
MIN (clist->column[ctree->tree_column].area.width + COLUMN_INSET,
TAB_SIZE);
-
+
if (justify_right)
tree_rectangle.x = MAX (xcenter + 1, column_left);
else
tree_rectangle.x = column_left;
-
+
if (!area)
gdk_draw_rectangle (clist->clist_window,
GTK_WIDGET
@@ -1457,37 +1456,37 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
tc_rectangle.width,
tc_rectangle.height);
}
-
+
xcenter = offset + (justification_factor * ctree->tree_indent / 2);
-
+
get_cell_style (clist, &ctree_row->row, state, column, NULL, NULL,
&bg_gc);
if (bg_gc == clist->bg_gc)
gdk_gc_set_foreground (clist->bg_gc, &ctree_row->row.background);
-
+
gdk_gc_set_clip_rectangle (bg_gc, crect);
if (ctree_row->is_leaf)
{
GdkPoint points[6];
-
+
points[0].x = offset + justification_factor * TAB_SIZE;
points[0].y = cell_rectangle->y;
-
+
points[1].x = points[0].x - justification_factor * 4;
points[1].y = points[0].y;
-
+
points[2].x = points[1].x - justification_factor * 2;
points[2].y = points[1].y + 3;
-
+
points[3].x = points[2].x;
points[3].y = points[2].y + clist->row_height - 5;
-
+
points[4].x = points[3].x + justification_factor * 2;
points[4].y = points[3].y + 3;
-
+
points[5].x = points[4].x + justification_factor * 4;
points[5].y = points[4].y;
-
+
gdk_draw_polygon (clist->clist_window, bg_gc, TRUE, points, 6);
gdk_draw_lines (clist->clist_window, ctree->lines_gc, points, 6);
}
@@ -1506,17 +1505,17 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
}
gdk_gc_set_clip_rectangle (bg_gc, NULL);
gdk_gc_set_clip_rectangle (ctree->lines_gc, NULL);
-
+
offset += justification_factor * 3;
break;
default:
xcenter = offset + justification_factor * PM_SIZE / 2;
-
+
if (area)
{
tree_rectangle.y = crect->y;
tree_rectangle.height = crect->height;
-
+
if (justify_right)
{
tree_rectangle.x = xcenter - PM_SIZE / 2 - 2;
@@ -1529,11 +1528,11 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
tree_rectangle.width = (xcenter + PM_SIZE / 2 + 2 -
clip_rectangle->x);
}
-
+
if (!gdk_rectangle_intersect (area, &tree_rectangle, &tc_rectangle))
break;
}
-
+
offset_x = 1;
offset_y = 0;
if (ctree->line_style == GTK_CTREE_LINES_DOTTED)
@@ -1541,7 +1540,7 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
offset_x += abs((clip_rectangle->x + clist->hoffset) % 2);
offset_y = abs((cell_rectangle->y + clist->voffset) % 2);
}
-
+
clip_rectangle->y--;
clip_rectangle->height++;
gdk_gc_set_clip_rectangle (ctree->lines_gc, clip_rectangle);
@@ -1551,17 +1550,17 @@ gtk_ctree_draw_lines (GtkCTree *ctree,
cell_rectangle->y + offset_y : ycenter,
xcenter,
(ctree_row->sibling) ? crect->y +crect->height : ycenter);
-
+
gdk_draw_line (clist->clist_window, ctree->lines_gc,
xcenter + (justification_factor * offset_x), ycenter,
xcenter + (justification_factor * (PM_SIZE / 2 + 2)),
ycenter);
-
+
node = ctree_row->parent;
while (node)
{
xcenter -= (justification_factor * ctree->tree_indent);
-
+
if (GTK_CTREE_ROW (node)->sibling)
gdk_draw_line (clist->clist_window, ctree->lines_gc,
xcenter, cell_rectangle->y + offset_y,
@@ -1596,40 +1595,40 @@ draw_row (GtkCList *clist,
gint offset = 0;
gint state;
gint i;
-
+
g_return_if_fail (clist != NULL);
-
+
/* bail now if we arn't drawable yet */
if (!GTK_WIDGET_DRAWABLE (clist) || row < 0 || row >= clist->rows)
return;
-
+
widget = GTK_WIDGET (clist);
ctree = GTK_CTREE (clist);
-
+
/* if the function is passed the pointer to the row instead of null,
* it avoids this expensive lookup */
if (!clist_row)
clist_row = (g_list_nth (clist->row_list, row))->data;
-
+
/* rectangle of the entire row */
row_rectangle.x = 0;
row_rectangle.y = ROW_TOP_YPIXEL (clist, row);
row_rectangle.width = clist->clist_window_width;
row_rectangle.height = clist->row_height;
-
+
/* rectangle of the cell spacing above the row */
cell_rectangle.x = 0;
cell_rectangle.y = row_rectangle.y - CELL_SPACING;
cell_rectangle.width = row_rectangle.width;
cell_rectangle.height = CELL_SPACING;
-
+
/* rectangle used to clip drawing operations, its y and height
* positions only need to be set once, so we set them once here.
* the x and width are set withing the drawing loop below once per
* column */
clip_rectangle.y = row_rectangle.y;
clip_rectangle.height = row_rectangle.height;
-
+
if (clist_row->state == GTK_STATE_NORMAL)
{
if (clist_row->fg_set)
@@ -1639,16 +1638,16 @@ draw_row (GtkCList *clist,
}
state = clist_row->state;
-
+
gdk_gc_set_foreground (ctree->lines_gc,
&widget->style->fg[clist_row->state]);
-
+
/* draw the cell borders */
if (area)
{
rect = &intersect_rectangle;
crect = &intersect_rectangle;
-
+
if (gdk_rectangle_intersect (area, &cell_rectangle, crect))
gdk_draw_rectangle (clist->clist_window,
widget->style->base_gc[GTK_STATE_ACTIVE], TRUE,
@@ -1658,22 +1657,22 @@ draw_row (GtkCList *clist,
{
rect = &clip_rectangle;
crect = &cell_rectangle;
-
+
gdk_draw_rectangle (clist->clist_window,
widget->style->base_gc[GTK_STATE_ACTIVE], TRUE,
crect->x, crect->y, crect->width, crect->height);
}
-
+
/* horizontal black lines */
if (ctree->line_style == GTK_CTREE_LINES_TABBED)
{
-
+
column_right = (COLUMN_LEFT_XPIXEL (clist, ctree->tree_column) +
clist->column[ctree->tree_column].area.width +
COLUMN_INSET);
column_left = (COLUMN_LEFT_XPIXEL (clist, ctree->tree_column) -
COLUMN_INSET - (ctree->tree_column != 0) * CELL_SPACING);
-
+
switch (clist->column[ctree->tree_column].justification)
{
case GTK_JUSTIFY_CENTER:
@@ -1681,7 +1680,7 @@ draw_row (GtkCList *clist,
case GTK_JUSTIFY_LEFT:
offset = (column_left + ctree->tree_indent *
(((GtkCTreeRow *)clist_row)->level - 1));
-
+
gdk_draw_line (clist->clist_window, ctree->lines_gc,
MIN (offset + TAB_SIZE, column_right),
cell_rectangle.y,
@@ -1690,7 +1689,7 @@ draw_row (GtkCList *clist,
case GTK_JUSTIFY_RIGHT:
offset = (column_right - 1 - ctree->tree_indent *
(((GtkCTreeRow *)clist_row)->level - 1));
-
+
gdk_draw_line (clist->clist_window, ctree->lines_gc,
-1, cell_rectangle.y,
MAX (offset - TAB_SIZE, column_left),
@@ -1698,18 +1697,18 @@ draw_row (GtkCList *clist,
break;
}
}
-
+
/* the last row has to clear its bottom cell spacing too */
if (clist_row == clist->row_list_end->data)
{
cell_rectangle.y += clist->row_height + CELL_SPACING;
-
+
if (!area || gdk_rectangle_intersect (area, &cell_rectangle, crect))
{
gdk_draw_rectangle (clist->clist_window,
widget->style->base_gc[GTK_STATE_ACTIVE], TRUE,
crect->x, crect->y, crect->width, crect->height);
-
+
/* horizontal black lines */
if (ctree->line_style == GTK_CTREE_LINES_TABBED)
{
@@ -1739,43 +1738,43 @@ draw_row (GtkCList *clist,
}
}
}
-
+
for (last_column = clist->columns - 1;
last_column >= 0 && !clist->column[last_column].visible; last_column--)
;
-
+
/* iterate and draw all the columns (row cells) and draw their contents */
for (i = 0; i < clist->columns; i++)
{
GtkStyle *style;
GdkGC *fg_gc;
GdkGC *bg_gc;
-
+
gint width;
gint height;
gint pixmap_width;
gint string_width;
gint old_offset;
gint row_center_offset;
-
+
if (!clist->column[i].visible)
continue;
-
+
get_cell_style (clist, clist_row, state, i, &style, &fg_gc, &bg_gc);
-
+
/* calculate clipping region */
clip_rectangle.x = clist->column[i].area.x + clist->hoffset;
clip_rectangle.width = clist->column[i].area.width;
-
+
cell_rectangle.x = clip_rectangle.x - COLUMN_INSET - CELL_SPACING;
cell_rectangle.width = (clip_rectangle.width + 2 * COLUMN_INSET +
(1 + (i == last_column)) * CELL_SPACING);
cell_rectangle.y = clip_rectangle.y;
cell_rectangle.height = clip_rectangle.height;
-
+
string_width = 0;
pixmap_width = 0;
-
+
if (area && !gdk_rectangle_intersect (area, &cell_rectangle,
&intersect_rectangle))
{
@@ -1786,7 +1785,7 @@ draw_row (GtkCList *clist,
{
gdk_draw_rectangle (clist->clist_window, bg_gc, TRUE,
crect->x, crect->y, crect->width, crect->height);
-
+
/* calculate real width for column justification */
switch (clist_row->cell[i].type)
{
@@ -1805,20 +1804,20 @@ draw_row (GtkCList *clist,
gdk_window_get_size
(GTK_CELL_PIXTEXT (clist_row->cell[i])->pixmap,
&pixmap_width, &height);
-
+
width = pixmap_width;
-
+
if (GTK_CELL_PIXTEXT (clist_row->cell[i])->text)
{
string_width = gdk_string_width
(style->font, GTK_CELL_PIXTEXT (clist_row->cell[i])->text);
width += string_width;
}
-
+
if (GTK_CELL_PIXTEXT (clist_row->cell[i])->text &&
GTK_CELL_PIXTEXT (clist_row->cell[i])->pixmap)
width += GTK_CELL_PIXTEXT (clist_row->cell[i])->spacing;
-
+
if (i == ctree->tree_column)
width += (ctree->tree_indent *
((GtkCTreeRow *)clist_row)->level);
@@ -1827,7 +1826,7 @@ draw_row (GtkCList *clist,
continue;
break;
}
-
+
switch (clist->column[i].justification)
{
case GTK_JUSTIFY_LEFT:
@@ -1843,7 +1842,7 @@ draw_row (GtkCList *clist,
(clip_rectangle.width / 2) - (width / 2));
break;
};
-
+
if (i != ctree->tree_column)
{
offset += clist_row->cell[i].horizontal;
@@ -1877,7 +1876,7 @@ draw_row (GtkCList *clist,
1.5 + style->font->ascent);
else
row_center_offset = clist->row_center_offset;
-
+
gdk_gc_set_clip_rectangle (fg_gc, &clip_rectangle);
gdk_draw_string
(clist->clist_window, style->font, fg_gc,
@@ -1895,37 +1894,37 @@ draw_row (GtkCList *clist,
continue;
}
}
-
+
if (bg_gc == clist->bg_gc)
gdk_gc_set_background (ctree->lines_gc, &clist_row->background);
-
+
/* draw ctree->tree_column */
cell_rectangle.y -= CELL_SPACING;
cell_rectangle.height += CELL_SPACING;
-
+
if (area && !gdk_rectangle_intersect (area, &cell_rectangle,
&intersect_rectangle))
continue;
-
+
/* draw lines */
offset = gtk_ctree_draw_lines (ctree, (GtkCTreeRow *)clist_row, row, i,
state, &clip_rectangle, &cell_rectangle,
crect, area, style);
-
+
/* draw expander */
offset = gtk_ctree_draw_expander (ctree, (GtkCTreeRow *)clist_row,
style, &clip_rectangle, offset);
-
+
if (clist->column[i].justification == GTK_JUSTIFY_RIGHT)
offset -= ctree->tree_spacing;
else
offset += ctree->tree_spacing;
-
+
if (clist->column[i].justification == GTK_JUSTIFY_RIGHT)
offset -= (pixmap_width + clist_row->cell[i].horizontal);
else
offset += clist_row->cell[i].horizontal;
-
+
old_offset = offset;
offset = draw_cell_pixmap (clist->clist_window, &clip_rectangle, fg_gc,
GTK_CELL_PIXTEXT (clist_row->cell[i])->pixmap,
@@ -1934,7 +1933,7 @@ draw_row (GtkCList *clist,
clip_rectangle.y + clist_row->cell[i].vertical
+ (clip_rectangle.height - height) / 2,
pixmap_width, height);
-
+
if (string_width)
{
if (clist->column[i].justification == GTK_JUSTIFY_RIGHT)
@@ -1948,7 +1947,7 @@ draw_row (GtkCList *clist,
if (GTK_CELL_PIXTEXT (clist_row->cell[i])->pixmap)
offset += GTK_CELL_PIXTEXT (clist_row->cell[i])->spacing;
}
-
+
if (style != GTK_WIDGET (clist)->style)
row_center_offset = (((clist->row_height - style->font->ascent -
style->font->descent - 1) / 2) +
@@ -1964,7 +1963,7 @@ draw_row (GtkCList *clist,
}
gdk_gc_set_clip_rectangle (fg_gc, NULL);
}
-
+
/* draw focus rectangle */
if (clist->focus_row == row &&
GTK_WIDGET_CAN_FOCUS (widget) && GTK_WIDGET_HAS_FOCUS (widget))
@@ -1993,7 +1992,7 @@ tree_draw_node (GtkCTree *ctree,
GtkCList *clist;
clist = GTK_CLIST (ctree);
-
+
if (CLIST_UNFROZEN (clist) && gtk_ctree_is_viewable (ctree, node))
{
GtkCTreeNode *work;
@@ -2006,7 +2005,7 @@ tree_draw_node (GtkCTree *ctree,
num++;
}
if (work && gtk_clist_row_is_visible (clist, num) != GTK_VISIBILITY_NONE)
- GTK_CLIST_CLASS_FW (clist)->draw_row
+ GTK_CLIST_GET_CLASS (clist)->draw_row
(clist, NULL, num, GTK_CLIST_ROW ((GList *) node));
}
}
@@ -2019,15 +2018,15 @@ gtk_ctree_last_visible (GtkCTree *ctree,
if (!node)
return NULL;
-
+
work = GTK_CTREE_ROW (node)->children;
-
+
if (!work || !GTK_CTREE_ROW (node)->expanded)
return node;
-
+
while (GTK_CTREE_ROW (work)->sibling)
work = GTK_CTREE_ROW (work)->sibling;
-
+
return gtk_ctree_last_visible (ctree, work);
}
@@ -2050,38 +2049,38 @@ gtk_ctree_link (GtkCTree *ctree,
g_return_if_fail (node != NULL);
g_return_if_fail (node != sibling);
g_return_if_fail (node != parent);
-
+
clist = GTK_CLIST (ctree);
-
+
if (update_focus_row && clist->selection_mode == GTK_SELECTION_EXTENDED)
{
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
+ GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
}
-
+
for (rows = 1, list_end = (GList *)node; list_end->next;
list_end = list_end->next)
rows++;
-
+
GTK_CTREE_ROW (node)->parent = parent;
GTK_CTREE_ROW (node)->sibling = sibling;
-
+
if (!parent || (parent && (gtk_ctree_is_viewable (ctree, parent) &&
GTK_CTREE_ROW (parent)->expanded)))
{
visible = TRUE;
clist->rows += rows;
}
-
+
if (parent)
work = (GList *)(GTK_CTREE_ROW (parent)->children);
else
work = clist->row_list;
-
+
if (sibling)
{
if (work != (GList *)sibling)
@@ -2090,7 +2089,7 @@ gtk_ctree_link (GtkCTree *ctree,
work = (GList *)(GTK_CTREE_ROW (work)->sibling);
GTK_CTREE_ROW (work)->sibling = node;
}
-
+
if (sibling == GTK_CTREE_NODE (clist->row_list))
clist->row_list = (GList *) node;
if (GTK_CTREE_NODE_PREV (sibling) &&
@@ -2158,19 +2157,19 @@ gtk_ctree_link (GtkCTree *ctree,
}
}
}
-
+
gtk_ctree_pre_recursive (ctree, node, tree_update_level, NULL);
-
+
if (clist->row_list_end == NULL ||
clist->row_list_end->next == (GList *)node)
clist->row_list_end = list_end;
-
+
if (visible && update_focus_row)
{
gint pos;
-
+
pos = g_list_position (clist->row_list, (GList *)node);
-
+
if (pos <= clist->focus_row)
{
clist->focus_row += rows;
@@ -2191,25 +2190,25 @@ gtk_ctree_unlink (GtkCTree *ctree,
GtkCTreeNode *work;
GtkCTreeNode *parent;
GList *list;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
clist = GTK_CLIST (ctree);
if (update_focus_row && clist->selection_mode == GTK_SELECTION_EXTENDED)
{
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
+ GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
}
-
+
visible = gtk_ctree_is_viewable (ctree, node);
-
+
/* clist->row_list_end unlinked ? */
if (visible &&
(GTK_CTREE_NODE_NEXT (node) == NULL ||
@@ -2217,7 +2216,7 @@ gtk_ctree_unlink (GtkCTree *ctree,
gtk_ctree_is_ancestor (ctree, node,
GTK_CTREE_NODE (clist->row_list_end)))))
clist->row_list_end = (GList *) (GTK_CTREE_NODE_PREV (node));
-
+
/* update list */
rows = 0;
level = GTK_CTREE_ROW (node)->level;
@@ -2227,11 +2226,11 @@ gtk_ctree_unlink (GtkCTree *ctree,
work = GTK_CTREE_NODE_NEXT (work);
rows++;
}
-
+
if (visible)
{
clist->rows -= (rows + 1);
-
+
if (update_focus_row)
{
gint pos;
@@ -2251,7 +2250,7 @@ gtk_ctree_unlink (GtkCTree *ctree,
clist->undo_anchor = clist->focus_row;
}
}
-
+
if (work)
{
list = (GList *)GTK_CTREE_NODE_PREV (work);
@@ -2259,14 +2258,14 @@ gtk_ctree_unlink (GtkCTree *ctree,
list = (GList *)work;
list->prev = (GList *)GTK_CTREE_NODE_PREV (node);
}
-
+
if (GTK_CTREE_NODE_PREV (node) &&
GTK_CTREE_NODE_NEXT (GTK_CTREE_NODE_PREV (node)) == node)
{
list = (GList *)GTK_CTREE_NODE_PREV (node);
list->next = (GList *)work;
}
-
+
/* update tree */
parent = GTK_CTREE_ROW (node)->parent;
if (parent)
@@ -2280,7 +2279,7 @@ gtk_ctree_unlink (GtkCTree *ctree,
else
{
GtkCTreeNode *sibling;
-
+
sibling = GTK_CTREE_ROW (parent)->children;
while (GTK_CTREE_ROW (sibling)->sibling != node)
sibling = GTK_CTREE_ROW (sibling)->sibling;
@@ -2294,7 +2293,7 @@ gtk_ctree_unlink (GtkCTree *ctree,
else
{
GtkCTreeNode *sibling;
-
+
sibling = GTK_CTREE_NODE (clist->row_list);
while (GTK_CTREE_ROW (sibling)->sibling != node)
sibling = GTK_CTREE_ROW (sibling)->sibling;
@@ -2310,42 +2309,42 @@ real_row_move (GtkCList *clist,
{
GtkCTree *ctree;
GtkCTreeNode *node;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
-
+
if (GTK_CLIST_AUTO_SORT (clist))
return;
-
+
if (source_row < 0 || source_row >= clist->rows ||
dest_row < 0 || dest_row >= clist->rows ||
source_row == dest_row)
return;
-
+
ctree = GTK_CTREE (clist);
node = GTK_CTREE_NODE (g_list_nth (clist->row_list, source_row));
-
+
if (source_row < dest_row)
{
GtkCTreeNode *work;
-
+
dest_row++;
work = GTK_CTREE_ROW (node)->children;
-
+
while (work && GTK_CTREE_ROW (work)->level > GTK_CTREE_ROW (node)->level)
{
work = GTK_CTREE_NODE_NEXT (work);
dest_row++;
}
-
+
if (dest_row > clist->rows)
dest_row = clist->rows;
}
-
+
if (dest_row < clist->rows)
{
GtkCTreeNode *sibling;
-
+
sibling = GTK_CTREE_NODE (g_list_nth (clist->row_list, dest_row));
gtk_ctree_move (ctree, node, GTK_CTREE_ROW (sibling)->parent, sibling);
}
@@ -2362,34 +2361,34 @@ real_tree_move (GtkCTree *ctree,
GtkCList *clist;
GtkCTreeNode *work;
gboolean visible = FALSE;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (node != NULL);
g_return_if_fail (!new_sibling ||
GTK_CTREE_ROW (new_sibling)->parent == new_parent);
-
+
if (new_parent && GTK_CTREE_ROW (new_parent)->is_leaf)
return;
-
+
/* new_parent != child of child */
for (work = new_parent; work; work = GTK_CTREE_ROW (work)->parent)
if (work == node)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
visible = gtk_ctree_is_viewable (ctree, node);
-
+
if (clist->selection_mode == GTK_SELECTION_EXTENDED)
{
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
+ GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
}
-
+
if (GTK_CLIST_AUTO_SORT (clist))
{
if (new_parent == GTK_CTREE_ROW (node)->parent)
@@ -2399,23 +2398,23 @@ real_tree_move (GtkCTree *ctree,
new_sibling = GTK_CTREE_ROW (new_parent)->children;
else
new_sibling = GTK_CTREE_NODE (clist->row_list);
-
+
while (new_sibling && clist->compare
(clist, GTK_CTREE_ROW (node), GTK_CTREE_ROW (new_sibling)) > 0)
new_sibling = GTK_CTREE_ROW (new_sibling)->sibling;
}
-
+
if (new_parent == GTK_CTREE_ROW (node)->parent &&
new_sibling == GTK_CTREE_ROW (node)->sibling)
return;
-
+
gtk_clist_freeze (clist);
-
+
work = NULL;
if (gtk_ctree_is_viewable (ctree, node) ||
gtk_ctree_is_viewable (ctree, new_sibling))
work = GTK_CTREE_NODE (g_list_nth (clist->row_list, clist->focus_row));
-
+
gtk_ctree_unlink (ctree, node, FALSE);
gtk_ctree_link (ctree, node, new_parent, new_sibling, FALSE);
@@ -2426,14 +2425,14 @@ real_tree_move (GtkCTree *ctree,
clist->focus_row = g_list_position (clist->row_list, (GList *)work);
clist->undo_anchor = clist->focus_row;
}
-
+
if (clist->column[ctree->tree_column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist) &&
(visible || gtk_ctree_is_viewable (ctree, node)))
gtk_clist_set_column_width
(clist, ctree->tree_column,
gtk_clist_optimal_column_width (clist, ctree->tree_column));
-
+
gtk_clist_thaw (clist);
}
@@ -2443,12 +2442,12 @@ change_focus_row_expansion (GtkCTree *ctree,
{
GtkCList *clist;
GtkCTreeNode *node;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
clist = GTK_CLIST (ctree);
-
+
if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (ctree))
return;
@@ -2456,7 +2455,7 @@ change_focus_row_expansion (GtkCTree *ctree,
GTK_CTREE_NODE (g_list_nth (clist->row_list, clist->focus_row))) ||
GTK_CTREE_ROW (node)->is_leaf || !(GTK_CTREE_ROW (node)->children))
return;
-
+
switch (action)
{
case GTK_CTREE_EXPANSION_EXPAND:
@@ -2489,27 +2488,27 @@ real_tree_expand (GtkCTree *ctree,
GtkRequisition requisition;
gboolean visible;
gint level;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
if (!node || GTK_CTREE_ROW (node)->expanded || GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
clist = GTK_CLIST (ctree);
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
-
+ GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
+
GTK_CTREE_ROW (node)->expanded = TRUE;
level = GTK_CTREE_ROW (node)->level;
-
+
visible = gtk_ctree_is_viewable (ctree, node);
/* get cell width if tree_column is auto resized */
if (visible && clist->column[ctree->tree_column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
- GTK_CLIST_CLASS_FW (clist)->cell_size_request
+ GTK_CLIST_GET_CLASS (clist)->cell_size_request
(clist, &GTK_CTREE_ROW (node)->row, ctree->tree_column, &requisition);
-
+
/* unref/unset closed pixmap */
if (GTK_CELL_PIXTEXT
(GTK_CTREE_ROW (node)->row.cell[ctree->tree_column])->pixmap)
@@ -2531,21 +2530,21 @@ real_tree_expand (GtkCTree *ctree,
(GTK_CTREE_ROW (node)->row.cell[ctree->tree_column])->mask = NULL;
}
}
-
+
/* set/ref opened pixmap */
if (GTK_CTREE_ROW (node)->pixmap_opened)
{
GTK_CELL_PIXTEXT
(GTK_CTREE_ROW (node)->row.cell[ctree->tree_column])->pixmap =
gdk_pixmap_ref (GTK_CTREE_ROW (node)->pixmap_opened);
-
+
if (GTK_CTREE_ROW (node)->mask_opened)
GTK_CELL_PIXTEXT
(GTK_CTREE_ROW (node)->row.cell[ctree->tree_column])->mask =
gdk_pixmap_ref (GTK_CTREE_ROW (node)->mask_opened);
}
-
-
+
+
work = GTK_CTREE_ROW (node)->children;
if (work)
{
@@ -2559,19 +2558,19 @@ real_tree_expand (GtkCTree *ctree,
{
cell_width = g_new0 (gint, clist->columns);
if (clist->column[ctree->tree_column].auto_resize)
- cell_width[ctree->tree_column] = requisition.width;
-
+ cell_width[ctree->tree_column] = requisition.width;
+
while (work)
{
/* search maximum cell widths of auto_resize columns */
for (i = 0; i < clist->columns; i++)
if (clist->column[i].auto_resize)
{
- GTK_CLIST_CLASS_FW (clist)->cell_size_request
+ GTK_CLIST_GET_CLASS (clist)->cell_size_request
(clist, &GTK_CTREE_ROW (work)->row, i, &requisition);
cell_width[i] = MAX (requisition.width, cell_width[i]);
}
-
+
list = (GList *)work;
work = GTK_CTREE_NODE_NEXT (work);
tmp++;
@@ -2584,22 +2583,22 @@ real_tree_expand (GtkCTree *ctree,
work = GTK_CTREE_NODE_NEXT (work);
tmp++;
}
-
+
list->next = (GList *)GTK_CTREE_NODE_NEXT (node);
-
+
if (GTK_CTREE_NODE_NEXT (node))
{
GList *tmp_list;
-
+
tmp_list = (GList *)GTK_CTREE_NODE_NEXT (node);
tmp_list->prev = list;
}
else
clist->row_list_end = list;
-
+
list = (GList *)node;
list->next = (GList *)(GTK_CTREE_ROW (node)->children);
-
+
if (visible)
{
/* resize auto_resize columns if needed */
@@ -2608,12 +2607,12 @@ real_tree_expand (GtkCTree *ctree,
cell_width[i] > clist->column[i].width)
gtk_clist_set_column_width (clist, i, cell_width[i]);
g_free (cell_width);
-
+
/* update focus_row position */
row = g_list_position (clist->row_list, (GList *)node);
if (row < clist->focus_row)
clist->focus_row += tmp;
-
+
clist->rows += tmp;
CLIST_REFRESH (clist);
}
@@ -2633,28 +2632,28 @@ real_tree_collapse (GtkCTree *ctree,
GtkRequisition requisition;
gboolean visible;
gint level;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
if (!node || !GTK_CTREE_ROW (node)->expanded ||
GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
clist = GTK_CLIST (ctree);
-
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
+
+ GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
GTK_CTREE_ROW (node)->expanded = FALSE;
level = GTK_CTREE_ROW (node)->level;
-
+
visible = gtk_ctree_is_viewable (ctree, node);
/* get cell width if tree_column is auto resized */
if (visible && clist->column[ctree->tree_column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
- GTK_CLIST_CLASS_FW (clist)->cell_size_request
+ GTK_CLIST_GET_CLASS (clist)->cell_size_request
(clist, &GTK_CTREE_ROW (node)->row, ctree->tree_column, &requisition);
-
+
/* unref/unset opened pixmap */
if (GTK_CELL_PIXTEXT
(GTK_CTREE_ROW (node)->row.cell[ctree->tree_column])->pixmap)
@@ -2676,33 +2675,33 @@ real_tree_collapse (GtkCTree *ctree,
(GTK_CTREE_ROW (node)->row.cell[ctree->tree_column])->mask = NULL;
}
}
-
+
/* set/ref closed pixmap */
if (GTK_CTREE_ROW (node)->pixmap_closed)
{
GTK_CELL_PIXTEXT
(GTK_CTREE_ROW (node)->row.cell[ctree->tree_column])->pixmap =
gdk_pixmap_ref (GTK_CTREE_ROW (node)->pixmap_closed);
-
+
if (GTK_CTREE_ROW (node)->mask_closed)
GTK_CELL_PIXTEXT
(GTK_CTREE_ROW (node)->row.cell[ctree->tree_column])->mask =
gdk_pixmap_ref (GTK_CTREE_ROW (node)->mask_closed);
}
-
+
work = GTK_CTREE_ROW (node)->children;
if (work)
{
gint tmp = 0;
gint row;
GList *list;
-
+
while (work && GTK_CTREE_ROW (work)->level > level)
{
work = GTK_CTREE_NODE_NEXT (work);
tmp++;
}
-
+
if (work)
{
list = (GList *)node;
@@ -2718,12 +2717,12 @@ real_tree_collapse (GtkCTree *ctree,
list->next = NULL;
clist->row_list_end = (GList *)node;
}
-
+
if (visible)
{
/* resize auto_resize columns if needed */
auto_resize_columns (clist);
-
+
row = g_list_position (clist->row_list, (GList *)node);
if (row < clist->focus_row)
clist->focus_row -= tmp;
@@ -2736,7 +2735,7 @@ real_tree_collapse (GtkCTree *ctree,
/* resize tree_column if needed */
column_auto_resize (clist, &GTK_CTREE_ROW (node)->row, ctree->tree_column,
requisition.width);
-
+
}
static void
@@ -2747,17 +2746,17 @@ column_auto_resize (GtkCList *clist,
{
/* resize column if needed for auto_resize */
GtkRequisition requisition;
-
+
if (!clist->column[column].auto_resize ||
GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
return;
-
+
if (clist_row)
- GTK_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row,
- column, &requisition);
+ GTK_CLIST_GET_CLASS (clist)->cell_size_request (clist, clist_row,
+ column, &requisition);
else
requisition.width = 0;
-
+
if (requisition.width > clist->column[column].width)
gtk_clist_set_column_width (clist, column, requisition.width);
else if (requisition.width < old_width &&
@@ -2765,7 +2764,7 @@ column_auto_resize (GtkCList *clist,
{
GList *list;
gint new_width;
-
+
/* run a "gtk_clist_optimal_column_width" but break, if
* the column doesn't shrink */
if (GTK_CLIST_SHOW_TITLES (clist) && clist->column[column].button)
@@ -2773,10 +2772,10 @@ column_auto_resize (GtkCList *clist,
(CELL_SPACING + (2 * COLUMN_INSET)));
else
new_width = 0;
-
+
for (list = clist->row_list; list; list = list->next)
{
- GTK_CLIST_CLASS_FW (clist)->cell_size_request
+ GTK_CLIST_GET_CLASS (clist)->cell_size_request
(clist, GTK_CLIST_ROW (list), column, &requisition);
new_width = MAX (new_width, requisition.width);
if (new_width == clist->column[column].width)
@@ -2791,10 +2790,10 @@ static void
auto_resize_columns (GtkCList *clist)
{
gint i;
-
+
if (GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
return;
-
+
for (i = 0; i < clist->columns; i++)
column_auto_resize (clist, NULL, i, clist->column[i].width);
}
@@ -2809,16 +2808,16 @@ cell_size_request (GtkCList *clist,
GtkStyle *style;
gint width;
gint height;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
g_return_if_fail (requisition != NULL);
-
+
ctree = GTK_CTREE (clist);
-
+
get_cell_style (clist, clist_row, GTK_STATE_NORMAL, column, &style,
NULL, NULL);
-
+
switch (clist_row->cell[column].type)
{
case GTK_CELL_TEXT:
@@ -2837,11 +2836,11 @@ cell_size_request (GtkCList *clist,
}
else
width = height = 0;
-
+
requisition->width = width +
gdk_string_width (style->font,
GTK_CELL_TEXT (clist_row->cell[column])->text);
-
+
requisition->height = MAX (style->font->ascent + style->font->descent,
height);
if (column == ctree->tree_column)
@@ -2875,7 +2874,7 @@ cell_size_request (GtkCList *clist,
requisition->height = 0;
break;
}
-
+
requisition->width += clist_row->cell[column].horizontal;
requisition->height += clist_row->cell[column].vertical;
}
@@ -2893,28 +2892,28 @@ set_cell_contents (GtkCList *clist,
gboolean visible = FALSE;
GtkCTree *ctree;
GtkRequisition requisition;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
g_return_if_fail (clist_row != NULL);
-
+
ctree = GTK_CTREE (clist);
-
+
if (clist->column[column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
{
GtkCTreeNode *parent;
-
+
parent = ((GtkCTreeRow *)clist_row)->parent;
if (!parent || (parent && GTK_CTREE_ROW (parent)->expanded &&
gtk_ctree_is_viewable (ctree, parent)))
{
visible = TRUE;
- GTK_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row,
- column, &requisition);
+ GTK_CLIST_GET_CLASS (clist)->cell_size_request (clist, clist_row,
+ column, &requisition);
}
}
-
+
switch (clist_row->cell[column].type)
{
case GTK_CELL_EMPTY:
@@ -2947,11 +2946,11 @@ set_cell_contents (GtkCList *clist,
default:
break;
}
-
+
clist_row->cell[column].type = GTK_CELL_EMPTY;
if (column == ctree->tree_column && type != GTK_CELL_EMPTY)
type = GTK_CELL_PIXTEXT;
-
+
switch (type)
{
case GTK_CELL_TEXT:
@@ -3032,12 +3031,12 @@ set_node_info (GtkCTree *ctree,
if (GTK_CTREE_ROW (node)->mask_closed)
gdk_bitmap_unref (GTK_CTREE_ROW (node)->mask_closed);
}
-
+
GTK_CTREE_ROW (node)->pixmap_opened = NULL;
GTK_CTREE_ROW (node)->mask_opened = NULL;
GTK_CTREE_ROW (node)->pixmap_closed = NULL;
GTK_CTREE_ROW (node)->mask_closed = NULL;
-
+
if (pixmap_closed)
{
GTK_CTREE_ROW (node)->pixmap_closed = gdk_pixmap_ref (pixmap_closed);
@@ -3050,10 +3049,10 @@ set_node_info (GtkCTree *ctree,
if (mask_opened)
GTK_CTREE_ROW (node)->mask_opened = gdk_bitmap_ref (mask_opened);
}
-
+
GTK_CTREE_ROW (node)->is_leaf = is_leaf;
GTK_CTREE_ROW (node)->expanded = (is_leaf) ? FALSE : expanded;
-
+
if (GTK_CTREE_ROW (node)->expanded)
gtk_ctree_node_set_pixtext (ctree, node, ctree->tree_column,
text, spacing, pixmap_opened, mask_opened);
@@ -3088,12 +3087,12 @@ tree_update_level (GtkCTree *ctree,
{
if (!node)
return;
-
+
if (GTK_CTREE_ROW (node)->parent)
- GTK_CTREE_ROW (node)->level =
- GTK_CTREE_ROW (GTK_CTREE_ROW (node)->parent)->level + 1;
+ GTK_CTREE_ROW (node)->level =
+ GTK_CTREE_ROW (GTK_CTREE_ROW (node)->parent)->level + 1;
else
- GTK_CTREE_ROW (node)->level = 1;
+ GTK_CTREE_ROW (node)->level = 1;
}
static void
@@ -3151,7 +3150,7 @@ tree_toggle_expansion (GtkCTree *ctree,
{
if (!node)
return;
-
+
if (GTK_CTREE_ROW (node)->expanded)
gtk_signal_emit (GTK_OBJECT (ctree), ctree_signals[TREE_COLLAPSE], node);
else
@@ -3164,11 +3163,11 @@ row_new (GtkCTree *ctree)
GtkCList *clist;
GtkCTreeRow *ctree_row;
int i;
-
+
clist = GTK_CLIST (ctree);
ctree_row = g_chunk_new (GtkCTreeRow, clist->row_mem_chunk);
ctree_row->row.cell = g_chunk_new (GtkCell, clist->cell_mem_chunk);
-
+
for (i = 0; i < clist->columns; i++)
{
ctree_row->row.cell[i].type = GTK_CELL_EMPTY;
@@ -3176,9 +3175,9 @@ row_new (GtkCTree *ctree)
ctree_row->row.cell[i].horizontal = 0;
ctree_row->row.cell[i].style = NULL;
}
-
+
GTK_CELL_PIXTEXT (ctree_row->row.cell[ctree->tree_column])->text = NULL;
-
+
ctree_row->row.fg_set = FALSE;
ctree_row->row.bg_set = FALSE;
ctree_row->row.style = NULL;
@@ -3186,7 +3185,7 @@ row_new (GtkCTree *ctree)
ctree_row->row.state = GTK_STATE_NORMAL;
ctree_row->row.data = NULL;
ctree_row->row.destroy = NULL;
-
+
ctree_row->level = 0;
ctree_row->expanded = FALSE;
ctree_row->parent = NULL;
@@ -3206,12 +3205,12 @@ row_delete (GtkCTree *ctree,
{
GtkCList *clist;
gint i;
-
+
clist = GTK_CLIST (ctree);
-
+
for (i = 0; i < clist->columns; i++)
{
- GTK_CLIST_CLASS_FW (clist)->set_cell_contents
+ GTK_CLIST_GET_CLASS (clist)->set_cell_contents
(clist, &(ctree_row->row), i, GTK_CELL_EMPTY, NULL, 0, NULL, NULL);
if (ctree_row->row.cell[i].style)
{
@@ -3220,39 +3219,39 @@ row_delete (GtkCTree *ctree,
gtk_style_unref (ctree_row->row.cell[i].style);
}
}
-
+
if (ctree_row->row.style)
{
if (GTK_WIDGET_REALIZED (ctree))
gtk_style_detach (ctree_row->row.style);
gtk_style_unref (ctree_row->row.style);
}
-
+
if (ctree_row->pixmap_closed)
{
gdk_pixmap_unref (ctree_row->pixmap_closed);
if (ctree_row->mask_closed)
gdk_bitmap_unref (ctree_row->mask_closed);
}
-
+
if (ctree_row->pixmap_opened)
{
gdk_pixmap_unref (ctree_row->pixmap_opened);
if (ctree_row->mask_opened)
gdk_bitmap_unref (ctree_row->mask_opened);
}
-
+
if (ctree_row->row.destroy)
{
GtkDestroyNotify dnotify = ctree_row->row.destroy;
gpointer ddata = ctree_row->row.data;
-
+
ctree_row->row.destroy = NULL;
ctree_row->row.data = NULL;
-
+
dnotify (ddata);
}
-
+
g_mem_chunk_free (clist->cell_mem_chunk, ctree_row->row.cell);
g_mem_chunk_free (clist->row_mem_chunk, ctree_row);
}
@@ -3264,7 +3263,7 @@ real_select_row (GtkCList *clist,
GdkEvent *event)
{
GList *node;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
@@ -3281,10 +3280,10 @@ real_unselect_row (GtkCList *clist,
GdkEvent *event)
{
GList *node;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
-
+
if ((node = g_list_nth (clist->row_list, row)))
gtk_signal_emit (GTK_OBJECT (clist), ctree_signals[TREE_UNSELECT_ROW],
node, column);
@@ -3299,24 +3298,24 @@ real_tree_select (GtkCTree *ctree,
GList *list;
GtkCTreeNode *sel_row;
gboolean node_selected;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
if (!node || GTK_CTREE_ROW (node)->row.state == GTK_STATE_SELECTED ||
!GTK_CTREE_ROW (node)->row.selectable)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
switch (clist->selection_mode)
{
case GTK_SELECTION_SINGLE:
case GTK_SELECTION_BROWSE:
-
+
node_selected = FALSE;
list = clist->selection;
-
+
while (list)
{
sel_row = list->data;
@@ -3328,16 +3327,16 @@ real_tree_select (GtkCTree *ctree,
gtk_signal_emit (GTK_OBJECT (ctree),
ctree_signals[TREE_UNSELECT_ROW], sel_row, column);
}
-
+
if (node_selected)
return;
-
+
default:
break;
}
-
+
GTK_CTREE_ROW (node)->row.state = GTK_STATE_SELECTED;
-
+
if (!clist->selection)
{
clist->selection = g_list_append (clist->selection, node);
@@ -3345,7 +3344,7 @@ real_tree_select (GtkCTree *ctree,
}
else
clist->selection_end = g_list_append (clist->selection_end, node)->next;
-
+
tree_draw_node (ctree, node);
}
@@ -3355,22 +3354,22 @@ real_tree_unselect (GtkCTree *ctree,
gint column)
{
GtkCList *clist;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
if (!node || GTK_CTREE_ROW (node)->row.state != GTK_STATE_SELECTED)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
if (clist->selection_end && clist->selection_end->data == node)
clist->selection_end = clist->selection_end->prev;
-
+
clist->selection = g_list_remove (clist->selection, node);
GTK_CTREE_ROW (node)->row.state = GTK_STATE_NORMAL;
-
+
tree_draw_node (ctree, node);
}
@@ -3382,7 +3381,7 @@ select_row_recursive (GtkCTree *ctree,
if (!node || GTK_CTREE_ROW (node)->row.state == GTK_STATE_SELECTED ||
!GTK_CTREE_ROW (node)->row.selectable)
return;
-
+
GTK_CLIST (ctree)->undo_unselection =
g_list_prepend (GTK_CLIST (ctree)->undo_unselection, node);
gtk_ctree_select (ctree, node);
@@ -3396,40 +3395,40 @@ real_select_all (GtkCList *clist)
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
-
+
ctree = GTK_CTREE (clist);
-
+
switch (clist->selection_mode)
{
case GTK_SELECTION_SINGLE:
case GTK_SELECTION_BROWSE:
return;
-
+
case GTK_SELECTION_EXTENDED:
-
+
gtk_clist_freeze (clist);
-
+
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
-
+
clist->anchor_state = GTK_STATE_SELECTED;
clist->anchor = -1;
clist->drag_pos = -1;
clist->undo_anchor = clist->focus_row;
-
+
for (node = GTK_CTREE_NODE (clist->row_list); node;
node = GTK_CTREE_NODE_NEXT (node))
gtk_ctree_pre_recursive (ctree, node, select_row_recursive, NULL);
-
+
gtk_clist_thaw (clist);
break;
-
+
case GTK_SELECTION_MULTIPLE:
gtk_ctree_select_recursive (ctree, NULL);
break;
-
+
default:
/* do nothing */
break;
@@ -3442,12 +3441,12 @@ real_unselect_all (GtkCList *clist)
GtkCTree *ctree;
GtkCTreeNode *node;
GList *list;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
ctree = GTK_CTREE (clist);
-
+
switch (clist->selection_mode)
{
case GTK_SELECTION_BROWSE:
@@ -3459,24 +3458,24 @@ real_unselect_all (GtkCList *clist)
return;
}
break;
-
+
case GTK_SELECTION_EXTENDED:
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
-
+
clist->anchor = -1;
clist->drag_pos = -1;
clist->undo_anchor = clist->focus_row;
break;
-
+
default:
break;
}
-
+
list = clist->selection;
-
+
while (list)
{
node = list->data;
@@ -3501,20 +3500,20 @@ ctree_is_hot_spot (GtkCTree *ctree,
g_return_val_if_fail (ctree != NULL, FALSE);
g_return_val_if_fail (GTK_IS_CTREE (ctree), FALSE);
g_return_val_if_fail (node != NULL, FALSE);
-
+
clist = GTK_CLIST (ctree);
-
+
if (!clist->column[ctree->tree_column].visible ||
ctree->expander_style == GTK_CTREE_EXPANDER_NONE)
return FALSE;
-
+
tree_row = GTK_CTREE_ROW (node);
-
+
cell = GTK_CELL_PIXTEXT(tree_row->row.cell[ctree->tree_column]);
-
+
yu = (ROW_TOP_YPIXEL (clist, row) + (clist->row_height - PM_SIZE) / 2 -
(clist->row_height - 1) % 2);
-
+
if (clist->column[ctree->tree_column].justification == GTK_JUSTIFY_RIGHT)
xl = (clist->column[ctree->tree_column].area.x +
clist->column[ctree->tree_column].area.width - 1 + clist->hoffset -
@@ -3524,7 +3523,7 @@ ctree_is_hot_spot (GtkCTree *ctree,
xl = (clist->column[ctree->tree_column].area.x + clist->hoffset +
(tree_row->level - 1) * ctree->tree_indent +
(ctree->line_style == GTK_CTREE_LINES_TABBED) * 3);
-
+
return (x >= xl && x <= xl + PM_SIZE && y >= yu && y <= yu + PM_SIZE);
}
@@ -3546,27 +3545,27 @@ gtk_ctree_construct (GtkCTree *ctree,
gchar *titles[])
{
GtkCList *clist;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (GTK_OBJECT_CONSTRUCTED (ctree) == FALSE);
-
+
clist = GTK_CLIST (ctree);
-
+
clist->row_mem_chunk = g_mem_chunk_new ("ctree row mem chunk",
sizeof (GtkCTreeRow),
sizeof (GtkCTreeRow)
* CLIST_OPTIMUM_SIZE,
G_ALLOC_AND_FREE);
-
+
clist->cell_mem_chunk = g_mem_chunk_new ("ctree cell mem chunk",
sizeof (GtkCell) * columns,
sizeof (GtkCell) * columns
* CLIST_OPTIMUM_SIZE,
G_ALLOC_AND_FREE);
-
+
ctree->tree_column = tree_column;
-
+
gtk_clist_construct (clist, columns, titles);
}
@@ -3576,13 +3575,13 @@ gtk_ctree_new_with_titles (gint columns,
gchar *titles[])
{
GtkWidget *widget;
-
+
g_return_val_if_fail (columns > 0, NULL);
g_return_val_if_fail (tree_column >= 0 && tree_column < columns, NULL);
-
+
widget = gtk_type_new (GTK_TYPE_CTREE);
gtk_ctree_construct (GTK_CTREE (widget), columns, tree_column, titles);
-
+
return widget;
}
@@ -3601,17 +3600,17 @@ real_insert_row (GtkCList *clist,
GtkCTreeNode *parent = NULL;
GtkCTreeNode *sibling;
GtkCTreeNode *node;
-
+
g_return_val_if_fail (clist != NULL, -1);
g_return_val_if_fail (GTK_IS_CTREE (clist), -1);
-
+
sibling = GTK_CTREE_NODE (g_list_nth (clist->row_list, row));
if (sibling)
parent = GTK_CTREE_ROW (sibling)->parent;
-
+
node = gtk_ctree_insert_node (GTK_CTREE (clist), parent, sibling, text, 5,
NULL, NULL, NULL, NULL, TRUE, FALSE);
-
+
if (GTK_CLIST_AUTO_SORT (clist) || !sibling)
return g_list_position (clist->row_list, (GList *) node);
@@ -3636,33 +3635,33 @@ gtk_ctree_insert_node (GtkCTree *ctree,
GtkCTreeNode *node;
GList *list;
gint i;
-
+
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
if (sibling)
g_return_val_if_fail (GTK_CTREE_ROW (sibling)->parent == parent, NULL);
-
+
if (parent && GTK_CTREE_ROW (parent)->is_leaf)
return NULL;
-
+
clist = GTK_CLIST (ctree);
-
+
/* create the row */
new_row = row_new (ctree);
list = g_list_alloc ();
list->data = new_row;
node = GTK_CTREE_NODE (list);
-
+
if (text)
for (i = 0; i < clist->columns; i++)
if (text[i] && i != ctree->tree_column)
- GTK_CLIST_CLASS_FW (clist)->set_cell_contents
+ GTK_CLIST_GET_CLASS (clist)->set_cell_contents
(clist, &(new_row->row), i, GTK_CELL_TEXT, text[i], 0, NULL, NULL);
-
+
set_node_info (ctree, node, text ?
text[ctree->tree_column] : NULL, spacing, pixmap_closed,
mask_closed, pixmap_opened, mask_opened, is_leaf, expanded);
-
+
/* sorted insertion */
if (GTK_CLIST_AUTO_SORT (clist))
{
@@ -3670,14 +3669,14 @@ gtk_ctree_insert_node (GtkCTree *ctree,
sibling = GTK_CTREE_ROW (parent)->children;
else
sibling = GTK_CTREE_NODE (clist->row_list);
-
+
while (sibling && clist->compare
(clist, GTK_CTREE_ROW (node), GTK_CTREE_ROW (sibling)) > 0)
sibling = GTK_CTREE_ROW (sibling)->sibling;
}
-
+
gtk_ctree_link (ctree, node, parent, sibling, TRUE);
-
+
if (text && !GTK_CLIST_AUTO_RESIZE_BLOCKED (clist) &&
gtk_ctree_is_viewable (ctree, node))
{
@@ -3685,17 +3684,17 @@ gtk_ctree_insert_node (GtkCTree *ctree,
if (clist->column[i].auto_resize)
column_auto_resize (clist, &(new_row->row), i, 0);
}
-
+
if (clist->rows == 1)
{
clist->focus_row = 0;
if (clist->selection_mode == GTK_SELECTION_BROWSE)
gtk_ctree_select (ctree, node);
}
-
-
+
+
CLIST_REFRESH (clist);
-
+
return node;
}
@@ -3714,7 +3713,7 @@ gtk_ctree_insert_gnode (GtkCTree *ctree,
GList *list;
GNode *work;
guint depth = 1;
-
+
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
g_return_val_if_fail (gnode != NULL, NULL);
@@ -3723,38 +3722,38 @@ gtk_ctree_insert_gnode (GtkCTree *ctree,
g_return_val_if_fail (GTK_CTREE_ROW (sibling)->parent == parent, NULL);
clist = GTK_CLIST (ctree);
-
+
if (parent)
depth = GTK_CTREE_ROW (parent)->level + 1;
-
+
list = g_list_alloc ();
list->data = row_new (ctree);
cnode = GTK_CTREE_NODE (list);
-
+
gtk_clist_freeze (clist);
-
+
set_node_info (ctree, cnode, "", 0, NULL, NULL, NULL, NULL, TRUE, FALSE);
-
+
if (!func (ctree, depth, gnode, cnode, data))
{
tree_delete_row (ctree, cnode, NULL);
return NULL;
}
-
+
if (GTK_CLIST_AUTO_SORT (clist))
{
if (parent)
sibling = GTK_CTREE_ROW (parent)->children;
else
sibling = GTK_CTREE_NODE (clist->row_list);
-
+
while (sibling && clist->compare
(clist, GTK_CTREE_ROW (cnode), GTK_CTREE_ROW (sibling)) > 0)
sibling = GTK_CTREE_ROW (sibling)->sibling;
}
-
+
gtk_ctree_link (ctree, cnode, parent, sibling, TRUE);
-
+
for (work = g_node_last_child (gnode); work; work = work->prev)
{
new_child = gtk_ctree_insert_gnode (ctree, cnode, child,
@@ -3764,7 +3763,7 @@ gtk_ctree_insert_gnode (GtkCTree *ctree,
}
gtk_clist_thaw (clist);
-
+
return cnode;
}
@@ -3779,7 +3778,7 @@ gtk_ctree_export_to_gnode (GtkCTree *ctree,
GtkCTreeNode *work;
GNode *gnode;
gint depth;
-
+
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
g_return_val_if_fail (node != NULL, NULL);
@@ -3789,7 +3788,7 @@ gtk_ctree_export_to_gnode (GtkCTree *ctree,
g_return_val_if_fail (parent != NULL, NULL);
g_return_val_if_fail (sibling->parent == parent, NULL);
}
-
+
gnode = g_node_new (NULL);
depth = g_node_depth (parent) + 1;
@@ -3798,36 +3797,36 @@ gtk_ctree_export_to_gnode (GtkCTree *ctree,
g_node_destroy (gnode);
return NULL;
}
-
+
if (parent)
g_node_insert_before (parent, sibling, gnode);
-
+
if (!GTK_CTREE_ROW (node)->is_leaf)
{
GNode *new_sibling = NULL;
-
+
for (work = GTK_CTREE_ROW (node)->children; work;
work = GTK_CTREE_ROW (work)->sibling)
new_sibling = gtk_ctree_export_to_gnode (ctree, gnode, new_sibling,
work, func, data);
-
+
g_node_reverse_children (gnode);
}
-
+
return gnode;
}
-
+
static void
real_remove_row (GtkCList *clist,
gint row)
{
GtkCTreeNode *node;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
-
+
node = GTK_CTREE_NODE (g_list_nth (clist->row_list, row));
-
+
if (node)
gtk_ctree_remove_node (GTK_CTREE (clist), node);
}
@@ -3837,18 +3836,18 @@ gtk_ctree_remove_node (GtkCTree *ctree,
GtkCTreeNode *node)
{
GtkCList *clist;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
clist = GTK_CLIST (ctree);
-
+
gtk_clist_freeze (clist);
-
+
if (node)
{
gboolean visible;
-
+
visible = gtk_ctree_is_viewable (ctree, node);
gtk_ctree_unlink (ctree, node, TRUE);
gtk_ctree_post_recursive (ctree, node, GTK_CTREE_FUNC (tree_delete),
@@ -3856,12 +3855,12 @@ gtk_ctree_remove_node (GtkCTree *ctree,
if (clist->selection_mode == GTK_SELECTION_BROWSE && !clist->selection &&
clist->focus_row >= 0)
gtk_clist_select_row (clist, clist->focus_row, -1);
-
+
auto_resize_columns (clist);
}
else
gtk_clist_clear (clist);
-
+
gtk_clist_thaw (clist);
}
@@ -3871,17 +3870,17 @@ real_clear (GtkCList *clist)
GtkCTree *ctree;
GtkCTreeNode *work;
GtkCTreeNode *ptr;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
-
+
ctree = GTK_CTREE (clist);
-
+
/* remove all rows */
work = GTK_CTREE_NODE (clist->row_list);
clist->row_list = NULL;
clist->row_list_end = NULL;
-
+
GTK_CLIST_SET_FLAG (clist, CLIST_AUTO_RESIZE_BLOCKED);
while (work)
{
@@ -3891,7 +3890,7 @@ real_clear (GtkCList *clist)
NULL);
}
GTK_CLIST_UNSET_FLAG (clist, CLIST_AUTO_RESIZE_BLOCKED);
-
+
parent_class->clear (clist);
}
@@ -3910,23 +3909,23 @@ gtk_ctree_post_recursive (GtkCTree *ctree,
{
GtkCTreeNode *work;
GtkCTreeNode *tmp;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (func != NULL);
-
+
if (node)
work = GTK_CTREE_ROW (node)->children;
else
work = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
-
+
while (work)
{
tmp = GTK_CTREE_ROW (work)->sibling;
gtk_ctree_post_recursive (ctree, work, func, data);
work = tmp;
}
-
+
if (node)
func (ctree, node, data);
}
@@ -3940,22 +3939,22 @@ gtk_ctree_post_recursive_to_depth (GtkCTree *ctree,
{
GtkCTreeNode *work;
GtkCTreeNode *tmp;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (func != NULL);
-
+
if (depth < 0)
{
gtk_ctree_post_recursive (ctree, node, func, data);
return;
}
-
+
if (node)
work = GTK_CTREE_ROW (node)->children;
else
work = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
-
+
if (work && GTK_CTREE_ROW (work)->level <= depth)
{
while (work)
@@ -3965,7 +3964,7 @@ gtk_ctree_post_recursive_to_depth (GtkCTree *ctree,
work = tmp;
}
}
-
+
if (node && GTK_CTREE_ROW (node)->level <= depth)
func (ctree, node, data);
}
@@ -3978,11 +3977,11 @@ gtk_ctree_pre_recursive (GtkCTree *ctree,
{
GtkCTreeNode *work;
GtkCTreeNode *tmp;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (func != NULL);
-
+
if (node)
{
work = GTK_CTREE_ROW (node)->children;
@@ -3990,7 +3989,7 @@ gtk_ctree_pre_recursive (GtkCTree *ctree,
}
else
work = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
-
+
while (work)
{
tmp = GTK_CTREE_ROW (work)->sibling;
@@ -4008,17 +4007,17 @@ gtk_ctree_pre_recursive_to_depth (GtkCTree *ctree,
{
GtkCTreeNode *work;
GtkCTreeNode *tmp;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (func != NULL);
-
+
if (depth < 0)
{
gtk_ctree_pre_recursive (ctree, node, func, data);
return;
}
-
+
if (node)
{
work = GTK_CTREE_ROW (node)->children;
@@ -4027,7 +4026,7 @@ gtk_ctree_pre_recursive_to_depth (GtkCTree *ctree,
}
else
work = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
-
+
if (work && GTK_CTREE_ROW (work)->level <= depth)
{
while (work)
@@ -4044,19 +4043,19 @@ gtk_ctree_is_viewable (GtkCTree *ctree,
GtkCTreeNode *node)
{
GtkCTreeRow *work;
-
+
g_return_val_if_fail (ctree != NULL, FALSE);
g_return_val_if_fail (GTK_IS_CTREE (ctree), FALSE);
g_return_val_if_fail (node != NULL, FALSE);
-
+
work = GTK_CTREE_ROW (node);
-
+
while (work->parent && GTK_CTREE_ROW (work->parent)->expanded)
work = GTK_CTREE_ROW (work->parent);
-
+
if (!work->parent)
return TRUE;
-
+
return FALSE;
}
@@ -4066,10 +4065,10 @@ gtk_ctree_last (GtkCTree *ctree,
{
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
-
+
if (!node)
return NULL;
-
+
while (GTK_CTREE_ROW (node)->sibling)
node = GTK_CTREE_ROW (node)->sibling;
@@ -4093,7 +4092,7 @@ gtk_ctree_find_node_ptr (GtkCTree *ctree,
node = GTK_CTREE_ROW(ctree_row->parent)->children;
else
node = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
-
+
while (GTK_CTREE_ROW (node) != ctree_row)
node = GTK_CTREE_ROW (node)->sibling;
@@ -4106,10 +4105,10 @@ gtk_ctree_node_nth (GtkCTree *ctree,
{
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
-
+
if ((row < 0) || (row >= GTK_CLIST(ctree)->rows))
return NULL;
-
+
return GTK_CTREE_NODE (g_list_nth (GTK_CLIST (ctree)->row_list, row));
}
@@ -4120,10 +4119,10 @@ gtk_ctree_find (GtkCTree *ctree,
{
if (!child)
return FALSE;
-
+
if (!node)
node = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
-
+
while (node)
{
if (node == child)
@@ -4145,10 +4144,10 @@ gtk_ctree_is_ancestor (GtkCTree *ctree,
{
g_return_val_if_fail (GTK_IS_CTREE (ctree), FALSE);
g_return_val_if_fail (node != NULL, FALSE);
-
+
if (GTK_CTREE_ROW (node)->children)
return gtk_ctree_find (ctree, GTK_CTREE_ROW (node)->children, child);
-
+
return FALSE;
}
@@ -4181,23 +4180,23 @@ gtk_ctree_find_all_by_row_data (GtkCTree *ctree,
gpointer data)
{
GList *list = NULL;
-
+
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
-
+
/* if node == NULL then look in the whole tree */
if (!node)
node = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
-
+
while (node)
{
if (GTK_CTREE_ROW (node)->row.data == data)
list = g_list_append (list, node);
-
+
if (GTK_CTREE_ROW (node)->children)
{
GList *sub_list;
-
+
sub_list = gtk_ctree_find_all_by_row_data (ctree,
GTK_CTREE_ROW
(node)->children,
@@ -4216,12 +4215,12 @@ gtk_ctree_find_by_row_data_custom (GtkCTree *ctree,
GCompareFunc func)
{
GtkCTreeNode *work;
-
+
g_return_val_if_fail (func != NULL, NULL);
-
+
if (!node)
node = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
-
+
while (node)
{
if (!func (GTK_CTREE_ROW (node)->row.data, data))
@@ -4242,24 +4241,24 @@ gtk_ctree_find_all_by_row_data_custom (GtkCTree *ctree,
GCompareFunc func)
{
GList *list = NULL;
-
+
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
g_return_val_if_fail (func != NULL, NULL);
-
+
/* if node == NULL then look in the whole tree */
if (!node)
node = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
-
+
while (node)
{
if (!func (GTK_CTREE_ROW (node)->row.data, data))
list = g_list_append (list, node);
-
+
if (GTK_CTREE_ROW (node)->children)
{
GList *sub_list;
-
+
sub_list = gtk_ctree_find_all_by_row_data_custom (ctree,
GTK_CTREE_ROW
(node)->children,
@@ -4283,11 +4282,11 @@ gtk_ctree_is_hot_spot (GtkCTree *ctree,
g_return_val_if_fail (ctree != NULL, FALSE);
g_return_val_if_fail (GTK_IS_CTREE (ctree), FALSE);
-
+
if (gtk_clist_get_selection_info (GTK_CLIST (ctree), x, y, &row, &column))
if ((node = GTK_CTREE_NODE(g_list_nth (GTK_CLIST (ctree)->row_list, row))))
return ctree_is_hot_spot (ctree, node, row, x, y);
-
+
return FALSE;
}
@@ -4321,7 +4320,7 @@ gtk_ctree_expand (GtkCTree *ctree,
if (GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
gtk_signal_emit (GTK_OBJECT (ctree), ctree_signals[TREE_EXPAND], node);
}
@@ -4331,23 +4330,23 @@ gtk_ctree_expand_recursive (GtkCTree *ctree,
{
GtkCList *clist;
gboolean thaw = FALSE;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
clist = GTK_CLIST (ctree);
-
+
if (node && GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
if (CLIST_UNFROZEN (clist) && (!node || gtk_ctree_is_viewable (ctree, node)))
{
gtk_clist_freeze (clist);
thaw = TRUE;
}
-
+
gtk_ctree_post_recursive (ctree, node, GTK_CTREE_FUNC (tree_expand), NULL);
-
+
if (thaw)
gtk_clist_thaw (clist);
}
@@ -4359,24 +4358,24 @@ gtk_ctree_expand_to_depth (GtkCTree *ctree,
{
GtkCList *clist;
gboolean thaw = FALSE;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
clist = GTK_CLIST (ctree);
-
+
if (node && GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
if (CLIST_UNFROZEN (clist) && (!node || gtk_ctree_is_viewable (ctree, node)))
{
gtk_clist_freeze (clist);
thaw = TRUE;
}
-
+
gtk_ctree_post_recursive_to_depth (ctree, node, depth,
GTK_CTREE_FUNC (tree_expand), NULL);
-
+
if (thaw)
gtk_clist_thaw (clist);
}
@@ -4391,7 +4390,7 @@ gtk_ctree_collapse (GtkCTree *ctree,
if (GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
gtk_signal_emit (GTK_OBJECT (ctree), ctree_signals[TREE_COLLAPSE], node);
}
@@ -4402,21 +4401,21 @@ gtk_ctree_collapse_recursive (GtkCTree *ctree,
GtkCList *clist;
gboolean thaw = FALSE;
gint i;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
if (node && GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
if (CLIST_UNFROZEN (clist) && (!node || gtk_ctree_is_viewable (ctree, node)))
{
gtk_clist_freeze (clist);
thaw = TRUE;
}
-
+
GTK_CLIST_SET_FLAG (clist, CLIST_AUTO_RESIZE_BLOCKED);
gtk_ctree_post_recursive (ctree, node, GTK_CTREE_FUNC (tree_collapse), NULL);
GTK_CLIST_UNSET_FLAG (clist, CLIST_AUTO_RESIZE_BLOCKED);
@@ -4424,7 +4423,7 @@ gtk_ctree_collapse_recursive (GtkCTree *ctree,
if (clist->column[i].auto_resize)
gtk_clist_set_column_width (clist, i,
gtk_clist_optimal_column_width (clist, i));
-
+
if (thaw)
gtk_clist_thaw (clist);
}
@@ -4437,21 +4436,21 @@ gtk_ctree_collapse_to_depth (GtkCTree *ctree,
GtkCList *clist;
gboolean thaw = FALSE;
gint i;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
if (node && GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
if (CLIST_UNFROZEN (clist) && (!node || gtk_ctree_is_viewable (ctree, node)))
{
gtk_clist_freeze (clist);
thaw = TRUE;
}
-
+
GTK_CLIST_SET_FLAG (clist, CLIST_AUTO_RESIZE_BLOCKED);
gtk_ctree_post_recursive_to_depth (ctree, node, depth,
GTK_CTREE_FUNC (tree_collapse_to_depth),
@@ -4461,7 +4460,7 @@ gtk_ctree_collapse_to_depth (GtkCTree *ctree,
if (clist->column[i].auto_resize)
gtk_clist_set_column_width (clist, i,
gtk_clist_optimal_column_width (clist, i));
-
+
if (thaw)
gtk_clist_thaw (clist);
}
@@ -4476,7 +4475,7 @@ gtk_ctree_toggle_expansion (GtkCTree *ctree,
if (GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
tree_toggle_expansion (ctree, node, NULL);
}
@@ -4486,15 +4485,15 @@ gtk_ctree_toggle_expansion_recursive (GtkCTree *ctree,
{
GtkCList *clist;
gboolean thaw = FALSE;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
if (node && GTK_CTREE_ROW (node)->is_leaf)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
if (CLIST_UNFROZEN (clist) && (!node || gtk_ctree_is_viewable (ctree, node)))
{
gtk_clist_freeze (clist);
@@ -4503,7 +4502,7 @@ gtk_ctree_toggle_expansion_recursive (GtkCTree *ctree,
gtk_ctree_post_recursive (ctree, node,
GTK_CTREE_FUNC (tree_toggle_expansion), NULL);
-
+
if (thaw)
gtk_clist_thaw (clist);
}
@@ -4515,7 +4514,7 @@ gtk_ctree_select (GtkCTree *ctree,
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
if (GTK_CTREE_ROW (node)->row.selectable)
gtk_signal_emit (GTK_OBJECT (ctree), ctree_signals[TREE_SELECT_ROW],
node, -1);
@@ -4528,7 +4527,7 @@ gtk_ctree_unselect (GtkCTree *ctree,
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
gtk_signal_emit (GTK_OBJECT (ctree), ctree_signals[TREE_UNSELECT_ROW],
node, -1);
}
@@ -4554,34 +4553,34 @@ gtk_ctree_real_select_recursive (GtkCTree *ctree,
{
GtkCList *clist;
gboolean thaw = FALSE;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
clist = GTK_CLIST (ctree);
-
+
if ((state &&
(clist->selection_mode == GTK_SELECTION_BROWSE ||
clist->selection_mode == GTK_SELECTION_SINGLE)) ||
(!state && clist->selection_mode == GTK_SELECTION_BROWSE))
return;
-
+
if (CLIST_UNFROZEN (clist) && (!node || gtk_ctree_is_viewable (ctree, node)))
{
gtk_clist_freeze (clist);
thaw = TRUE;
}
-
+
if (clist->selection_mode == GTK_SELECTION_EXTENDED)
{
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
+ GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
}
-
+
if (state)
gtk_ctree_post_recursive (ctree, node,
GTK_CTREE_FUNC (tree_select), NULL);
@@ -4606,20 +4605,20 @@ gtk_ctree_node_set_text (GtkCTree *ctree,
const gchar *text)
{
GtkCList *clist;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
if (column < 0 || column >= GTK_CLIST (ctree)->columns)
return;
clist = GTK_CLIST (ctree);
-
- GTK_CLIST_CLASS_FW (clist)->set_cell_contents
+
+ GTK_CLIST_GET_CLASS (clist)->set_cell_contents
(clist, &(GTK_CTREE_ROW(node)->row), column, GTK_CELL_TEXT,
text, 0, NULL, NULL);
-
+
tree_draw_node (ctree, node);
}
@@ -4631,25 +4630,25 @@ gtk_ctree_node_set_pixmap (GtkCTree *ctree,
GdkBitmap *mask)
{
GtkCList *clist;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
g_return_if_fail (pixmap != NULL);
-
+
if (column < 0 || column >= GTK_CLIST (ctree)->columns)
return;
-
+
gdk_pixmap_ref (pixmap);
if (mask)
gdk_pixmap_ref (mask);
-
+
clist = GTK_CLIST (ctree);
-
- GTK_CLIST_CLASS_FW (clist)->set_cell_contents
+
+ GTK_CLIST_GET_CLASS (clist)->set_cell_contents
(clist, &(GTK_CTREE_ROW (node)->row), column, GTK_CELL_PIXMAP,
NULL, 0, pixmap, mask);
-
+
tree_draw_node (ctree, node);
}
@@ -4663,7 +4662,7 @@ gtk_ctree_node_set_pixtext (GtkCTree *ctree,
GdkBitmap *mask)
{
GtkCList *clist;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
@@ -4671,20 +4670,20 @@ gtk_ctree_node_set_pixtext (GtkCTree *ctree,
g_return_if_fail (pixmap != NULL);
if (column < 0 || column >= GTK_CLIST (ctree)->columns)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
if (pixmap)
{
gdk_pixmap_ref (pixmap);
if (mask)
gdk_pixmap_ref (mask);
}
-
- GTK_CLIST_CLASS_FW (clist)->set_cell_contents
+
+ GTK_CLIST_GET_CLASS (clist)->set_cell_contents
(clist, &(GTK_CTREE_ROW (node)->row), column, GTK_CELL_PIXTEXT,
text, spacing, pixmap, mask);
-
+
tree_draw_node (ctree, node);
}
@@ -4702,14 +4701,14 @@ gtk_ctree_set_node_info (GtkCTree *ctree,
{
gboolean old_leaf;
gboolean old_expanded;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
old_leaf = GTK_CTREE_ROW (node)->is_leaf;
old_expanded = GTK_CTREE_ROW (node)->expanded;
-
+
if (is_leaf && GTK_CTREE_ROW (node)->children)
{
GtkCTreeNode *work;
@@ -4723,10 +4722,10 @@ gtk_ctree_set_node_info (GtkCTree *ctree,
gtk_ctree_remove_node (ctree, ptr);
}
}
-
+
set_node_info (ctree, node, text, spacing, pixmap_closed, mask_closed,
pixmap_opened, mask_opened, is_leaf, expanded);
-
+
if (!is_leaf && !old_leaf)
{
GTK_CTREE_ROW (node)->expanded = old_expanded;
@@ -4735,7 +4734,7 @@ gtk_ctree_set_node_info (GtkCTree *ctree,
else if (!expanded && old_expanded)
gtk_ctree_collapse (ctree, node);
}
-
+
GTK_CTREE_ROW (node)->expanded = (is_leaf) ? FALSE : expanded;
tree_draw_node (ctree, node);
@@ -4751,32 +4750,32 @@ gtk_ctree_node_set_shift (GtkCTree *ctree,
GtkCList *clist;
GtkRequisition requisition;
gboolean visible = FALSE;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
if (column < 0 || column >= GTK_CLIST (ctree)->columns)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
if (clist->column[column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
{
visible = gtk_ctree_is_viewable (ctree, node);
if (visible)
- GTK_CLIST_CLASS_FW (clist)->cell_size_request
+ GTK_CLIST_GET_CLASS (clist)->cell_size_request
(clist, &GTK_CTREE_ROW (node)->row, column, &requisition);
}
-
+
GTK_CTREE_ROW (node)->row.cell[column].vertical = vertical;
GTK_CTREE_ROW (node)->row.cell[column].horizontal = horizontal;
-
+
if (visible)
column_auto_resize (clist, &GTK_CTREE_ROW (node)->row,
column, requisition.width);
-
+
tree_draw_node (ctree, node);
}
@@ -4788,13 +4787,13 @@ remove_grab (GtkCList *clist)
gtk_grab_remove (GTK_WIDGET (clist));
gdk_pointer_ungrab (GDK_CURRENT_TIME);
}
-
+
if (clist->htimer)
{
gtk_timeout_remove (clist->htimer);
clist->htimer = 0;
}
-
+
if (clist->vtimer)
{
gtk_timeout_remove (clist->vtimer);
@@ -4810,25 +4809,25 @@ gtk_ctree_node_set_selectable (GtkCTree *ctree,
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
if (selectable == GTK_CTREE_ROW (node)->row.selectable)
return;
-
+
GTK_CTREE_ROW (node)->row.selectable = selectable;
-
+
if (!selectable && GTK_CTREE_ROW (node)->row.state == GTK_STATE_SELECTED)
{
GtkCList *clist;
-
+
clist = GTK_CLIST (ctree);
-
+
if (clist->anchor >= 0 &&
clist->selection_mode == GTK_SELECTION_EXTENDED)
{
clist->drag_button = 0;
remove_grab (clist);
-
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
+
+ GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
}
gtk_ctree_unselect (ctree, node);
}
@@ -4839,7 +4838,7 @@ gtk_ctree_node_get_selectable (GtkCTree *ctree,
GtkCTreeNode *node)
{
g_return_val_if_fail (node != NULL, FALSE);
-
+
return GTK_CTREE_ROW (node)->row.selectable;
}
@@ -4851,10 +4850,10 @@ gtk_ctree_node_get_cell_type (GtkCTree *ctree,
g_return_val_if_fail (ctree != NULL, -1);
g_return_val_if_fail (GTK_IS_CTREE (ctree), -1);
g_return_val_if_fail (node != NULL, -1);
-
+
if (column < 0 || column >= GTK_CLIST (ctree)->columns)
return -1;
-
+
return GTK_CTREE_ROW (node)->row.cell[column].type;
}
@@ -4867,16 +4866,16 @@ gtk_ctree_node_get_text (GtkCTree *ctree,
g_return_val_if_fail (ctree != NULL, 0);
g_return_val_if_fail (GTK_IS_CTREE (ctree), 0);
g_return_val_if_fail (node != NULL, 0);
-
+
if (column < 0 || column >= GTK_CLIST (ctree)->columns)
return 0;
-
+
if (GTK_CTREE_ROW (node)->row.cell[column].type != GTK_CELL_TEXT)
return 0;
-
+
if (text)
*text = GTK_CELL_TEXT (GTK_CTREE_ROW (node)->row.cell[column])->text;
-
+
return 1;
}
@@ -4890,18 +4889,18 @@ gtk_ctree_node_get_pixmap (GtkCTree *ctree,
g_return_val_if_fail (ctree != NULL, 0);
g_return_val_if_fail (GTK_IS_CTREE (ctree), 0);
g_return_val_if_fail (node != NULL, 0);
-
+
if (column < 0 || column >= GTK_CLIST (ctree)->columns)
return 0;
-
+
if (GTK_CTREE_ROW (node)->row.cell[column].type != GTK_CELL_PIXMAP)
return 0;
-
+
if (pixmap)
*pixmap = GTK_CELL_PIXMAP (GTK_CTREE_ROW(node)->row.cell[column])->pixmap;
if (mask)
*mask = GTK_CELL_PIXMAP (GTK_CTREE_ROW (node)->row.cell[column])->mask;
-
+
return 1;
}
@@ -4985,37 +4984,37 @@ gtk_ctree_node_set_cell_style (GtkCTree *ctree,
GtkCList *clist;
GtkRequisition requisition;
gboolean visible = FALSE;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
clist = GTK_CLIST (ctree);
-
+
if (column < 0 || column >= clist->columns)
return;
-
+
if (GTK_CTREE_ROW (node)->row.cell[column].style == style)
return;
-
+
if (clist->column[column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
{
visible = gtk_ctree_is_viewable (ctree, node);
if (visible)
- GTK_CLIST_CLASS_FW (clist)->cell_size_request
+ GTK_CLIST_GET_CLASS (clist)->cell_size_request
(clist, &GTK_CTREE_ROW (node)->row, column, &requisition);
}
-
+
if (GTK_CTREE_ROW (node)->row.cell[column].style)
{
if (GTK_WIDGET_REALIZED (ctree))
gtk_style_detach (GTK_CTREE_ROW (node)->row.cell[column].style);
gtk_style_unref (GTK_CTREE_ROW (node)->row.cell[column].style);
}
-
+
GTK_CTREE_ROW (node)->row.cell[column].style = style;
-
+
if (GTK_CTREE_ROW (node)->row.cell[column].style)
{
gtk_style_ref (GTK_CTREE_ROW (node)->row.cell[column].style);
@@ -5025,11 +5024,11 @@ gtk_ctree_node_set_cell_style (GtkCTree *ctree,
gtk_style_attach (GTK_CTREE_ROW (node)->row.cell[column].style,
clist->clist_window);
}
-
+
if (visible)
column_auto_resize (clist, &GTK_CTREE_ROW (node)->row, column,
requisition.width);
-
+
tree_draw_node (ctree, node);
}
@@ -5041,10 +5040,10 @@ gtk_ctree_node_get_cell_style (GtkCTree *ctree,
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
g_return_val_if_fail (node != NULL, NULL);
-
+
if (column < 0 || column >= GTK_CLIST (ctree)->columns)
return NULL;
-
+
return GTK_CTREE_ROW (node)->row.cell[column].style;
}
@@ -5058,13 +5057,13 @@ gtk_ctree_node_set_row_style (GtkCTree *ctree,
gboolean visible;
gint *old_width = NULL;
gint i;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
clist = GTK_CLIST (ctree);
-
+
if (GTK_CTREE_ROW (node)->row.style == style)
return;
@@ -5075,21 +5074,21 @@ gtk_ctree_node_set_row_style (GtkCTree *ctree,
for (i = 0; i < clist->columns; i++)
if (clist->column[i].auto_resize)
{
- GTK_CLIST_CLASS_FW (clist)->cell_size_request
+ GTK_CLIST_GET_CLASS (clist)->cell_size_request
(clist, &GTK_CTREE_ROW (node)->row, i, &requisition);
old_width[i] = requisition.width;
}
}
-
+
if (GTK_CTREE_ROW (node)->row.style)
{
if (GTK_WIDGET_REALIZED (ctree))
gtk_style_detach (GTK_CTREE_ROW (node)->row.style);
gtk_style_unref (GTK_CTREE_ROW (node)->row.style);
}
-
+
GTK_CTREE_ROW (node)->row.style = style;
-
+
if (GTK_CTREE_ROW (node)->row.style)
{
gtk_style_ref (GTK_CTREE_ROW (node)->row.style);
@@ -5099,7 +5098,7 @@ gtk_ctree_node_set_row_style (GtkCTree *ctree,
gtk_style_attach (GTK_CTREE_ROW (node)->row.style,
clist->clist_window);
}
-
+
if (visible && !GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
{
for (i = 0; i < clist->columns; i++)
@@ -5118,7 +5117,7 @@ gtk_ctree_node_get_row_style (GtkCTree *ctree,
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
g_return_val_if_fail (node != NULL, NULL);
-
+
return GTK_CTREE_ROW (node)->row.style;
}
@@ -5130,7 +5129,7 @@ gtk_ctree_node_set_foreground (GtkCTree *ctree,
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
if (color)
{
GTK_CTREE_ROW (node)->row.foreground = *color;
@@ -5141,7 +5140,7 @@ gtk_ctree_node_set_foreground (GtkCTree *ctree,
}
else
GTK_CTREE_ROW (node)->row.fg_set = FALSE;
-
+
tree_draw_node (ctree, node);
}
@@ -5153,7 +5152,7 @@ gtk_ctree_node_set_background (GtkCTree *ctree,
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
if (color)
{
GTK_CTREE_ROW (node)->row.background = *color;
@@ -5164,7 +5163,7 @@ gtk_ctree_node_set_background (GtkCTree *ctree,
}
else
GTK_CTREE_ROW (node)->row.bg_set = FALSE;
-
+
tree_draw_node (ctree, node);
}
@@ -5188,13 +5187,13 @@ gtk_ctree_node_set_row_data_full (GtkCTree *ctree,
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
-
+
dnotify = GTK_CTREE_ROW (node)->row.destroy;
ddata = GTK_CTREE_ROW (node)->row.data;
GTK_CTREE_ROW (node)->row.data = data;
GTK_CTREE_ROW (node)->row.destroy = destroy;
-
+
if (dnotify)
dnotify (ddata);
}
@@ -5205,7 +5204,7 @@ gtk_ctree_node_get_row_data (GtkCTree *ctree,
{
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
-
+
return node ? GTK_CTREE_ROW (node)->row.data : NULL;
}
@@ -5218,15 +5217,15 @@ gtk_ctree_node_moveto (GtkCTree *ctree,
{
gint row = -1;
GtkCList *clist;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
clist = GTK_CLIST (ctree);
-
+
while (node && !gtk_ctree_is_viewable (ctree, node))
node = GTK_CTREE_ROW (node)->parent;
-
+
if (node)
row = g_list_position (clist->row_list, (GList *)node);
@@ -5255,17 +5254,17 @@ gtk_ctree_set_indent (GtkCTree *ctree,
gint indent)
{
GtkCList *clist;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (indent >= 0);
-
+
if (indent == ctree->tree_indent)
return;
-
+
clist = GTK_CLIST (ctree);
ctree->tree_indent = indent;
-
+
if (clist->column[ctree->tree_column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
gtk_clist_set_column_width
@@ -5281,19 +5280,19 @@ gtk_ctree_set_spacing (GtkCTree *ctree,
{
GtkCList *clist;
gint old_spacing;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (spacing >= 0);
-
+
if (spacing == ctree->tree_spacing)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
old_spacing = ctree->tree_spacing;
ctree->tree_spacing = spacing;
-
+
if (clist->column[ctree->tree_column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
gtk_clist_set_column_width (clist, ctree->tree_column,
@@ -5309,19 +5308,19 @@ gtk_ctree_set_show_stub (GtkCTree *ctree,
{
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
show_stub = show_stub != FALSE;
-
+
if (show_stub != ctree->show_stub)
{
GtkCList *clist;
-
+
clist = GTK_CLIST (ctree);
ctree->show_stub = show_stub;
-
+
if (CLIST_UNFROZEN (clist) && clist->rows &&
gtk_clist_row_is_visible (clist, 0) != GTK_VISIBILITY_NONE)
- GTK_CLIST_CLASS_FW (clist)->draw_row
+ GTK_CLIST_GET_CLASS (clist)->draw_row
(clist, NULL, 0, GTK_CLIST_ROW (clist->row_list));
}
}
@@ -5332,18 +5331,18 @@ gtk_ctree_set_line_style (GtkCTree *ctree,
{
GtkCList *clist;
GtkCTreeLineStyle old_style;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
if (line_style == ctree->line_style)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
old_style = ctree->line_style;
ctree->line_style = line_style;
-
+
if (clist->column[ctree->tree_column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
{
@@ -5356,7 +5355,7 @@ gtk_ctree_set_line_style (GtkCTree *ctree,
(clist, ctree->tree_column,
clist->column[ctree->tree_column].width + 3);
}
-
+
if (GTK_WIDGET_REALIZED (ctree))
{
switch (line_style)
@@ -5392,23 +5391,23 @@ gtk_ctree_set_expander_style (GtkCTree *ctree,
{
GtkCList *clist;
GtkCTreeExpanderStyle old_style;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
if (expander_style == ctree->expander_style)
return;
-
+
clist = GTK_CLIST (ctree);
-
+
old_style = ctree->expander_style;
ctree->expander_style = expander_style;
-
+
if (clist->column[ctree->tree_column].auto_resize &&
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
{
gint new_width;
-
+
new_width = clist->column[ctree->tree_column].width;
switch (old_style)
{
@@ -5422,7 +5421,7 @@ gtk_ctree_set_expander_style (GtkCTree *ctree,
new_width -= PM_SIZE + 1;
break;
}
-
+
switch (expander_style)
{
case GTK_CTREE_EXPANDER_NONE:
@@ -5435,10 +5434,10 @@ gtk_ctree_set_expander_style (GtkCTree *ctree,
new_width += PM_SIZE + 1;
break;
}
-
+
gtk_clist_set_column_width (clist, ctree->tree_column, new_width);
}
-
+
if (GTK_WIDGET_DRAWABLE (clist))
CLIST_REFRESH (clist);
}
@@ -5458,14 +5457,14 @@ tree_sort (GtkCTree *ctree,
GtkCTreeNode *cmp;
GtkCTreeNode *work;
GtkCList *clist;
-
+
clist = GTK_CLIST (ctree);
-
+
if (node)
list_start = GTK_CTREE_ROW (node)->children;
else
list_start = GTK_CTREE_NODE (clist->row_list);
-
+
while (list_start)
{
cmp = list_start;
@@ -5502,39 +5501,39 @@ gtk_ctree_sort_recursive (GtkCTree *ctree,
{
GtkCList *clist;
GtkCTreeNode *focus_node = NULL;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
clist = GTK_CLIST (ctree);
-
+
gtk_clist_freeze (clist);
-
+
if (clist->selection_mode == GTK_SELECTION_EXTENDED)
{
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
+ GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
}
-
+
if (!node || (node && gtk_ctree_is_viewable (ctree, node)))
focus_node =
GTK_CTREE_NODE (g_list_nth (clist->row_list, clist->focus_row));
-
+
gtk_ctree_post_recursive (ctree, node, GTK_CTREE_FUNC (tree_sort), NULL);
-
+
if (!node)
tree_sort (ctree, NULL, NULL);
-
+
if (focus_node)
{
clist->focus_row = g_list_position (clist->row_list,(GList *)focus_node);
clist->undo_anchor = clist->focus_row;
}
-
+
gtk_clist_thaw (clist);
}
@@ -5550,36 +5549,36 @@ gtk_ctree_sort_node (GtkCTree *ctree,
{
GtkCList *clist;
GtkCTreeNode *focus_node = NULL;
-
+
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
clist = GTK_CLIST (ctree);
-
+
gtk_clist_freeze (clist);
-
+
if (clist->selection_mode == GTK_SELECTION_EXTENDED)
{
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
+ GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
}
-
+
if (!node || (node && gtk_ctree_is_viewable (ctree, node)))
focus_node = GTK_CTREE_NODE
(g_list_nth (clist->row_list, clist->focus_row));
-
+
tree_sort (ctree, node, NULL);
-
+
if (focus_node)
{
clist->focus_row = g_list_position (clist->row_list,(GList *)focus_node);
clist->undo_anchor = clist->focus_row;
}
-
+
gtk_clist_thaw (clist);
}
@@ -5591,7 +5590,7 @@ fake_unselect_all (GtkCList *clist,
{
GList *list;
GList *focus_node = NULL;
-
+
if (row >= 0 && (focus_node = g_list_nth (clist->row_list, row)))
{
if (GTK_CTREE_ROW (focus_node)->row.state == GTK_STATE_NORMAL &&
@@ -5601,11 +5600,11 @@ fake_unselect_all (GtkCList *clist,
if (CLIST_UNFROZEN (clist) &&
gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE)
- GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row,
- GTK_CLIST_ROW (focus_node));
+ GTK_CLIST_GET_CLASS (clist)->draw_row (clist, NULL, row,
+ GTK_CLIST_ROW (focus_node));
}
}
-
+
clist->undo_selection = clist->selection;
clist->selection = NULL;
clist->selection_end = NULL;
@@ -5614,7 +5613,7 @@ fake_unselect_all (GtkCList *clist,
{
if (list->data == focus_node)
continue;
-
+
GTK_CTREE_ROW ((GList *)(list->data))->row.state = GTK_STATE_NORMAL;
tree_draw_node (GTK_CTREE (clist), GTK_CTREE_NODE (list->data));
}
@@ -5638,23 +5637,23 @@ resync_selection (GtkCList *clist, GdkEvent *event)
gint e;
gint row;
gboolean unselect;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
-
+
if (clist->selection_mode != GTK_SELECTION_EXTENDED)
return;
-
+
if (clist->anchor < 0 || clist->drag_pos < 0)
return;
-
+
ctree = GTK_CTREE (clist);
clist->freeze_count++;
-
+
i = MIN (clist->anchor, clist->drag_pos);
e = MAX (clist->anchor, clist->drag_pos);
-
+
if (clist->undo_selection)
{
list = clist->selection;
@@ -5662,14 +5661,14 @@ resync_selection (GtkCList *clist, GdkEvent *event)
clist->selection_end = g_list_last (clist->selection);
clist->undo_selection = list;
list = clist->selection;
-
+
while (list)
{
node = list->data;
list = list->next;
unselect = TRUE;
-
+
if (gtk_ctree_is_viewable (ctree, node))
{
row = g_list_position (clist->row_list, (GList *)node);
@@ -5685,7 +5684,7 @@ resync_selection (GtkCList *clist, GdkEvent *event)
}
}
}
-
+
if (clist->anchor < clist->drag_pos)
{
for (node = GTK_CTREE_NODE (g_list_nth (clist->row_list, i)); i <= e;
@@ -5734,14 +5733,14 @@ resync_selection (GtkCList *clist, GdkEvent *event)
}
}
}
-
+
clist->undo_unselection = g_list_reverse (clist->undo_unselection);
for (list = clist->undo_unselection; list; list = list->next)
gtk_ctree_select (ctree, list->data);
-
+
clist->anchor = -1;
clist->drag_pos = -1;
-
+
if (!CLIST_UNFROZEN (clist))
clist->freeze_count--;
}
@@ -5751,29 +5750,29 @@ real_undo_selection (GtkCList *clist)
{
GtkCTree *ctree;
GList *work;
-
+
g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
-
+
if (clist->selection_mode != GTK_SELECTION_EXTENDED)
return;
-
+
if (!(clist->undo_selection || clist->undo_unselection))
{
gtk_clist_unselect_all (clist);
return;
}
-
+
ctree = GTK_CTREE (clist);
-
+
for (work = clist->undo_selection; work; work = work->next)
if (GTK_CTREE_ROW (work->data)->row.selectable)
gtk_ctree_select (ctree, GTK_CTREE_NODE (work->data));
-
+
for (work = clist->undo_unselection; work; work = work->next)
if (GTK_CTREE_ROW (work->data)->row.selectable)
gtk_ctree_unselect (ctree, GTK_CTREE_NODE (work->data));
-
+
if (GTK_WIDGET_HAS_FOCUS (clist) && clist->focus_row != clist->undo_anchor)
{
gtk_widget_draw_focus (GTK_WIDGET (clist));
@@ -5784,18 +5783,18 @@ real_undo_selection (GtkCList *clist)
clist->focus_row = clist->undo_anchor;
clist->undo_anchor = -1;
-
+
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
-
+
if (ROW_TOP_YPIXEL (clist, clist->focus_row) + clist->row_height >
clist->clist_window_height)
gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0);
else if (ROW_TOP_YPIXEL (clist, clist->focus_row) < 0)
gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0);
-
+
}
void
@@ -5804,7 +5803,7 @@ gtk_ctree_set_drag_compare_func (GtkCTree *ctree,
{
g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
-
+
ctree->drag_compare = cmp_func;
}
@@ -5816,7 +5815,7 @@ check_drag (GtkCTree *ctree,
{
g_return_val_if_fail (ctree != NULL, FALSE);
g_return_val_if_fail (GTK_IS_CTREE (ctree), FALSE);
-
+
if (drag_source && drag_source != drag_target &&
(!GTK_CTREE_ROW (drag_source)->children ||
!gtk_ctree_is_ancestor (ctree, drag_source, drag_target)))
@@ -5862,7 +5861,7 @@ static void
drag_dest_info_destroy (gpointer data)
{
GtkCListDestInfo *info = data;
-
+
g_free (info);
}
@@ -5873,15 +5872,15 @@ drag_dest_cell (GtkCList *clist,
GtkCListDestInfo *dest_info)
{
GtkWidget *widget;
-
+
widget = GTK_WIDGET (clist);
-
+
dest_info->insert_pos = GTK_CLIST_DRAG_NONE;
-
+
y -= (GTK_CONTAINER (widget)->border_width +
widget->style->klass->ythickness + clist->column_title_area.height);
dest_info->cell.row = ROW_FROM_YPIXEL (clist, y);
-
+
if (dest_info->cell.row >= clist->rows)
{
dest_info->cell.row = clist->rows - 1;
@@ -5889,15 +5888,15 @@ drag_dest_cell (GtkCList *clist,
}
if (dest_info->cell.row < -1)
dest_info->cell.row = -1;
-
+
x -= GTK_CONTAINER (widget)->border_width + widget->style->klass->xthickness;
dest_info->cell.column = COLUMN_FROM_XPIXEL (clist, x);
-
+
if (dest_info->cell.row >= 0)
{
gint y_delta;
gint h = 0;
-
+
y_delta = y - ROW_TOP_YPIXEL (clist, dest_info->cell.row);
if (GTK_CLIST_DRAW_DRAG_RECT(clist) &&
@@ -5912,7 +5911,7 @@ drag_dest_cell (GtkCList *clist,
dest_info->insert_pos = GTK_CLIST_DRAG_BEFORE;
h = clist->row_height / 2;
}
-
+
if (GTK_CLIST_DRAW_DRAG_LINE(clist))
{
if (y_delta < h)
@@ -5930,22 +5929,22 @@ gtk_ctree_drag_begin (GtkWidget *widget,
GtkCList *clist;
GtkCTree *ctree;
gboolean use_icons;
-
+
g_return_if_fail (widget != NULL);
g_return_if_fail (GTK_IS_CTREE (widget));
g_return_if_fail (context != NULL);
-
+
clist = GTK_CLIST (widget);
ctree = GTK_CTREE (widget);
-
+
use_icons = GTK_CLIST_USE_DRAG_ICONS (clist);
GTK_CLIST_UNSET_FLAG (clist, CLIST_USE_DRAG_ICONS);
GTK_WIDGET_CLASS (parent_class)->drag_begin (widget, context);
-
+
if (use_icons)
{
GtkCTreeNode *node;
-
+
GTK_CLIST_SET_FLAG (clist, CLIST_USE_DRAG_ICONS);
node = GTK_CTREE_NODE (g_list_nth (clist->row_list,
clist->click_cell.row));
@@ -5980,34 +5979,34 @@ gtk_ctree_drag_motion (GtkWidget *widget,
GtkCTree *ctree;
GtkCListDestInfo new_info;
GtkCListDestInfo *dest_info;
-
+
g_return_val_if_fail (widget != NULL, FALSE);
g_return_val_if_fail (GTK_IS_CTREE (widget), FALSE);
-
+
clist = GTK_CLIST (widget);
ctree = GTK_CTREE (widget);
-
+
dest_info = g_dataset_get_data (context, "gtk-clist-drag-dest");
-
+
if (!dest_info)
{
dest_info = g_new (GtkCListDestInfo, 1);
-
+
dest_info->cell.row = -1;
dest_info->cell.column = -1;
dest_info->insert_pos = GTK_CLIST_DRAG_NONE;
-
+
g_dataset_set_data_full (context, "gtk-clist-drag-dest", dest_info,
drag_dest_info_destroy);
}
-
+
drag_dest_cell (clist, x, y, &new_info);
-
+
if (GTK_CLIST_REORDERABLE (clist))
{
GList *list;
GdkAtom atom = gdk_atom_intern ("gtk-clist-drag-reorder", FALSE);
-
+
list = context->targets;
while (list)
{
@@ -6015,17 +6014,17 @@ gtk_ctree_drag_motion (GtkWidget *widget,
break;
list = list->next;
}
-
+
if (list)
{
GtkCTreeNode *drag_source;
GtkCTreeNode *drag_target;
-
+
drag_source = GTK_CTREE_NODE (g_list_nth (clist->row_list,
clist->click_cell.row));
drag_target = GTK_CTREE_NODE (g_list_nth (clist->row_list,
new_info.cell.row));
-
+
if (gtk_drag_get_source_widget (context) != widget ||
!check_drag (ctree, drag_source, drag_target,
new_info.insert_pos))
@@ -6037,32 +6036,32 @@ gtk_ctree_drag_motion (GtkWidget *widget,
}
return TRUE;
}
-
+
if (new_info.cell.row != dest_info->cell.row ||
(new_info.cell.row == dest_info->cell.row &&
dest_info->insert_pos != new_info.insert_pos))
{
if (dest_info->cell.row >= 0)
- GTK_CLIST_CLASS_FW (clist)->draw_drag_highlight
+ GTK_CLIST_GET_CLASS (clist)->draw_drag_highlight
(clist,
g_list_nth (clist->row_list, dest_info->cell.row)->data,
dest_info->cell.row, dest_info->insert_pos);
-
+
dest_info->insert_pos = new_info.insert_pos;
dest_info->cell.row = new_info.cell.row;
dest_info->cell.column = new_info.cell.column;
-
- GTK_CLIST_CLASS_FW (clist)->draw_drag_highlight
+
+ GTK_CLIST_GET_CLASS (clist)->draw_drag_highlight
(clist,
g_list_nth (clist->row_list, dest_info->cell.row)->data,
dest_info->cell.row, dest_info->insert_pos);
-
+
gdk_drag_status (context, context->suggested_action, time);
}
return TRUE;
}
}
-
+
dest_info->insert_pos = new_info.insert_pos;
dest_info->cell.row = new_info.cell.row;
dest_info->cell.column = new_info.cell.column;
@@ -6080,15 +6079,15 @@ gtk_ctree_drag_data_received (GtkWidget *widget,
{
GtkCTree *ctree;
GtkCList *clist;
-
+
g_return_if_fail (widget != NULL);
g_return_if_fail (GTK_IS_CTREE (widget));
g_return_if_fail (context != NULL);
g_return_if_fail (selection_data != NULL);
-
+
ctree = GTK_CTREE (widget);
clist = GTK_CLIST (widget);
-
+
if (GTK_CLIST_REORDERABLE (clist) &&
gtk_drag_get_source_widget (context) == widget &&
selection_data->target ==
@@ -6097,24 +6096,24 @@ gtk_ctree_drag_data_received (GtkWidget *widget,
selection_data->length == sizeof (GtkCListCellInfo))
{
GtkCListCellInfo *source_info;
-
+
source_info = (GtkCListCellInfo *)(selection_data->data);
if (source_info)
{
GtkCListDestInfo dest_info;
GtkCTreeNode *source_node;
GtkCTreeNode *dest_node;
-
+
drag_dest_cell (clist, x, y, &dest_info);
source_node = GTK_CTREE_NODE (g_list_nth (clist->row_list,
source_info->row));
dest_node = GTK_CTREE_NODE (g_list_nth (clist->row_list,
dest_info.cell.row));
-
+
if (!source_node || !dest_node)
return;
-
+
switch (dest_info.insert_pos)
{
case GTK_CLIST_DRAG_NONE: