]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkctree.c
Revert name change
[~andy/gtk] / gtk / gtkctree.c
index f195f6a4999b84d77a2fa22b29a43b05afa8b3bc..7d8e7e137fa9b569c6a51c5e65595395d65fbf2f 100644 (file)
  * 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
@@ -337,6 +345,7 @@ gtk_ctree_get_type (void)
         (GtkClassInitFunc) NULL,
       };
 
+      I_("GtkCTree");
       ctree_type = gtk_type_unique (GTK_TYPE_CLIST, &ctree_info);
     }
 
@@ -399,37 +408,37 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
   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),
@@ -438,7 +447,7 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
                    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),
@@ -447,7 +456,7 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
                    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),
@@ -455,7 +464,7 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
                    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),
@@ -463,7 +472,7 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
                    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),
@@ -473,7 +482,7 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
                    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,
@@ -482,35 +491,19 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
                    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,
@@ -542,14 +535,6 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
                                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,
@@ -584,24 +569,12 @@ gtk_ctree_set_arg (GtkObject      *object,
   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));
@@ -1647,7 +1620,6 @@ draw_row (GtkCList     *clist,
 {
   GtkWidget *widget;
   GtkCTree  *ctree;
-  GdkRectangle *rect;
   GdkRectangle *crect;
   GdkRectangle row_rectangle;
   GdkRectangle cell_rectangle; 
@@ -1709,7 +1681,6 @@ draw_row (GtkCList     *clist,
   /* draw the cell borders */
   if (area)
     {
-      rect = &intersect_rectangle;
       crect = &intersect_rectangle;
 
       if (gdk_rectangle_intersect (area, &cell_rectangle, crect))
@@ -1719,7 +1690,6 @@ draw_row (GtkCList     *clist,
     }
   else
     {
-      rect = &clip_rectangle;
       crect = &cell_rectangle;
 
       gdk_draw_rectangle (clist->clist_window,
@@ -1999,7 +1969,7 @@ draw_row (GtkCList     *clist,
 
       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)
            {
@@ -2504,7 +2474,8 @@ change_focus_row_expansion (GtkCTree          *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 =
@@ -2543,7 +2514,6 @@ real_tree_expand (GtkCTree     *ctree,
   GtkCTreeNode *work;
   GtkRequisition requisition;
   gboolean visible;
-  gint level;
 
   g_return_if_fail (GTK_IS_CTREE (ctree));
 
@@ -2555,7 +2525,6 @@ real_tree_expand (GtkCTree     *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 */
@@ -2928,8 +2897,6 @@ cell_size_request (GtkCList       *clist,
       requisition->height = MAX (requisition->height, height);
       break;
     default:
-      requisition->width  = 0;
-      requisition->height = 0;
       break;
     }
 
@@ -2991,7 +2958,7 @@ set_cell_contents (GtkCList    *clist,
       old_mask = GTK_CELL_PIXTEXT (clist_row->cell[column])->mask;
       break;
     case GTK_CELL_WIDGET:
-      /* unimplimented */
+      /* unimplemented */
       break;
       
     default:
@@ -3059,8 +3026,7 @@ set_cell_contents (GtkCList    *clist,
       !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)
@@ -3225,8 +3191,8 @@ row_new (GtkCTree *ctree)
   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++)
     {
@@ -3312,8 +3278,8 @@ row_delete (GtkCTree    *ctree,
       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
@@ -3543,7 +3509,6 @@ ctree_is_hot_spot (GtkCTree     *ctree,
 {
   GtkCTreeRow *tree_row;
   GtkCList *clist;
-  GtkCellPixText *cell;
   gint xl;
   gint yu;
   
@@ -3558,8 +3523,6 @@ ctree_is_hot_spot (GtkCTree     *ctree,
 
   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);
 
@@ -3609,7 +3572,7 @@ gtk_ctree_new_with_titles (gint         columns,
   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);
@@ -3882,9 +3845,6 @@ gtk_ctree_remove_node (GtkCTree     *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);
@@ -4113,8 +4073,8 @@ gtk_ctree_find_node_ptr (GtkCTree    *ctree,
 {
   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;
@@ -4133,7 +4093,7 @@ gtk_ctree_node_nth (GtkCTree *ctree,
 {
   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));
@@ -4789,21 +4749,23 @@ gtk_ctree_node_set_shift (GtkCTree     *ctree,
 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;
     }
 }
@@ -5119,9 +5081,9 @@ gtk_ctree_node_get_row_style (GtkCTree     *ctree,
 }
 
 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);
@@ -5141,9 +5103,9 @@ gtk_ctree_node_set_foreground (GtkCTree     *ctree,
 }
 
 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);
@@ -5985,7 +5947,7 @@ gtk_ctree_drag_motion (GtkWidget      *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)
@@ -6073,8 +6035,8 @@ gtk_ctree_drag_data_received (GtkWidget        *widget,
   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;
@@ -6137,3 +6099,6 @@ gtk_ctree_node_get_type (void)
 
   return our_type;
 }
+
+#define __GTK_CTREE_C__
+#include "gtkaliasdef.c"