* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
-#undef GDK_DISABLE_DEPRECATED
-#undef GTK_DISABLE_DEPRECATED
-
-#include <config.h>
+#include "config.h"
#include <stdlib.h>
#include <string.h>
+#undef GTK_DISABLE_DEPRECATED
+#define __GTK_CLIST_C__
+
+#include <gdk/gdkkeysyms.h>
+
#include "gtkmain.h"
#include "gtkobject.h"
+#include "gtkctree.h"
#include "gtkclist.h"
#include "gtkbindings.h"
#include "gtkdnd.h"
#include "gtkmarshalers.h"
#include "gtkintl.h"
-#include <gdk/gdkkeysyms.h>
+
#include "gtkalias.h"
/* length of button_actions array */
#define MAX_BUTTON 5
-/* the number rows memchunk expands at a time */
-#define CLIST_OPTIMUM_SIZE 64
-
/* the width of the column resize windows */
#define DRAG_WIDTH 6
ARG_SORT_TYPE);
widget_class->set_scroll_adjustments_signal =
- gtk_signal_new (I_("set_scroll_adjustments"),
+ gtk_signal_new (I_("set-scroll-adjustments"),
GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, set_scroll_adjustments),
GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
clist_signals[SELECT_ROW] =
- gtk_signal_new (I_("select_row"),
+ gtk_signal_new (I_("select-row"),
GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, select_row),
GTK_TYPE_INT,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
clist_signals[UNSELECT_ROW] =
- gtk_signal_new (I_("unselect_row"),
+ gtk_signal_new (I_("unselect-row"),
GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, unselect_row),
GTK_TYPE_NONE, 3, GTK_TYPE_INT,
GTK_TYPE_INT, GDK_TYPE_EVENT);
clist_signals[ROW_MOVE] =
- gtk_signal_new (I_("row_move"),
+ gtk_signal_new (I_("row-move"),
GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, row_move),
_gtk_marshal_VOID__INT_INT,
GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT);
clist_signals[CLICK_COLUMN] =
- gtk_signal_new (I_("click_column"),
+ gtk_signal_new (I_("click-column"),
GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, click_column),
_gtk_marshal_VOID__INT,
GTK_TYPE_NONE, 1, GTK_TYPE_INT);
clist_signals[RESIZE_COLUMN] =
- gtk_signal_new (I_("resize_column"),
+ gtk_signal_new (I_("resize-column"),
GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, resize_column),
GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT);
clist_signals[TOGGLE_FOCUS_ROW] =
- gtk_signal_new (I_("toggle_focus_row"),
+ gtk_signal_new (I_("toggle-focus-row"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, toggle_focus_row),
_gtk_marshal_VOID__VOID,
GTK_TYPE_NONE, 0);
clist_signals[SELECT_ALL] =
- gtk_signal_new (I_("select_all"),
+ gtk_signal_new (I_("select-all"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, select_all),
_gtk_marshal_VOID__VOID,
GTK_TYPE_NONE, 0);
clist_signals[UNSELECT_ALL] =
- gtk_signal_new (I_("unselect_all"),
+ gtk_signal_new (I_("unselect-all"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, unselect_all),
_gtk_marshal_VOID__VOID,
GTK_TYPE_NONE, 0);
clist_signals[UNDO_SELECTION] =
- gtk_signal_new (I_("undo_selection"),
+ gtk_signal_new (I_("undo-selection"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, undo_selection),
_gtk_marshal_VOID__VOID,
GTK_TYPE_NONE, 0);
clist_signals[START_SELECTION] =
- gtk_signal_new (I_("start_selection"),
+ gtk_signal_new (I_("start-selection"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, start_selection),
_gtk_marshal_VOID__VOID,
GTK_TYPE_NONE, 0);
clist_signals[END_SELECTION] =
- gtk_signal_new (I_("end_selection"),
+ gtk_signal_new (I_("end-selection"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, end_selection),
_gtk_marshal_VOID__VOID,
GTK_TYPE_NONE, 0);
clist_signals[TOGGLE_ADD_MODE] =
- gtk_signal_new (I_("toggle_add_mode"),
+ gtk_signal_new (I_("toggle-add-mode"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, toggle_add_mode),
_gtk_marshal_VOID__VOID,
GTK_TYPE_NONE, 0);
clist_signals[EXTEND_SELECTION] =
- gtk_signal_new (I_("extend_selection"),
+ gtk_signal_new (I_("extend-selection"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, extend_selection),
GTK_TYPE_NONE, 3,
GTK_TYPE_SCROLL_TYPE, GTK_TYPE_FLOAT, GTK_TYPE_BOOL);
clist_signals[SCROLL_VERTICAL] =
- gtk_signal_new (I_("scroll_vertical"),
+ gtk_signal_new (I_("scroll-vertical"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, scroll_vertical),
_gtk_marshal_VOID__ENUM_FLOAT,
GTK_TYPE_NONE, 2, GTK_TYPE_SCROLL_TYPE, GTK_TYPE_FLOAT);
clist_signals[SCROLL_HORIZONTAL] =
- gtk_signal_new (I_("scroll_horizontal"),
+ gtk_signal_new (I_("scroll-horizontal"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, scroll_horizontal),
_gtk_marshal_VOID__ENUM_FLOAT,
GTK_TYPE_NONE, 2, GTK_TYPE_SCROLL_TYPE, GTK_TYPE_FLOAT);
clist_signals[ABORT_COLUMN_RESIZE] =
- gtk_signal_new (I_("abort_column_resize"),
+ gtk_signal_new (I_("abort-column-resize"),
GTK_RUN_LAST | GTK_RUN_ACTION,
GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkCListClass, abort_column_resize),
binding_set = gtk_binding_set_by_class (klass);
gtk_binding_entry_add_signal (binding_set, GDK_Up, 0,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_BACKWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Up, 0,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_BACKWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_Down, 0,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_FORWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Down, 0,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_FORWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_Page_Up, 0,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_PAGE_BACKWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Page_Up, 0,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_PAGE_BACKWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_Page_Down, 0,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_PAGE_FORWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Page_Down, 0,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_PAGE_FORWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_Home, GDK_CONTROL_MASK,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Home, GDK_CONTROL_MASK,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_End, GDK_CONTROL_MASK,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 1.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_End, GDK_CONTROL_MASK,
- "scroll_vertical", 2,
+ "scroll-vertical", 2,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 1.0);
gtk_binding_entry_add_signal (binding_set, GDK_Up, GDK_SHIFT_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_BACKWARD,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Up, GDK_SHIFT_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_BACKWARD,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_Down, GDK_SHIFT_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_FORWARD,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Down, GDK_SHIFT_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_FORWARD,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_Page_Up, GDK_SHIFT_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_PAGE_BACKWARD,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Page_Up, GDK_SHIFT_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_PAGE_BACKWARD,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_Page_Down, GDK_SHIFT_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_PAGE_FORWARD,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Page_Down, GDK_SHIFT_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_PAGE_FORWARD,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_Home,
GDK_SHIFT_MASK | GDK_CONTROL_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Home,
GDK_SHIFT_MASK | GDK_CONTROL_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 0.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_End,
GDK_SHIFT_MASK | GDK_CONTROL_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 1.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_KP_End,
GDK_SHIFT_MASK | GDK_CONTROL_MASK,
- "extend_selection", 3,
+ "extend-selection", 3,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 1.0, GTK_TYPE_BOOL, TRUE);
gtk_binding_entry_add_signal (binding_set, GDK_Left, 0,
- "scroll_horizontal", 2,
+ "scroll-horizontal", 2,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_BACKWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Left, 0,
- "scroll_horizontal", 2,
+ "scroll-horizontal", 2,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_BACKWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_Right, 0,
- "scroll_horizontal", 2,
+ "scroll-horizontal", 2,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_FORWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Right, 0,
- "scroll_horizontal", 2,
+ "scroll-horizontal", 2,
GTK_TYPE_ENUM, GTK_SCROLL_STEP_FORWARD,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_Home, 0,
- "scroll_horizontal", 2,
+ "scroll-horizontal", 2,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Home, 0,
- "scroll_horizontal", 2,
+ "scroll-horizontal", 2,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 0.0);
gtk_binding_entry_add_signal (binding_set, GDK_End, 0,
- "scroll_horizontal", 2,
+ "scroll-horizontal", 2,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 1.0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_End, 0,
- "scroll_horizontal", 2,
+ "scroll-horizontal", 2,
GTK_TYPE_ENUM, GTK_SCROLL_JUMP,
GTK_TYPE_FLOAT, 1.0);
gtk_binding_entry_add_signal (binding_set, GDK_Escape, 0,
- "undo_selection", 0);
+ "undo-selection", 0);
gtk_binding_entry_add_signal (binding_set, GDK_Escape, 0,
- "abort_column_resize", 0);
+ "abort-column-resize", 0);
gtk_binding_entry_add_signal (binding_set, GDK_space, 0,
- "toggle_focus_row", 0);
+ "toggle-focus-row", 0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Space, 0,
- "toggle_focus_row", 0);
+ "toggle-focus-row", 0);
gtk_binding_entry_add_signal (binding_set, GDK_space, GDK_CONTROL_MASK,
- "toggle_add_mode", 0);
+ "toggle-add-mode", 0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Space, GDK_CONTROL_MASK,
- "toggle_add_mode", 0);
+ "toggle-add-mode", 0);
gtk_binding_entry_add_signal (binding_set, GDK_slash, GDK_CONTROL_MASK,
- "select_all", 0);
+ "select-all", 0);
gtk_binding_entry_add_signal (binding_set, GDK_KP_Divide, GDK_CONTROL_MASK,
- "select_all", 0);
+ "select-all", 0);
gtk_binding_entry_add_signal (binding_set, '\\', GDK_CONTROL_MASK,
- "unselect_all", 0);
+ "unselect-all", 0);
gtk_binding_entry_add_signal (binding_set, GDK_Shift_L,
GDK_RELEASE_MASK | GDK_SHIFT_MASK,
- "end_selection", 0);
+ "end-selection", 0);
gtk_binding_entry_add_signal (binding_set, GDK_Shift_R,
GDK_RELEASE_MASK | GDK_SHIFT_MASK,
- "end_selection", 0);
+ "end-selection", 0);
gtk_binding_entry_add_signal (binding_set, GDK_Shift_L,
GDK_RELEASE_MASK | GDK_SHIFT_MASK |
GDK_CONTROL_MASK,
- "end_selection", 0);
+ "end-selection", 0);
gtk_binding_entry_add_signal (binding_set, GDK_Shift_R,
GDK_RELEASE_MASK | GDK_SHIFT_MASK |
GDK_CONTROL_MASK,
- "end_selection", 0);
+ "end-selection", 0);
}
static void
GTK_VALUE_BOOL (*arg) = TRUE;
for (i = 0; i < clist->columns; i++)
if (clist->column[i].button &&
- !GTK_WIDGET_SENSITIVE (clist->column[i].button))
+ !gtk_widget_get_sensitive (clist->column[i].button))
{
GTK_VALUE_BOOL (*arg) = FALSE;
break;
clist->flags = 0;
GTK_WIDGET_UNSET_FLAGS (clist, GTK_NO_WINDOW);
- GTK_WIDGET_SET_FLAGS (clist, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (GTK_WIDGET (clist), TRUE);
GTK_CLIST_SET_FLAG (clist, CLIST_DRAW_DRAG_LINE);
GTK_CLIST_SET_FLAG (clist, CLIST_USE_DRAG_ICONS);
- clist->row_mem_chunk = NULL;
- clist->cell_mem_chunk = NULL;
-
clist->freeze_count = 0;
clist->rows = 0;
construct_properties);
GtkCList *clist = GTK_CLIST (object);
- /* initalize memory chunks, if this has not been done by any
- * possibly derived widget
- */
- if (!clist->row_mem_chunk)
- clist->row_mem_chunk = g_mem_chunk_new ("clist row mem chunk",
- sizeof (GtkCListRow),
- sizeof (GtkCListRow) *
- CLIST_OPTIMUM_SIZE,
- G_ALLOC_AND_FREE);
-
- if (!clist->cell_mem_chunk)
- clist->cell_mem_chunk = g_mem_chunk_new ("clist cell mem chunk",
- sizeof (GtkCell) * clist->columns,
- sizeof (GtkCell) * clist->columns *
- CLIST_OPTIMUM_SIZE,
- G_ALLOC_AND_FREE);
-
/* allocate memory for columns */
clist->column = columns_new (clist);
if (clist->hadjustment)
{
gtk_signal_disconnect_by_data (GTK_OBJECT (clist->hadjustment), clist);
- gtk_object_unref (GTK_OBJECT (clist->hadjustment));
+ g_object_unref (clist->hadjustment);
}
clist->hadjustment = adjustment;
g_object_ref_sink (clist->hadjustment);
gtk_signal_connect (GTK_OBJECT (clist->hadjustment), "changed",
- (GtkSignalFunc) hadjustment_changed,
+ G_CALLBACK (hadjustment_changed),
(gpointer) clist);
- gtk_signal_connect (GTK_OBJECT (clist->hadjustment), "value_changed",
- (GtkSignalFunc) hadjustment_value_changed,
+ gtk_signal_connect (GTK_OBJECT (clist->hadjustment), "value-changed",
+ G_CALLBACK (hadjustment_value_changed),
(gpointer) clist);
}
if (clist->vadjustment)
{
gtk_signal_disconnect_by_data (GTK_OBJECT (clist->vadjustment), clist);
- gtk_object_unref (GTK_OBJECT (clist->vadjustment));
+ g_object_unref (clist->vadjustment);
}
clist->vadjustment = adjustment;
g_object_ref_sink (clist->vadjustment);
gtk_signal_connect (GTK_OBJECT (clist->vadjustment), "changed",
- (GtkSignalFunc) vadjustment_changed,
+ G_CALLBACK (vadjustment_changed),
(gpointer) clist);
- gtk_signal_connect (GTK_OBJECT (clist->vadjustment), "value_changed",
- (GtkSignalFunc) vadjustment_value_changed,
+ gtk_signal_connect (GTK_OBJECT (clist->vadjustment), "value-changed",
+ G_CALLBACK (vadjustment_value_changed),
(gpointer) clist);
}
clist->shadow_type = type;
- if (GTK_WIDGET_VISIBLE (clist))
+ if (gtk_widget_get_visible (GTK_WIDGET (clist)))
gtk_widget_queue_resize (GTK_WIDGET (clist));
}
clist->column[column].button_passive = FALSE;
gtk_signal_disconnect_by_func (GTK_OBJECT (clist->column[column].button),
- (GtkSignalFunc) column_title_passive_func,
+ G_CALLBACK (column_title_passive_func),
NULL);
- GTK_WIDGET_SET_FLAGS (clist->column[column].button, GTK_CAN_FOCUS);
- if (GTK_WIDGET_VISIBLE (clist))
+ gtk_widget_set_can_focus (clist->column[column].button, TRUE);
+ if (gtk_widget_get_visible (GTK_WIDGET (clist)))
gtk_widget_queue_draw (clist->column[column].button);
}
clist->column[column].button_passive = TRUE;
if (button->button_down)
- gtk_button_released (button);
+ g_signal_emit_by_name (button, "released");
if (button->in_button)
- gtk_button_leave (button);
+ g_signal_emit_by_name (button, "leave");
gtk_signal_connect (GTK_OBJECT (clist->column[column].button), "event",
- (GtkSignalFunc) column_title_passive_func, NULL);
+ G_CALLBACK (column_title_passive_func),
+ NULL);
- GTK_WIDGET_UNSET_FLAGS (clist->column[column].button, GTK_CAN_FOCUS);
- if (GTK_WIDGET_VISIBLE (clist))
+ gtk_widget_set_can_focus (clist->column[column].button, FALSE);
+ if (gtk_widget_get_visible (GTK_WIDGET (clist)))
gtk_widget_queue_draw (clist->column[column].button);
}
/* if this button didn't previously exist, then the
* column button positions have to be re-computed */
- if (GTK_WIDGET_VISIBLE (clist) && new_button)
+ if (gtk_widget_get_visible (GTK_WIDGET (clist)) && new_button)
size_allocate_title_buttons (clist);
}
/* if this button didn't previously exist, then the
* column button positions have to be re-computed */
- if (GTK_WIDGET_VISIBLE (clist) && new_button)
+ if (gtk_widget_get_visible (GTK_WIDGET (clist)) && new_button)
size_allocate_title_buttons (clist);
}
if (resizeable)
clist->column[column].auto_resize = FALSE;
- if (GTK_WIDGET_VISIBLE (clist))
+ if (gtk_widget_get_visible (GTK_WIDGET (clist)))
size_allocate_title_buttons (clist);
}
}
}
- if (GTK_WIDGET_VISIBLE (clist))
+ if (gtk_widget_get_visible (GTK_WIDGET (clist)))
size_allocate_title_buttons (clist);
}
if (GTK_CLIST_ADD_MODE(clist))
{
+ gint8 dashes[] = { 4, 4 };
+
gdk_gc_set_line_attributes (clist->xor_gc, 1, GDK_LINE_ON_OFF_DASH, 0,0);
- gdk_gc_set_dashes (clist->xor_gc, 0, "\4\4", 2);
+ gdk_gc_set_dashes (clist->xor_gc, 0, dashes, G_N_ELEMENTS (dashes));
}
}
gtk_widget_set_parent (button, GTK_WIDGET (clist));
gtk_signal_connect (GTK_OBJECT (button), "clicked",
- (GtkSignalFunc) column_button_clicked,
+ G_CALLBACK (column_button_clicked),
(gpointer) clist);
gtk_widget_show (button);
}
return 1;
}
+/**
+ * gtk_clist_set_pixmap:
+ * @mask: (allow-none):
+ */
void
gtk_clist_set_pixmap (GtkCList *clist,
gint row,
clist_row = ROW_ELEMENT (clist, row)->data;
- gdk_pixmap_ref (pixmap);
+ g_object_ref (pixmap);
- if (mask) gdk_pixmap_ref (mask);
+ if (mask) g_object_ref (mask);
GTK_CLIST_GET_CLASS (clist)->set_cell_contents
(clist, clist_row, column, GTK_CELL_PIXMAP, NULL, 0, pixmap, mask);
clist_row = ROW_ELEMENT (clist, row)->data;
- gdk_pixmap_ref (pixmap);
- if (mask) gdk_pixmap_ref (mask);
+ g_object_ref (pixmap);
+ if (mask) g_object_ref (mask);
GTK_CLIST_GET_CLASS (clist)->set_cell_contents
(clist, clist_row, column, GTK_CELL_PIXTEXT, text, spacing, pixmap, mask);
!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);
+ g_object_unref (old_pixmap);
if (old_mask)
- gdk_pixmap_unref (old_mask);
+ g_object_unref (old_mask);
}
PangoLayout *
requisition->width = logical_rect.width;
requisition->height = logical_rect.height;
- g_object_unref (G_OBJECT (layout));
+ g_object_unref (layout);
}
else
{
switch (clist_row->cell[column].type)
{
case GTK_CELL_PIXTEXT:
- gdk_window_get_size (GTK_CELL_PIXTEXT (clist_row->cell[column])->pixmap,
- &width, &height);
+ gdk_drawable_get_size (GTK_CELL_PIXTEXT (clist_row->cell[column])->pixmap,
+ &width, &height);
requisition->width += width;
requisition->height = MAX (requisition->height, height);
break;
case GTK_CELL_PIXMAP:
- gdk_window_get_size (GTK_CELL_PIXMAP (clist_row->cell[column])->pixmap,
- &width, &height);
+ gdk_drawable_get_size (GTK_CELL_PIXMAP (clist_row->cell[column])->pixmap,
+ &width, &height);
requisition->width += width;
requisition->height = MAX (requisition->height, height);
break;
clist->row_list = g_list_next (list);
if (clist->row_list_end == list)
clist->row_list_end = g_list_previous (list);
- g_list_remove (list, clist_row);
+ list = g_list_remove (list, clist_row);
if (row < ROW_FROM_YPIXEL (clist, 0))
clist->voffset += clist->row_height + CELL_SPACING;
}
void
-gtk_clist_set_row_data_full (GtkCList *clist,
- gint row,
- gpointer data,
- GtkDestroyNotify destroy)
+gtk_clist_set_row_data_full (GtkCList *clist,
+ gint row,
+ gpointer data,
+ GDestroyNotify destroy)
{
GtkCListRow *clist_row;
clist_row->foreground = *color;
clist_row->fg_set = TRUE;
if (GTK_WIDGET_REALIZED (clist))
- gdk_color_alloc (gtk_widget_get_colormap (GTK_WIDGET (clist)),
- &clist_row->foreground);
+ gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (clist)),
+ &clist_row->foreground, FALSE, TRUE);
}
else
clist_row->fg_set = FALSE;
clist_row->background = *color;
clist_row->bg_set = TRUE;
if (GTK_WIDGET_REALIZED (clist))
- gdk_color_alloc (gtk_widget_get_colormap (GTK_WIDGET (clist)),
- &clist_row->background);
+ gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (clist)),
+ &clist_row->background, FALSE, TRUE);
}
else
clist_row->bg_set = FALSE;
gtk_clist_draw_focus (GTK_WIDGET (clist));
if (!GTK_CLIST_ADD_MODE(clist))
{
+ gint8 dashes[] = { 4, 4 };
+
GTK_CLIST_SET_FLAG (clist, CLIST_ADD_MODE);
gdk_gc_set_line_attributes (clist->xor_gc, 1,
GDK_LINE_ON_OFF_DASH, 0, 0);
- gdk_gc_set_dashes (clist->xor_gc, 0, "\4\4", 2);
+ gdk_gc_set_dashes (clist->xor_gc, 0, dashes, G_N_ELEMENTS (dashes));
}
else
{
GPOINTER_TO_INT (work->data), -1, NULL);
}
- if (GTK_WIDGET_HAS_FOCUS(clist) && clist->focus_row != clist->undo_anchor)
+ if (gtk_widget_has_focus (GTK_WIDGET (clist)) && clist->focus_row != clist->undo_anchor)
{
gtk_clist_draw_focus (GTK_WIDGET (clist));
clist->focus_row = clist->undo_anchor;
g_return_if_fail (GTK_IS_CLIST (clist));
if (gdk_display_pointer_is_grabbed (gtk_widget_get_display (GTK_WIDGET (clist))) &&
- GTK_WIDGET_HAS_FOCUS (clist))
+ gtk_widget_has_focus (GTK_WIDGET (clist)))
return;
GTK_CLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
if (clist->hadjustment)
{
gtk_signal_disconnect_by_data (GTK_OBJECT (clist->hadjustment), clist);
- gtk_object_unref (GTK_OBJECT (clist->hadjustment));
+ g_object_unref (clist->hadjustment);
clist->hadjustment = NULL;
}
if (clist->vadjustment)
{
gtk_signal_disconnect_by_data (GTK_OBJECT (clist->vadjustment), clist);
- gtk_object_unref (GTK_OBJECT (clist->vadjustment));
+ g_object_unref (clist->vadjustment);
clist->vadjustment = NULL;
}
clist->column[i].button = NULL;
}
- if (GTK_OBJECT_CLASS (parent_class)->destroy)
- (*GTK_OBJECT_CLASS (parent_class)->destroy) (object);
+ GTK_OBJECT_CLASS (parent_class)->destroy (object);
}
static void
columns_delete (clist);
- g_mem_chunk_destroy (clist->cell_mem_chunk);
- g_mem_chunk_destroy (clist->row_mem_chunk);
-
G_OBJECT_CLASS (parent_class)->finalize (object);
}
gdk_window_set_background (clist->clist_window,
&widget->style->base[GTK_STATE_NORMAL]);
gdk_window_show (clist->clist_window);
- gdk_window_get_size (clist->clist_window, &clist->clist_window_width,
- &clist->clist_window_height);
+ gdk_drawable_get_size (clist->clist_window, &clist->clist_window_width,
+ &clist->clist_window_height);
/* create resize windows */
attributes.wclass = GDK_INPUT_ONLY;
colormap = gtk_widget_get_colormap (widget);
if (clist_row->fg_set)
- gdk_color_alloc (colormap, &clist_row->foreground);
+ gdk_colormap_alloc_color (colormap, &clist_row->foreground,
+ FALSE, TRUE);
if (clist_row->bg_set)
- gdk_color_alloc (colormap, &clist_row->background);
+ gdk_colormap_alloc_color (colormap, &clist_row->background,
+ FALSE, TRUE);
}
for (j = 0; j < clist->columns; j++)
/* freeze the list */
clist->freeze_count++;
- if (GTK_WIDGET_MAPPED (widget))
+ if (gtk_widget_get_mapped (widget))
gtk_clist_unmap (widget);
GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);
}
}
- gdk_cursor_destroy (clist->cursor_drag);
- gdk_gc_destroy (clist->xor_gc);
- gdk_gc_destroy (clist->fg_gc);
- gdk_gc_destroy (clist->bg_gc);
+ gdk_cursor_unref (clist->cursor_drag);
+ g_object_unref (clist->xor_gc);
+ g_object_unref (clist->fg_gc);
+ g_object_unref (clist->bg_gc);
for (i = 0; i < clist->columns; i++)
{
clist->fg_gc = NULL;
clist->bg_gc = NULL;
- if (GTK_WIDGET_CLASS (parent_class)->unrealize)
- (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
+ GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
}
static void
clist = GTK_CLIST (widget);
- if (!GTK_WIDGET_MAPPED (widget))
+ if (!gtk_widget_get_mapped (widget))
{
GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
for (i = 0; i < clist->columns; i++)
{
if (clist->column[i].button &&
- GTK_WIDGET_VISIBLE (clist->column[i].button) &&
- !GTK_WIDGET_MAPPED (clist->column[i].button))
+ gtk_widget_get_visible (clist->column[i].button) &&
+ !gtk_widget_get_mapped (clist->column[i].button))
gtk_widget_map (clist->column[i].button);
}
clist = GTK_CLIST (widget);
- if (GTK_WIDGET_MAPPED (widget))
+ if (gtk_widget_get_mapped (widget))
{
GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);
/* unmap column buttons */
for (i = 0; i < clist->columns; i++)
if (clist->column[i].button &&
- GTK_WIDGET_MAPPED (clist->column[i].button))
+ gtk_widget_get_mapped (clist->column[i].button))
gtk_widget_unmap (clist->column[i].button);
/* freeze the list */
gtk_clist_style_set (GtkWidget *widget,
GtkStyle *previous_style)
{
- GtkCList *clist;
-
- g_return_if_fail (GTK_IS_CLIST (widget));
-
- if (GTK_WIDGET_CLASS (parent_class)->style_set)
- (*GTK_WIDGET_CLASS (parent_class)->style_set) (widget, previous_style);
+ GtkCList *clist = GTK_CLIST (widget);
- clist = GTK_CLIST (widget);
+ GTK_WIDGET_CLASS (parent_class)->style_set (widget, previous_style);
if (GTK_WIDGET_REALIZED (widget))
{
if (GTK_CLIST_ADD_MODE(clist))
{
GTK_CLIST_UNSET_FLAG (clist, CLIST_ADD_MODE);
- if (GTK_WIDGET_HAS_FOCUS(widget))
+ if (gtk_widget_has_focus (widget))
{
gtk_clist_draw_focus (widget);
gdk_gc_set_line_attributes (clist->xor_gc, 1,
}
else if (row != clist->focus_row)
{
- if (GTK_WIDGET_HAS_FOCUS(widget))
+ if (gtk_widget_has_focus (widget))
{
gtk_clist_draw_focus (widget);
clist->focus_row = row;
}
}
- if (!GTK_WIDGET_HAS_FOCUS(widget))
+ if (!gtk_widget_has_focus (widget))
gtk_widget_grab_focus (widget);
if (button_actions & GTK_BUTTON_SELECTS)
if (drag_data)
gtk_signal_handler_block_by_data (GTK_OBJECT (clist), drag_data);
- if (!GTK_WIDGET_HAS_FOCUS(widget))
+ if (!gtk_widget_has_focus (widget))
gtk_widget_grab_focus (widget);
clist->drag_pos = i;
if (GTK_CLIST_ADD_MODE(clist))
{
+ gint8 dashes[] = { 4, 4 };
+
gdk_gc_set_line_attributes (clist->xor_gc, 1,
GDK_LINE_ON_OFF_DASH, 0, 0);
- gdk_gc_set_dashes (clist->xor_gc, 0, "\4\4", 2);
+ gdk_gc_set_dashes (clist->xor_gc, 0, dashes, G_N_ELEMENTS (dashes));
}
width = new_column_width (clist, i, &x);
if (clist->htimer)
return FALSE;
- clist->htimer = g_timeout_add
+ clist->htimer = gdk_threads_add_timeout
(SCROLL_TIME, (GSourceFunc) horizontal_timeout, clist);
if (!((x < 0 && clist->hadjustment->value == 0) ||
if (clist->vtimer)
return FALSE;
- clist->vtimer = g_timeout_add (SCROLL_TIME,
+ clist->vtimer = gdk_threads_add_timeout (SCROLL_TIME,
(GSourceFunc) vertical_timeout, clist);
if (clist->drag_button &&
if (y + height > clip_rectangle->y + clip_rectangle->height)
height = clip_rectangle->y + clip_rectangle->height - y;
- gdk_draw_pixmap (window, fg_gc, pixmap, xsrc, ysrc, x, y, width, height);
+ gdk_draw_drawable (window, fg_gc, pixmap, xsrc, ysrc, x, y, width, height);
gdk_gc_set_clip_origin (fg_gc, 0, 0);
if (mask)
gdk_gc_set_clip_mask (fg_gc, NULL);
switch (clist_row->cell[i].type)
{
case GTK_CELL_PIXMAP:
- gdk_window_get_size (GTK_CELL_PIXMAP (clist_row->cell[i])->pixmap,
- &pixmap_width, &height);
+ gdk_drawable_get_size (GTK_CELL_PIXMAP (clist_row->cell[i])->pixmap,
+ &pixmap_width, &height);
width += pixmap_width;
break;
case GTK_CELL_PIXTEXT:
- gdk_window_get_size (GTK_CELL_PIXTEXT (clist_row->cell[i])->pixmap,
- &pixmap_width, &height);
+ gdk_drawable_get_size (GTK_CELL_PIXTEXT (clist_row->cell[i])->pixmap,
+ &pixmap_width, &height);
width += pixmap_width + GTK_CELL_PIXTEXT (clist_row->cell[i])->spacing;
break;
default:
offset,
row_rectangle.y + row_center_offset + clist_row->cell[i].vertical,
layout);
- g_object_unref (G_OBJECT (layout));
+ g_object_unref (layout);
gdk_gc_set_clip_rectangle (fg_gc, NULL);
}
break;
/* draw focus rectangle */
if (clist->focus_row == row &&
- GTK_WIDGET_CAN_FOCUS (widget) && GTK_WIDGET_HAS_FOCUS(widget))
+ GTK_WIDGET_CAN_FOCUS (widget) && gtk_widget_has_focus (widget))
{
if (!area)
gdk_draw_rectangle (clist->clist_window, clist->xor_gc, FALSE,
}
if (!area)
- gdk_window_clear_area (clist->clist_window, 0,
- ROW_TOP_YPIXEL (clist, i), 0, 0);
+ {
+ int w, h, y;
+ gdk_drawable_get_size (GDK_DRAWABLE (clist->clist_window), &w, &h);
+ y = ROW_TOP_YPIXEL (clist, i);
+ gdk_window_clear_area (clist->clist_window,
+ 0, y,
+ w, h - y);
+ }
}
static void
clist->vadjustment->value = MAX (0, (LIST_HEIGHT (clist) -
clist->clist_window_height));
gtk_signal_emit_by_name (GTK_OBJECT (clist->vadjustment),
- "value_changed");
+ "value-changed");
}
gtk_signal_emit_by_name (GTK_OBJECT (clist->vadjustment), "changed");
}
clist->hadjustment->value = MAX (0, (LIST_WIDTH (clist) -
clist->clist_window_width));
gtk_signal_emit_by_name (GTK_OBJECT (clist->hadjustment),
- "value_changed");
+ "value-changed");
}
gtk_signal_emit_by_name (GTK_OBJECT (clist->hadjustment), "changed");
}
/* The window to which widget->window is relative */
#define ALLOCATION_WINDOW(widget) \
- (GTK_WIDGET_NO_WINDOW (widget) ? \
+ (!gtk_widget_get_has_window (widget) ? \
(widget)->window : \
gdk_window_get_parent ((widget)->window))
if (!GTK_WIDGET_REALIZED (widget))
{
- if (GTK_WIDGET_VISIBLE (widget))
+ if (gtk_widget_get_visible (widget))
{
GdkRectangle tmp_rectangle = widget->allocation;
tmp_rectangle.x += scroll_data->dx;
if (GTK_WIDGET_DRAWABLE (clist))
{
- if (GTK_WIDGET_CAN_FOCUS(clist) && GTK_WIDGET_HAS_FOCUS(clist) &&
+ if (GTK_WIDGET_CAN_FOCUS(clist) && gtk_widget_has_focus (GTK_WIDGET (clist)) &&
!container->focus_child && GTK_CLIST_ADD_MODE(clist))
{
y = ROW_TOP_YPIXEL (clist, clist->focus_row);
gdk_window_scroll (clist->clist_window, dx, 0);
gdk_window_process_updates (clist->clist_window, FALSE);
- if (GTK_WIDGET_CAN_FOCUS(clist) && GTK_WIDGET_HAS_FOCUS(clist) &&
+ if (GTK_WIDGET_CAN_FOCUS(clist) && gtk_widget_has_focus (GTK_WIDGET (clist)) &&
!container->focus_child)
{
if (GTK_CLIST_ADD_MODE(clist))
gint column,
const gchar *title)
{
- if (clist->column[column].title)
- g_free (clist->column[column].title);
+ g_free (clist->column[column].title);
clist->column[column].title = g_strdup (title);
}
gint i;
for (i = 0; i < clist->columns; i++)
- if (clist->column[i].title)
- g_free (clist->column[i].title);
+ g_free (clist->column[i].title);
g_free (clist->column);
}
int i;
GtkCListRow *clist_row;
- clist_row = g_chunk_new (GtkCListRow, clist->row_mem_chunk);
- clist_row->cell = g_chunk_new (GtkCell, clist->cell_mem_chunk);
+ clist_row = g_slice_new (GtkCListRow);
+ clist_row->cell = g_slice_alloc (sizeof (GtkCell) * clist->columns);
for (i = 0; i < clist->columns; i++)
{
if (clist_row->destroy)
clist_row->destroy (clist_row->data);
- g_mem_chunk_free (clist->cell_mem_chunk, clist_row->cell);
- g_mem_chunk_free (clist->row_mem_chunk, clist_row);
+ g_slice_free1 (sizeof (GtkCell) * clist->columns, clist_row->cell);
+ g_slice_free (GtkCListRow, clist_row);
}
/* FOCUS FUNCTIONS
GtkWidget *focus_child;
gboolean is_current_focus;
- if (!GTK_WIDGET_IS_SENSITIVE (widget))
+ if (!gtk_widget_is_sensitive (widget))
return FALSE;
focus_child = GTK_CONTAINER (widget)->focus_child;
while (!return_val && j >= 0 && j < clist->columns)
{
if (clist->column[j].button &&
- GTK_WIDGET_VISIBLE (clist->column[j].button))
+ gtk_widget_get_visible (clist->column[j].button))
{
if (focus_column (clist, j, dir))
{
while (!return_val && j != i)
{
if (clist->column[j].button &&
- GTK_WIDGET_VISIBLE (clist->column[j].button))
+ gtk_widget_get_visible (clist->column[j].button))
{
if (focus_column (clist, j, dir))
{
static gint
horizontal_timeout (GtkCList *clist)
{
- GDK_THREADS_ENTER ();
-
clist->htimer = 0;
do_fake_motion (GTK_WIDGET (clist));
- GDK_THREADS_LEAVE ();
-
return FALSE;
}
static gint
vertical_timeout (GtkCList *clist)
{
- GDK_THREADS_ENTER ();
-
clist->vtimer = 0;
do_fake_motion (GTK_WIDGET (clist));
- GDK_THREADS_LEAVE ();
-
return FALSE;
}
}
}
-#define __GTK_CLIST_C__
#include "gtkaliasdef.c"
-