* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#undef GDK_DISABLE_DEPRECATED
+#undef GTK_DISABLE_DEPRECATED
+
+#include "config.h"
#include <stdlib.h>
#include "gtkctree.h"
#include "gtkbindings.h"
#include "gtkmain.h"
+#include "gtkmarshalers.h"
#include "gtkdnd.h"
+#include "gtkintl.h"
#include <gdk/gdkkeysyms.h>
+#define GTK_DISABLE_DEPRECATED
+#include "gtkalias.h"
+
#define PM_SIZE 8
#define TAB_SIZE (PM_SIZE + 6)
#define CELL_SPACING 1
(GtkClassInitFunc) NULL,
};
+ I_("GtkCTree");
ctree_type = gtk_type_unique (GTK_TYPE_CLIST, &ctree_info);
}
klass->tree_move = real_tree_move;
klass->change_focus_row_expansion = change_focus_row_expansion;
- gtk_object_add_arg_type ("GtkCTree::n_columns", /* overrides GtkCList::n_columns!! */
+ gtk_object_add_arg_type ("GtkCTree::n-columns", /* overrides GtkCList::n_columns!! */
GTK_TYPE_UINT,
- GTK_ARG_READWRITE | GTK_ARG_CONSTRUCT_ONLY,
+ GTK_ARG_READWRITE | GTK_ARG_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME,
ARG_N_COLUMNS);
- gtk_object_add_arg_type ("GtkCTree::tree_column",
+ gtk_object_add_arg_type ("GtkCTree::tree-column",
GTK_TYPE_UINT,
- GTK_ARG_READWRITE | GTK_ARG_CONSTRUCT_ONLY,
+ GTK_ARG_READWRITE | GTK_ARG_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME,
ARG_TREE_COLUMN);
gtk_object_add_arg_type ("GtkCTree::indent",
GTK_TYPE_UINT,
- GTK_ARG_READWRITE,
+ GTK_ARG_READWRITE | G_PARAM_STATIC_NAME,
ARG_INDENT);
gtk_object_add_arg_type ("GtkCTree::spacing",
GTK_TYPE_UINT,
- GTK_ARG_READWRITE,
+ GTK_ARG_READWRITE | G_PARAM_STATIC_NAME,
ARG_SPACING);
- gtk_object_add_arg_type ("GtkCTree::show_stub",
+ gtk_object_add_arg_type ("GtkCTree::show-stub",
GTK_TYPE_BOOL,
- GTK_ARG_READWRITE,
+ GTK_ARG_READWRITE | G_PARAM_STATIC_NAME,
ARG_SHOW_STUB);
- gtk_object_add_arg_type ("GtkCTree::line_style",
+ gtk_object_add_arg_type ("GtkCTree::line-style",
GTK_TYPE_CTREE_LINE_STYLE,
- GTK_ARG_READWRITE,
+ GTK_ARG_READWRITE | G_PARAM_STATIC_NAME,
ARG_LINE_STYLE);
- gtk_object_add_arg_type ("GtkCTree::expander_style",
+ gtk_object_add_arg_type ("GtkCTree::expander-style",
GTK_TYPE_CTREE_EXPANDER_STYLE,
- GTK_ARG_READWRITE,
+ GTK_ARG_READWRITE | G_PARAM_STATIC_NAME,
ARG_EXPANDER_STYLE);
ctree_signals[TREE_SELECT_ROW] =
- gtk_signal_new ("tree_select_row",
+ gtk_signal_new (I_("tree_select_row"),
GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_select_row),
- gtk_marshal_VOID__POINTER_INT,
- GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_INT);
+ _gtk_marshal_VOID__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_signal_new (I_("tree_unselect_row"),
GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_unselect_row),
- gtk_marshal_VOID__POINTER_INT,
- GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_INT);
+ _gtk_marshal_VOID__POINTER_INT,
+ GTK_TYPE_NONE, 2,
+ GTK_TYPE_CTREE_NODE,
+ GTK_TYPE_INT);
ctree_signals[TREE_EXPAND] =
- gtk_signal_new ("tree_expand",
+ gtk_signal_new (I_("tree_expand"),
GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_expand),
- gtk_marshal_VOID__POINTER,
- GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
+ _gtk_marshal_VOID__POINTER,
+ GTK_TYPE_NONE, 1,
+ GTK_TYPE_CTREE_NODE);
ctree_signals[TREE_COLLAPSE] =
- gtk_signal_new ("tree_collapse",
+ gtk_signal_new (I_("tree_collapse"),
GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_collapse),
- gtk_marshal_VOID__POINTER,
- GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
+ _gtk_marshal_VOID__POINTER,
+ GTK_TYPE_NONE, 1,
+ GTK_TYPE_CTREE_NODE);
ctree_signals[TREE_MOVE] =
- gtk_signal_new ("tree_move",
+ gtk_signal_new (I_("tree_move"),
GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_move),
- gtk_marshal_VOID__POINTER_POINTER_POINTER,
- GTK_TYPE_NONE, 3, GTK_TYPE_POINTER,
- GTK_TYPE_POINTER, GTK_TYPE_POINTER);
+ _gtk_marshal_VOID__POINTER_POINTER_POINTER,
+ GTK_TYPE_NONE, 3,
+ GTK_TYPE_CTREE_NODE,
+ GTK_TYPE_CTREE_NODE,
+ GTK_TYPE_CTREE_NODE);
ctree_signals[CHANGE_FOCUS_ROW_EXPANSION] =
- gtk_signal_new ("change_focus_row_expansion",
+ gtk_signal_new (I_("change_focus_row_expansion"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCTreeClass,
change_focus_row_expansion),
- gtk_marshal_VOID__ENUM,
+ _gtk_marshal_VOID__ENUM,
GTK_TYPE_NONE, 1, GTK_TYPE_CTREE_EXPANSION_TYPE);
binding_set = gtk_binding_set_by_class (klass);
gtk_binding_entry_add_signal (binding_set,
- '+', GDK_SHIFT_MASK,
+ GDK_plus, 0,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_EXPAND);
gtk_binding_entry_add_signal (binding_set,
- '+', 0,
- "change_focus_row_expansion", 1,
- GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_EXPAND);
- gtk_binding_entry_add_signal (binding_set,
- '+', GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "change_focus_row_expansion", 1,
- GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_EXPAND_RECURSIVE);
- gtk_binding_entry_add_signal (binding_set,
- '+', GDK_CONTROL_MASK,
+ GDK_plus, GDK_CONTROL_MASK,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_EXPAND_RECURSIVE);
+
gtk_binding_entry_add_signal (binding_set,
GDK_KP_Add, 0,
"change_focus_row_expansion", 1,
gtk_binding_entry_add_signal (binding_set,
GDK_KP_Add, GDK_CONTROL_MASK,
"change_focus_row_expansion", 1,
- GTK_TYPE_ENUM,
- GTK_CTREE_EXPANSION_EXPAND_RECURSIVE);
+ GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_EXPAND_RECURSIVE);
+
gtk_binding_entry_add_signal (binding_set,
- '-', 0,
+ GDK_minus, 0,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_COLLAPSE);
gtk_binding_entry_add_signal (binding_set,
- '-', GDK_CONTROL_MASK,
+ GDK_minus, GDK_CONTROL_MASK,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM,
GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE);
GTK_TYPE_ENUM,
GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE);
gtk_binding_entry_add_signal (binding_set,
- '=', 0,
+ GDK_equal, 0,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_TOGGLE);
gtk_binding_entry_add_signal (binding_set,
- '=', GDK_SHIFT_MASK,
+ GDK_KP_Equal, 0,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_TOGGLE);
gtk_binding_entry_add_signal (binding_set,
GDK_KP_Multiply, 0,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_TOGGLE);
+ gtk_binding_entry_add_signal (binding_set,
+ GDK_asterisk, 0,
+ "change_focus_row_expansion", 1,
+ GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_TOGGLE);
gtk_binding_entry_add_signal (binding_set,
GDK_KP_Multiply, GDK_CONTROL_MASK,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM,
GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE);
+ gtk_binding_entry_add_signal (binding_set,
+ GDK_asterisk, GDK_CONTROL_MASK,
+ "change_focus_row_expansion", 1,
+ GTK_TYPE_ENUM,
+ GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE);
}
static void
switch (arg_id)
{
case ARG_N_COLUMNS: /* construct-only arg, only set at construction time */
- g_return_if_fail (clist->row_mem_chunk == NULL);
clist->columns = MAX (1, GTK_VALUE_UINT (*arg));
- 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) * clist->columns,
- sizeof (GtkCell) * clist->columns
- * CLIST_OPTIMUM_SIZE,
- G_ALLOC_AND_FREE);
ctree->tree_column = CLAMP (ctree->tree_column, 0, clist->columns);
break;
case ARG_TREE_COLUMN: /* construct-only arg, only set at construction time */
ctree->tree_column = GTK_VALUE_UINT (*arg);
- if (clist->row_mem_chunk)
- ctree->tree_column = CLAMP (ctree->tree_column, 0, clist->columns);
+ ctree->tree_column = CLAMP (ctree->tree_column, 0, clist->columns);
break;
case ARG_INDENT:
gtk_ctree_set_indent (ctree, GTK_VALUE_UINT (*arg));
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);
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);
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);
gint i;
gint y = 0;
- g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
ctree = GTK_CTREE (clist);
{
GtkWidget *widget;
GtkCTree *ctree;
- GdkRectangle *rect;
GdkRectangle *crect;
GdkRectangle row_rectangle;
GdkRectangle cell_rectangle;
/* 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,
+ widget->style->base_gc[GTK_STATE_NORMAL], TRUE,
crect->x, crect->y, crect->width, crect->height);
}
else
{
- rect = &clip_rectangle;
crect = &cell_rectangle;
gdk_draw_rectangle (clist->clist_window,
- widget->style->base_gc[GTK_STATE_ACTIVE], TRUE,
+ widget->style->base_gc[GTK_STATE_NORMAL], TRUE,
crect->x, crect->y, crect->width, crect->height);
}
if (!area || gdk_rectangle_intersect (area, &cell_rectangle, crect))
{
gdk_draw_rectangle (clist->clist_window,
- widget->style->base_gc[GTK_STATE_ACTIVE], TRUE,
+ widget->style->base_gc[GTK_STATE_NORMAL], TRUE,
crect->x, crect->y, crect->width, crect->height);
/* horizontal black lines */
case GTK_CELL_TEXT:
if (layout)
{
- gint row_center_offset = 1.5 + (clist->row_height - logical_rect.height - 1) / 2;
+ gint row_center_offset = (clist->row_height - logical_rect.height) / 2;
gdk_gc_set_clip_rectangle (fg_gc, &clip_rectangle);
gdk_draw_layout (clist->clist_window, fg_gc,
if (layout)
{
- gint row_center_offset = 1.5 + (clist->row_height - logical_rect.height - 1) / 2;
+ gint row_center_offset = (clist->row_height - logical_rect.height) / 2;
if (clist->column[i].justification == GTK_JUSTIFY_RIGHT)
{
clist = GTK_CLIST (ctree);
- if (update_focus_row && clist->selection_mode == GTK_SELECTION_EXTENDED)
+ if (update_focus_row && clist->selection_mode == GTK_SELECTION_MULTIPLE)
{
GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
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)
+ if (update_focus_row && clist->selection_mode == GTK_SELECTION_MULTIPLE)
{
GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
GtkCTree *ctree;
GtkCTreeNode *node;
- g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
if (GTK_CLIST_AUTO_SORT (clist))
visible = gtk_ctree_is_viewable (ctree, node);
- if (clist->selection_mode == GTK_SELECTION_EXTENDED)
+ if (clist->selection_mode == GTK_SELECTION_MULTIPLE)
{
GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
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))
+ if (gdk_display_pointer_is_grabbed (gtk_widget_get_display (GTK_WIDGET (ctree))) &&
+ GTK_WIDGET_HAS_GRAB (ctree))
return;
if (!(node =
GtkCTreeNode *work;
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)
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 */
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 ||
PangoLayout *layout;
PangoRectangle logical_rect;
- g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
g_return_if_fail (requisition != NULL);
requisition->height = MAX (requisition->height, height);
break;
default:
- requisition->width = 0;
- requisition->height = 0;
break;
}
GdkPixmap *old_pixmap = NULL;
GdkBitmap *old_mask = NULL;
- g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
g_return_if_fail (clist_row != NULL);
old_mask = GTK_CELL_PIXTEXT (clist_row->cell[column])->mask;
break;
case GTK_CELL_WIDGET:
- /* unimplimented */
+ /* unimplemented */
break;
default:
!GTK_CLIST_AUTO_RESIZE_BLOCKED (clist))
column_auto_resize (clist, clist_row, column, requisition.width);
- if (old_text)
- g_free (old_text);
+ g_free (old_text);
if (old_pixmap)
gdk_pixmap_unref (old_pixmap);
if (old_mask)
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);
+ ctree_row = g_slice_new (GtkCTreeRow);
+ ctree_row->row.cell = g_slice_alloc (sizeof (GtkCell) * clist->columns);
for (i = 0; i < clist->columns; i++)
{
{
if (GTK_WIDGET_REALIZED (ctree))
gtk_style_detach (ctree_row->row.cell[i].style);
- gtk_style_unref (ctree_row->row.cell[i].style);
+ g_object_unref (ctree_row->row.cell[i].style);
}
}
{
if (GTK_WIDGET_REALIZED (ctree))
gtk_style_detach (ctree_row->row.style);
- gtk_style_unref (ctree_row->row.style);
+ g_object_unref (ctree_row->row.style);
}
if (ctree_row->pixmap_closed)
dnotify (ddata);
}
- g_mem_chunk_free (clist->cell_mem_chunk, ctree_row->row.cell);
- g_mem_chunk_free (clist->row_mem_chunk, ctree_row);
+ g_slice_free1 (sizeof (GtkCell) * clist->columns, ctree_row->row.cell);
+ g_slice_free (GtkCTreeRow, ctree_row);
}
static void
{
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)) &&
{
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)))
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 ||
{
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)
GtkCTree *ctree;
GtkCTreeNode *node;
- g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
ctree = GTK_CTREE (clist);
case GTK_SELECTION_BROWSE:
return;
- case GTK_SELECTION_EXTENDED:
+ case GTK_SELECTION_MULTIPLE:
gtk_clist_freeze (clist);
gtk_clist_thaw (clist);
break;
- case GTK_SELECTION_MULTIPLE:
- gtk_ctree_select_recursive (ctree, NULL);
- break;
-
default:
/* do nothing */
break;
GtkCTreeNode *node;
GList *list;
- g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
ctree = GTK_CTREE (clist);
}
break;
- case GTK_SELECTION_EXTENDED:
+ case GTK_SELECTION_MULTIPLE:
g_list_free (clist->undo_selection);
g_list_free (clist->undo_unselection);
clist->undo_selection = NULL;
{
GtkCTreeRow *tree_row;
GtkCList *clist;
- GtkCellPixText *cell;
gint xl;
gint yu;
- 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);
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);
g_return_val_if_fail (columns > 0, NULL);
g_return_val_if_fail (tree_column >= 0 && tree_column < columns, NULL);
- widget = gtk_widget_new (GTK_TYPE_CTREE,
+ widget = g_object_new (GTK_TYPE_CTREE,
"n_columns", columns,
"tree_column", tree_column,
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));
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);
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);
g_return_val_if_fail (func != NULL, NULL);
if (!func (ctree, depth, gnode, cnode, data))
{
tree_delete_row (ctree, cnode, NULL);
+ gtk_clist_thaw (clist);
return NULL;
}
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);
g_return_val_if_fail (func != NULL, NULL);
{
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));
{
GtkCList *clist;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
clist = GTK_CLIST (ctree);
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),
NULL);
GtkCTreeNode *work;
GtkCTreeNode *ptr;
- g_return_if_fail (clist != NULL);
g_return_if_fail (GTK_IS_CTREE (clist));
ctree = GTK_CTREE (clist);
GtkCTreeNode *work;
GtkCTreeNode *tmp;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (func != NULL);
GtkCTreeNode *work;
GtkCTreeNode *tmp;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (func != NULL);
GtkCTreeNode *work;
GtkCTreeNode *tmp;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (func != NULL);
GtkCTreeNode *work;
GtkCTreeNode *tmp;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (func != NULL);
{
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);
gtk_ctree_last (GtkCTree *ctree,
GtkCTreeNode *node)
{
- g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
if (!node)
{
GtkCTreeNode *node;
- g_return_val_if_fail (ctree != NULL, FALSE);
- g_return_val_if_fail (GTK_IS_CTREE (ctree), FALSE);
- g_return_val_if_fail (ctree_row != NULL, FALSE);
+ g_return_val_if_fail (GTK_IS_CTREE (ctree), NULL);
+ g_return_val_if_fail (ctree_row != NULL, NULL);
if (ctree_row->parent)
- node = GTK_CTREE_ROW(ctree_row->parent)->children;
+ node = GTK_CTREE_ROW (ctree_row->parent)->children;
else
node = GTK_CTREE_NODE (GTK_CLIST (ctree)->row_list);
gtk_ctree_node_nth (GtkCTree *ctree,
guint row)
{
- 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))
+ if ((row >= GTK_CLIST(ctree)->rows))
return NULL;
return GTK_CTREE_NODE (g_list_nth (GTK_CLIST (ctree)->row_list, row));
{
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 */
{
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);
gint column;
gint row;
- 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))
GtkCTreeNode *new_parent,
GtkCTreeNode *new_sibling)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
gtk_ctree_expand (GtkCTree *ctree,
GtkCTreeNode *node)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
GtkCList *clist;
gboolean thaw = FALSE;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
clist = GTK_CLIST (ctree);
GtkCList *clist;
gboolean thaw = FALSE;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
clist = GTK_CLIST (ctree);
gtk_ctree_collapse (GtkCTree *ctree,
GtkCTreeNode *node)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
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)
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)
gtk_ctree_toggle_expansion (GtkCTree *ctree,
GtkCTreeNode *node)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
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)
gtk_ctree_select (GtkCTree *ctree,
GtkCTreeNode *node)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
gtk_ctree_unselect (GtkCTree *ctree,
GtkCTreeNode *node)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
GtkCList *clist;
gboolean thaw = FALSE;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
clist = GTK_CLIST (ctree);
thaw = TRUE;
}
- if (clist->selection_mode == GTK_SELECTION_EXTENDED)
+ if (clist->selection_mode == GTK_SELECTION_MULTIPLE)
{
GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
{
GtkCList *clist;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
clist = GTK_CLIST (ctree);
GTK_CLIST_GET_CLASS (clist)->set_cell_contents
- (clist, &(GTK_CTREE_ROW(node)->row), column, GTK_CELL_TEXT,
+ (clist, &(GTK_CTREE_ROW (node)->row), column, GTK_CELL_TEXT,
text, 0, NULL, NULL);
tree_draw_node (ctree, node);
{
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);
{
GtkCList *clist;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
if (column != ctree->tree_column)
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);
while (work)
{
ptr = work;
- work = GTK_CTREE_ROW(work)->sibling;
+ work = GTK_CTREE_ROW (work)->sibling;
gtk_ctree_remove_node (ctree, ptr);
}
}
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);
static void
remove_grab (GtkCList *clist)
{
- if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist))
+ if (gdk_display_pointer_is_grabbed (gtk_widget_get_display (GTK_WIDGET (clist))) &&
+ GTK_WIDGET_HAS_GRAB (clist))
{
gtk_grab_remove (GTK_WIDGET (clist));
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
+ gdk_display_pointer_ungrab (gtk_widget_get_display (GTK_WIDGET (clist)),
+ GDK_CURRENT_TIME);
}
if (clist->htimer)
{
- gtk_timeout_remove (clist->htimer);
+ g_source_remove (clist->htimer);
clist->htimer = 0;
}
if (clist->vtimer)
{
- gtk_timeout_remove (clist->vtimer);
+ g_source_remove (clist->vtimer);
clist->vtimer = 0;
}
}
GtkCTreeNode *node,
gboolean selectable)
{
- 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 (clist->anchor >= 0 &&
- clist->selection_mode == GTK_SELECTION_EXTENDED)
+ clist->selection_mode == GTK_SELECTION_MULTIPLE)
{
clist->drag_button = 0;
remove_grab (clist);
GtkCTreeNode *node,
gint column)
{
- 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);
gint column,
gchar **text)
{
- 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);
GdkPixmap **pixmap,
GdkBitmap **mask)
{
- 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);
return FALSE;
if (pixmap)
- *pixmap = GTK_CELL_PIXMAP (GTK_CTREE_ROW(node)->row.cell[column])->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;
GdkPixmap **pixmap,
GdkBitmap **mask)
{
- 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);
gboolean *is_leaf,
gboolean *expanded)
{
- 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);
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 (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);
+ g_object_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);
+ g_object_ref (GTK_CTREE_ROW (node)->row.cell[column].style);
if (GTK_WIDGET_REALIZED (ctree))
GTK_CTREE_ROW (node)->row.cell[column].style =
GtkCTreeNode *node,
gint column)
{
- 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);
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);
{
if (GTK_WIDGET_REALIZED (ctree))
gtk_style_detach (GTK_CTREE_ROW (node)->row.style);
- gtk_style_unref (GTK_CTREE_ROW (node)->row.style);
+ g_object_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);
+ g_object_ref (GTK_CTREE_ROW (node)->row.style);
if (GTK_WIDGET_REALIZED (ctree))
GTK_CTREE_ROW (node)->row.style =
gtk_ctree_node_get_row_style (GtkCTree *ctree,
GtkCTreeNode *node)
{
- 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);
}
void
-gtk_ctree_node_set_foreground (GtkCTree *ctree,
- GtkCTreeNode *node,
- GdkColor *color)
+gtk_ctree_node_set_foreground (GtkCTree *ctree,
+ GtkCTreeNode *node,
+ const GdkColor *color)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
}
void
-gtk_ctree_node_set_background (GtkCTree *ctree,
- GtkCTreeNode *node,
- GdkColor *color)
+gtk_ctree_node_set_background (GtkCTree *ctree,
+ GtkCTreeNode *node,
+ const GdkColor *color)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
GtkDestroyNotify dnotify;
gpointer ddata;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
gtk_ctree_node_get_row_data (GtkCTree *ctree,
GtkCTreeNode *node)
{
- 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;
gint row = -1;
GtkCList *clist;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
clist = GTK_CLIST (ctree);
gtk_clist_moveto (clist, row, column, row_align, col_align);
}
-GtkVisibility gtk_ctree_node_is_visible (GtkCTree *ctree,
- GtkCTreeNode *node)
+GtkVisibility
+gtk_ctree_node_is_visible (GtkCTree *ctree,
+ GtkCTreeNode *node)
{
gint row;
{
GtkCList *clist;
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
g_return_if_fail (indent >= 0);
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);
gtk_ctree_set_show_stub (GtkCTree *ctree,
gboolean show_stub)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
show_stub = show_stub != FALSE;
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)
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)
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)
+ if (clist->selection_mode == GTK_SELECTION_MULTIPLE)
{
GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
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)
+ if (clist->selection_mode == GTK_SELECTION_MULTIPLE)
{
GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
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)
+ if (clist->selection_mode != GTK_SELECTION_MULTIPLE)
return;
if (clist->anchor < 0 || clist->drag_pos < 0)
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)
+ if (clist->selection_mode != GTK_SELECTION_MULTIPLE)
return;
if (!(clist->undo_selection || clist->undo_unselection))
gtk_ctree_set_drag_compare_func (GtkCTree *ctree,
GtkCTreeCompareDragFunc cmp_func)
{
- g_return_if_fail (ctree != NULL);
g_return_if_fail (GTK_IS_CTREE (ctree));
ctree->drag_compare = cmp_func;
GtkCTreeNode *drag_target,
GtkCListDragPos insert_pos)
{
- 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 &&
ctree->drag_compare (ctree,
drag_source,
GTK_CTREE_ROW (drag_target)->parent,
- GTK_CTREE_ROW(drag_target)->sibling));
+ GTK_CTREE_ROW (drag_target)->sibling));
break;
case GTK_CLIST_DRAG_BEFORE:
if (GTK_CTREE_ROW (drag_source)->sibling != drag_target)
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);
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);
if (GTK_CLIST_REORDERABLE (clist))
{
GList *list;
- GdkAtom atom = gdk_atom_intern ("gtk-clist-drag-reorder", FALSE);
+ GdkAtom atom = gdk_atom_intern_static_string ("gtk-clist-drag-reorder");
list = context->targets;
while (list)
{
- if (atom == GPOINTER_TO_INT (list->data))
+ if (atom == GDK_POINTER_TO_ATOM (list->data))
break;
list = list->next;
}
g_list_nth (clist->row_list, dest_info->cell.row)->data,
dest_info->cell.row, dest_info->insert_pos);
+ clist->drag_highlight_row = dest_info->cell.row;
+ clist->drag_highlight_pos = dest_info->insert_pos;
+
gdk_drag_status (context, context->suggested_action, time);
}
return TRUE;
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);
if (GTK_CLIST_REORDERABLE (clist) &&
gtk_drag_get_source_widget (context) == widget &&
selection_data->target ==
- gdk_atom_intern ("gtk-clist-drag-reorder", FALSE) &&
- selection_data->format == GTK_TYPE_POINTER &&
+ gdk_atom_intern_static_string ("gtk-clist-drag-reorder") &&
+ selection_data->format == 8 &&
selection_data->length == sizeof (GtkCListCellInfo))
{
GtkCListCellInfo *source_info;
}
}
}
+
+GType
+gtk_ctree_node_get_type (void)
+{
+ static GType our_type = 0;
+
+ if (our_type == 0)
+ our_type = g_pointer_type_register_static ("GtkCTreeNode");
+
+ return our_type;
+}
+
+#define __GTK_CTREE_C__
+#include "gtkaliasdef.c"