* 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_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_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_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_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_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,
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_plus, GDK_SHIFT_MASK,
- "change_focus_row_expansion", 1,
- GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_EXPAND);
gtk_binding_entry_add_signal (binding_set,
GDK_plus, 0,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_EXPAND);
- gtk_binding_entry_add_signal (binding_set,
- GDK_plus, 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_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, GDK_SHIFT_MASK,
- "change_focus_row_expansion", 1,
- GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_EXPAND);
gtk_binding_entry_add_signal (binding_set,
GDK_KP_Add, 0,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_EXPAND);
- gtk_binding_entry_add_signal (binding_set,
- GDK_KP_Add, 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_KP_Add, GDK_CONTROL_MASK,
"change_focus_row_expansion", 1,
GDK_KP_Equal, 0,
"change_focus_row_expansion", 1,
GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_TOGGLE);
- gtk_binding_entry_add_signal (binding_set,
- GDK_equal, GDK_SHIFT_MASK,
- "change_focus_row_expansion", 1,
- GTK_TYPE_ENUM, GTK_CTREE_EXPANSION_TOGGLE);
- gtk_binding_entry_add_signal (binding_set,
- GDK_KP_Equal, GDK_SHIFT_MASK,
- "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,
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));
{
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))
}
else
{
- rect = &clip_rectangle;
crect = &cell_rectangle;
gdk_draw_rectangle (clist->clist_window,
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 (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 (GTK_IS_CTREE (ctree));
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 */
requisition->height = MAX (requisition->height, height);
break;
default:
- requisition->width = 0;
- requisition->height = 0;
break;
}
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++)
{
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
{
GtkCTreeRow *tree_row;
GtkCList *clist;
- GtkCellPixText *cell;
gint xl;
gint yu;
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);
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 *node;
- 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;
{
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));
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;
}
}
}
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 (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 (GTK_IS_CTREE (ctree));
g_return_if_fail (node != NULL);
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 (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;
return our_type;
}
+
+#define __GTK_CTREE_C__
+#include "gtkaliasdef.c"