diff options
-rw-r--r-- | gtk/Makefile.am | 8 | ||||
-rw-r--r-- | gtk/Makefile.nmake | 14 | ||||
-rw-r--r-- | gtk/ethclist.c (renamed from gtk/gtkclist_v12.c) | 2204 | ||||
-rw-r--r-- | gtk/ethclist.h (renamed from gtk/gtkclist_v12.h) | 416 | ||||
-rw-r--r-- | gtk/gtkglobals.h | 7 | ||||
-rw-r--r-- | gtk/gui_prefs.c | 3 | ||||
-rw-r--r-- | gtk/main.c | 387 | ||||
-rw-r--r-- | gtk/main.h | 6 | ||||
-rw-r--r-- | gtk/menu.c | 14 | ||||
-rw-r--r-- | gtk/packet_list.c | 484 | ||||
-rw-r--r-- | gtk/packet_list.h | 47 |
11 files changed, 1853 insertions, 1737 deletions
diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 1e51a19fa8..4422790b8c 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -1,7 +1,7 @@ # Makefile.am # Automake file for the GTK interface routines for Ethereal # -# $Id: Makefile.am,v 1.84 2003/12/29 22:43:33 guy Exp $ +# $Id: Makefile.am,v 1.85 2004/01/09 08:36:22 guy Exp $ # # Ethereal - Network traffic analyzer # By Gerald Combs <gerald@ethereal.com> @@ -116,6 +116,7 @@ libui_a_SOURCES = \ nameres_prefs.c \ nameres_prefs.h \ packet_list.c \ + packet_list.h \ packet_win.c \ packet_win.h \ plugins_dlg.c \ @@ -182,6 +183,8 @@ libui_a_SOURCES = \ dlg_utils.h \ endpoint_talkers_table.c \ endpoint_talkers_table.h \ + ethclist.c \ + ethclist.h \ ethereal-tap-register.c \ file_dlg.c \ file_dlg.h \ @@ -193,8 +196,6 @@ libui_a_SOURCES = \ follow_dlg.h \ goto_dlg.c \ goto_dlg.h \ - gtkclist_v12.c \ - gtkclist_v12.h \ gtkglobals.h \ gtk_stat_util.c \ gtk_stat_util.h \ @@ -210,6 +211,7 @@ libui_a_SOURCES = \ nameres_prefs.c \ nameres_prefs.h \ packet_list.c \ + packet_list.h \ packet_win.c \ packet_win.h \ plugins_dlg.c \ diff --git a/gtk/Makefile.nmake b/gtk/Makefile.nmake index 4f1de51264..b37e378173 100644 --- a/gtk/Makefile.nmake +++ b/gtk/Makefile.nmake @@ -1,7 +1,7 @@ ## Makefile for building ethereal.exe with Microsoft C and nmake ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # -# $Id: Makefile.nmake,v 1.68 2003/12/29 22:43:33 guy Exp $ +# $Id: Makefile.nmake,v 1.69 2004/01/09 08:36:22 guy Exp $ include ..\config.nmake @@ -49,14 +49,10 @@ ETHEREAL_TAP_SRC = \ ETHEREAL_TAP_OBJECTS = $(ETHEREAL_TAP_SRC:.c=.obj) -# gtkclist.obj is not in here because it is gtk+-1.2 code, -# while the DLL for GTK+ on windows is gtk+-1.3, and there's -# some functions that have disappeared in gtk+-1.3 - and -# the only purpose our gtkclist.c serves is to be faster -# than versions of the CList code in some older GTK+ 1.2[.x] -# releases, but as of 1.2.8 the standard GTK+ should have -# the performance fix that's in our gtkclist.c, so there's no -# reason to use our gtkclist.c. +# +# ethclist.obj is not in here because it is currently gtk+-1.2-only +# code, while the DLL for GTK+ on Windows is gtk+-1.3. +# OBJECTS = \ capture_combo_utils.obj \ capture_dlg.obj \ diff --git a/gtk/gtkclist_v12.c b/gtk/ethclist.c index f6e603a237..8def115a12 100644 --- a/gtk/gtkclist_v12.c +++ b/gtk/ethclist.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball, Josh MacDonald, * Copyright (C) 1997-1998 Jay Painter <jpaint@serv.net><jpaint@gimp.org> * - * $Id: gtkclist_v12.c,v 1.1 2003/09/24 06:15:53 oabad Exp $ + * $Id: ethclist.c,v 1.1 2004/01/09 08:36:22 guy Exp $ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -36,7 +36,7 @@ #include <stdlib.h> #include <string.h> #include <gtk/gtkmain.h> -#include "gtkclist_v12.h" +#include "ethclist.h" #include <gtk/gtkbindings.h> #include <gtk/gtkdnd.h> @@ -88,7 +88,7 @@ /* returns the column index from a x pixel location in the * context of the clist's hoffset */ static inline gint -COLUMN_FROM_XPIXEL (GtkCList * clist, +COLUMN_FROM_XPIXEL (EthCList * clist, gint x) { gint i, cx; @@ -122,7 +122,7 @@ COLUMN_FROM_XPIXEL (GtkCList * clist, /* returns the total width of the list */ static inline gint -LIST_WIDTH (GtkCList * clist) +LIST_WIDTH (EthCList * clist) { gint last_column; @@ -142,13 +142,13 @@ LIST_WIDTH (GtkCList * clist) g_list_nth ((clist)->row_list, (row))) -#define GTK_CLIST_CLASS_FW(_widget_) GTK_CLIST_CLASS (((GtkObject*) (_widget_))->klass) +#define ETH_CLIST_CLASS_FW(_widget_) ETH_CLIST_CLASS (((GtkObject*) (_widget_))->klass) /* redraw the list if it's not frozen */ -#define CLIST_UNFROZEN(clist) (((GtkCList*) (clist))->freeze_count == 0) +#define CLIST_UNFROZEN(clist) (((EthCList*) (clist))->freeze_count == 0) #define CLIST_REFRESH(clist) G_STMT_START { \ if (CLIST_UNFROZEN (clist)) \ - GTK_CLIST_CLASS_FW (clist)->refresh ((GtkCList*) (clist)); \ + ETH_CLIST_CLASS_FW (clist)->refresh ((EthCList*) (clist)); \ } G_STMT_END @@ -193,76 +193,76 @@ enum { ARG_SORT_TYPE }; -/* GtkCList Methods */ -static void gtk_clist_class_init (GtkCListClass *klass); -static void gtk_clist_init (GtkCList *clist); +/* EthCList Methods */ +static void eth_clist_class_init (EthCListClass *klass); +static void eth_clist_init (EthCList *clist); /* GtkObject Methods */ -static void gtk_clist_destroy (GtkObject *object); -static void gtk_clist_finalize (GtkObject *object); -static void gtk_clist_set_arg (GtkObject *object, +static void eth_clist_destroy (GtkObject *object); +static void eth_clist_finalize (GtkObject *object); +static void eth_clist_set_arg (GtkObject *object, GtkArg *arg, guint arg_id); -static void gtk_clist_get_arg (GtkObject *object, +static void eth_clist_get_arg (GtkObject *object, GtkArg *arg, guint arg_id); /* GtkWidget Methods */ -static void gtk_clist_set_scroll_adjustments (GtkCList *clist, +static void eth_clist_set_scroll_adjustments (EthCList *clist, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); -static void gtk_clist_realize (GtkWidget *widget); -static void gtk_clist_unrealize (GtkWidget *widget); -static void gtk_clist_map (GtkWidget *widget); -static void gtk_clist_unmap (GtkWidget *widget); -static void gtk_clist_draw (GtkWidget *widget, +static void eth_clist_realize (GtkWidget *widget); +static void eth_clist_unrealize (GtkWidget *widget); +static void eth_clist_map (GtkWidget *widget); +static void eth_clist_unmap (GtkWidget *widget); +static void eth_clist_draw (GtkWidget *widget, GdkRectangle *area); -static gint gtk_clist_expose (GtkWidget *widget, +static gint eth_clist_expose (GtkWidget *widget, GdkEventExpose *event); -static gint gtk_clist_key_press (GtkWidget *widget, +static gint eth_clist_key_press (GtkWidget *widget, GdkEventKey *event); -static gint gtk_clist_button_press (GtkWidget *widget, +static gint eth_clist_button_press (GtkWidget *widget, GdkEventButton *event); -static gint gtk_clist_button_release (GtkWidget *widget, +static gint eth_clist_button_release (GtkWidget *widget, GdkEventButton *event); -static gint gtk_clist_motion (GtkWidget *widget, +static gint eth_clist_motion (GtkWidget *widget, GdkEventMotion *event); -static void gtk_clist_size_request (GtkWidget *widget, +static void eth_clist_size_request (GtkWidget *widget, GtkRequisition *requisition); -static void gtk_clist_size_allocate (GtkWidget *widget, +static void eth_clist_size_allocate (GtkWidget *widget, GtkAllocation *allocation); -static void gtk_clist_draw_focus (GtkWidget *widget); -static gint gtk_clist_focus_in (GtkWidget *widget, +static void eth_clist_draw_focus (GtkWidget *widget); +static gint eth_clist_focus_in (GtkWidget *widget, GdkEventFocus *event); -static gint gtk_clist_focus_out (GtkWidget *widget, +static gint eth_clist_focus_out (GtkWidget *widget, GdkEventFocus *event); -static gint gtk_clist_focus (GtkContainer *container, +static gint eth_clist_focus (GtkContainer *container, GtkDirectionType direction); -static void gtk_clist_style_set (GtkWidget *widget, +static void eth_clist_style_set (GtkWidget *widget, GtkStyle *previous_style); -static void gtk_clist_drag_begin (GtkWidget *widget, +static void eth_clist_drag_begin (GtkWidget *widget, GdkDragContext *context); -static gint gtk_clist_drag_motion (GtkWidget *widget, +static gint eth_clist_drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time); -static void gtk_clist_drag_leave (GtkWidget *widget, +static void eth_clist_drag_leave (GtkWidget *widget, GdkDragContext *context, guint time); -static void gtk_clist_drag_end (GtkWidget *widget, +static void eth_clist_drag_end (GtkWidget *widget, GdkDragContext *context); -static gboolean gtk_clist_drag_drop (GtkWidget *widget, +static gboolean eth_clist_drag_drop (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time); -static void gtk_clist_drag_data_get (GtkWidget *widget, +static void eth_clist_drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time); -static void gtk_clist_drag_data_received (GtkWidget *widget, +static void eth_clist_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, @@ -271,114 +271,114 @@ static void gtk_clist_drag_data_received (GtkWidget *widget, guint time); /* GtkContainer Methods */ -static void gtk_clist_set_focus_child (GtkContainer *container, +static void eth_clist_set_focus_child (GtkContainer *container, GtkWidget *child); -static void gtk_clist_forall (GtkContainer *container, +static void eth_clist_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); /* Selection */ -static void toggle_row (GtkCList *clist, +static void toggle_row (EthCList *clist, gint row, gint column, GdkEvent *event); -static void real_select_row (GtkCList *clist, +static void real_select_row (EthCList *clist, gint row, gint column, GdkEvent *event); -static void real_unselect_row (GtkCList *clist, +static void real_unselect_row (EthCList *clist, gint row, gint column, GdkEvent *event); -static void update_extended_selection (GtkCList *clist, +static void update_extended_selection (EthCList *clist, gint row); -static GList *selection_find (GtkCList *clist, +static GList *selection_find (EthCList *clist, gint row_number, GList *row_list_element); -static void real_select_all (GtkCList *clist); -static void real_unselect_all (GtkCList *clist); -static void move_vertical (GtkCList *clist, +static void real_select_all (EthCList *clist); +static void real_unselect_all (EthCList *clist); +static void move_vertical (EthCList *clist, gint row, gfloat align); -static void move_horizontal (GtkCList *clist, +static void move_horizontal (EthCList *clist, gint diff); -static void real_undo_selection (GtkCList *clist); -static void fake_unselect_all (GtkCList *clist, +static void real_undo_selection (EthCList *clist); +static void fake_unselect_all (EthCList *clist, gint row); -static void fake_toggle_row (GtkCList *clist, +static void fake_toggle_row (EthCList *clist, gint row); -static void resync_selection (GtkCList *clist, +static void resync_selection (EthCList *clist, GdkEvent *event); -static void sync_selection (GtkCList *clist, +static void sync_selection (EthCList *clist, gint row, gint mode); -static void set_anchor (GtkCList *clist, +static void set_anchor (EthCList *clist, gboolean add_mode, gint anchor, gint undo_anchor); -static void start_selection (GtkCList *clist); -static void end_selection (GtkCList *clist); -static void toggle_add_mode (GtkCList *clist); -static void toggle_focus_row (GtkCList *clist); -static void extend_selection (GtkCList *clist, +static void start_selection (EthCList *clist); +static void end_selection (EthCList *clist); +static void toggle_add_mode (EthCList *clist); +static void toggle_focus_row (EthCList *clist); +static void extend_selection (EthCList *clist, GtkScrollType scroll_type, gfloat position, gboolean auto_start_selection); -static gint get_selection_info (GtkCList *clist, +static gint get_selection_info (EthCList *clist, gint x, gint y, gint *row, gint *column); /* Scrolling */ -static void move_focus_row (GtkCList *clist, +static void move_focus_row (EthCList *clist, GtkScrollType scroll_type, gfloat position); -static void scroll_horizontal (GtkCList *clist, +static void scroll_horizontal (EthCList *clist, GtkScrollType scroll_type, gfloat position); -static void scroll_vertical (GtkCList *clist, +static void scroll_vertical (EthCList *clist, GtkScrollType scroll_type, gfloat position); -static void move_horizontal (GtkCList *clist, +static void move_horizontal (EthCList *clist, gint diff); -static void move_vertical (GtkCList *clist, +static void move_vertical (EthCList *clist, gint row, gfloat align); -static gint horizontal_timeout (GtkCList *clist); -static gint vertical_timeout (GtkCList *clist); -static void remove_grab (GtkCList *clist); +static gint horizontal_timeout (EthCList *clist); +static gint vertical_timeout (EthCList *clist); +static void remove_grab (EthCList *clist); /* Resize Columns */ -static void draw_xor_line (GtkCList *clist); -static gint new_column_width (GtkCList *clist, +static void draw_xor_line (EthCList *clist); +static gint new_column_width (EthCList *clist, gint column, gint *x); -static void column_auto_resize (GtkCList *clist, - GtkCListRow *clist_row, +static void column_auto_resize (EthCList *clist, + EthCListRow *clist_row, gint column, gint old_width); -static void real_resize_column (GtkCList *clist, +static void real_resize_column (EthCList *clist, gint column, gint width); -static void abort_column_resize (GtkCList *clist); -static void cell_size_request (GtkCList *clist, - GtkCListRow *clist_row, +static void abort_column_resize (EthCList *clist); +static void cell_size_request (EthCList *clist, + EthCListRow *clist_row, gint column, GtkRequisition *requisition); /* Buttons */ -static void column_button_create (GtkCList *clist, +static void column_button_create (EthCList *clist, gint column); static void column_button_clicked (GtkWidget *widget, gpointer data); /* Adjustments */ -static void adjust_adjustments (GtkCList *clist, +static void adjust_adjustments (EthCList *clist, gboolean block_resize); -static void check_exposures (GtkCList *clist); +static void check_exposures (EthCList *clist); static void vadjustment_changed (GtkAdjustment *adjustment, gpointer data); static void vadjustment_value_changed (GtkAdjustment *adjustment, @@ -389,8 +389,8 @@ static void hadjustment_value_changed (GtkAdjustment *adjustment, gpointer data); /* Drawing */ -static void get_cell_style (GtkCList *clist, - GtkCListRow *clist_row, +static void get_cell_style (EthCList *clist, + EthCListRow *clist_row, gint state, gint column, GtkStyle **style, @@ -405,72 +405,72 @@ static gint draw_cell_pixmap (GdkWindow *window, gint y, gint width, gint height); -static void draw_row (GtkCList *clist, +static void draw_row (EthCList *clist, GdkRectangle *area, gint row, - GtkCListRow *clist_row); -static void draw_rows (GtkCList *clist, + EthCListRow *clist_row); +static void draw_rows (EthCList *clist, GdkRectangle *area); -static void clist_refresh (GtkCList *clist); -static void draw_drag_highlight (GtkCList *clist, - GtkCListRow *dest_row, +static void clist_refresh (EthCList *clist); +static void draw_drag_highlight (EthCList *clist, + EthCListRow *dest_row, gint dest_row_number, - GtkCListDragPos drag_pos); + EthCListDragPos drag_pos); /* Size Allocation / Requisition */ -static void size_allocate_title_buttons (GtkCList *clist); -static void size_allocate_columns (GtkCList *clist, +static void size_allocate_title_buttons (EthCList *clist); +static void size_allocate_columns (EthCList *clist, gboolean block_resize); -static gint list_requisition_width (GtkCList *clist); +static gint list_requisition_width (EthCList *clist); /* Memory Allocation/Distruction Routines */ -static GtkCListColumn *columns_new (GtkCList *clist); -static void column_title_new (GtkCList *clist, +static EthCListColumn *columns_new (EthCList *clist); +static void column_title_new (EthCList *clist, gint column, const gchar *title); -static void columns_delete (GtkCList *clist); -static GtkCListRow *row_new (GtkCList *clist); -static void row_delete (GtkCList *clist, - GtkCListRow *clist_row); -static void set_cell_contents (GtkCList *clist, - GtkCListRow *clist_row, +static void columns_delete (EthCList *clist); +static EthCListRow *row_new (EthCList *clist); +static void row_delete (EthCList *clist, + EthCListRow *clist_row); +static void set_cell_contents (EthCList *clist, + EthCListRow *clist_row, gint column, - GtkCellType type, + EthCellType type, const gchar *text, guint8 spacing, GdkPixmap *pixmap, GdkBitmap *mask); -static gint real_insert_row (GtkCList *clist, +static gint real_insert_row (EthCList *clist, gint row, gchar *text[]); -static void real_remove_row (GtkCList *clist, +static void real_remove_row (EthCList *clist, gint row); -static void real_clear (GtkCList *clist); +static void real_clear (EthCList *clist); /* Sorting */ -static gint default_compare (GtkCList *clist, +static gint default_compare (EthCList *clist, gconstpointer row1, gconstpointer row2); -static void real_sort_list (GtkCList *clist); -static GList *gtk_clist_merge (GtkCList *clist, +static void real_sort_list (EthCList *clist); +static GList *eth_clist_merge (EthCList *clist, GList *a, GList *b); -static GList *gtk_clist_mergesort (GtkCList *clist, +static GList *eth_clist_mergesort (EthCList *clist, GList *list, gint num); /* Misc */ -static gboolean title_focus (GtkCList *clist, +static gboolean title_focus (EthCList *clist, gint dir); -static void real_row_move (GtkCList *clist, +static void real_row_move (EthCList *clist, gint source_row, gint dest_row); static gint column_title_passive_func (GtkWidget *widget, GdkEvent *event, gpointer data); -static void drag_dest_cell (GtkCList *clist, +static void drag_dest_cell (EthCList *clist, gint x, gint y, - GtkCListDestInfo *dest_info); + EthCListDestInfo *dest_info); @@ -480,7 +480,7 @@ static guint clist_signals[LAST_SIGNAL] = {0}; static GtkTargetEntry clist_target_table = { "gtk-clist-drag-reorder", 0, 0}; GtkType -gtk_clist_get_type (void) +eth_clist_get_type (void) { static GtkType clist_type = 0; @@ -488,11 +488,11 @@ gtk_clist_get_type (void) { static const GtkTypeInfo clist_info = { - "GtkCList", - sizeof (GtkCList), - sizeof (GtkCListClass), - (GtkClassInitFunc) gtk_clist_class_init, - (GtkObjectInitFunc) gtk_clist_init, + "EthCList", + sizeof (EthCList), + sizeof (EthCListClass), + (GtkClassInitFunc) eth_clist_class_init, + (GtkObjectInitFunc) eth_clist_init, /* reserved_1 */ NULL, /* reserved_2 */ NULL, (GtkClassInitFunc) NULL, @@ -505,7 +505,7 @@ gtk_clist_get_type (void) } static void -gtk_clist_class_init (GtkCListClass *klass) +eth_clist_class_init (EthCListClass *klass) { GtkObjectClass *object_class; GtkWidgetClass *widget_class; @@ -518,49 +518,49 @@ gtk_clist_class_init (GtkCListClass *klass) parent_class = gtk_type_class (GTK_TYPE_CONTAINER); - gtk_object_add_arg_type ("GtkCList::n_columns", + gtk_object_add_arg_type ("EthCList::n_columns", GTK_TYPE_UINT, GTK_ARG_READWRITE | GTK_ARG_CONSTRUCT_ONLY, ARG_N_COLUMNS); - gtk_object_add_arg_type ("GtkCList::shadow_type", + gtk_object_add_arg_type ("EthCList::shadow_type", GTK_TYPE_SHADOW_TYPE, GTK_ARG_READWRITE, ARG_SHADOW_TYPE); - gtk_object_add_arg_type ("GtkCList::selection_mode", + gtk_object_add_arg_type ("EthCList::selection_mode", GTK_TYPE_SELECTION_MODE, GTK_ARG_READWRITE, ARG_SELECTION_MODE); - gtk_object_add_arg_type ("GtkCList::row_height", + gtk_object_add_arg_type ("EthCList::row_height", GTK_TYPE_UINT, GTK_ARG_READWRITE, ARG_ROW_HEIGHT); - gtk_object_add_arg_type ("GtkCList::reorderable", + gtk_object_add_arg_type ("EthCList::reorderable", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_REORDERABLE); - gtk_object_add_arg_type ("GtkCList::titles_active", + gtk_object_add_arg_type ("EthCList::titles_active", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_TITLES_ACTIVE); - gtk_object_add_arg_type ("GtkCList::use_drag_icons", + gtk_object_add_arg_type ("EthCList::use_drag_icons", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_USE_DRAG_ICONS); - gtk_object_add_arg_type ("GtkCList::sort_type", + gtk_object_add_arg_type ("EthCList::sort_type", GTK_TYPE_SORT_TYPE, GTK_ARG_READWRITE, ARG_SORT_TYPE); - object_class->set_arg = gtk_clist_set_arg; - object_class->get_arg = gtk_clist_get_arg; - object_class->destroy = gtk_clist_destroy; - object_class->finalize = gtk_clist_finalize; + object_class->set_arg = eth_clist_set_arg; + object_class->get_arg = eth_clist_get_arg; + object_class->destroy = eth_clist_destroy; + object_class->finalize = eth_clist_finalize; widget_class->set_scroll_adjustments_signal = gtk_signal_new ("set_scroll_adjustments", GTK_RUN_LAST, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, set_scroll_adjustments), + GTK_SIGNAL_OFFSET (EthCListClass, set_scroll_adjustments), gtk_marshal_NONE__POINTER_POINTER, GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); @@ -568,7 +568,7 @@ gtk_clist_class_init (GtkCListClass *klass) gtk_signal_new ("select_row", GTK_RUN_FIRST, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, select_row), + GTK_SIGNAL_OFFSET (EthCListClass, select_row), gtk_marshal_NONE__INT_INT_POINTER, GTK_TYPE_NONE, 3, GTK_TYPE_INT, @@ -578,7 +578,7 @@ gtk_clist_class_init (GtkCListClass *klass) gtk_signal_new ("unselect_row", GTK_RUN_FIRST, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, unselect_row), + GTK_SIGNAL_OFFSET (EthCListClass, unselect_row), gtk_marshal_NONE__INT_INT_POINTER, GTK_TYPE_NONE, 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_GDK_EVENT); @@ -586,21 +586,21 @@ gtk_clist_class_init (GtkCListClass *klass) gtk_signal_new ("row_move", GTK_RUN_LAST, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, row_move), + GTK_SIGNAL_OFFSET (EthCListClass, row_move), gtk_marshal_NONE__INT_INT, GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); clist_signals[CLICK_COLUMN] = gtk_signal_new ("click_column", GTK_RUN_FIRST, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, click_column), + GTK_SIGNAL_OFFSET (EthCListClass, click_column), gtk_marshal_NONE__INT, GTK_TYPE_NONE, 1, GTK_TYPE_INT); clist_signals[RESIZE_COLUMN] = gtk_signal_new ("resize_column", GTK_RUN_LAST, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, resize_column), + GTK_SIGNAL_OFFSET (EthCListClass, resize_column), gtk_marshal_NONE__INT_INT, GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); @@ -608,56 +608,56 @@ gtk_clist_class_init (GtkCListClass *klass) gtk_signal_new ("toggle_focus_row", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, toggle_focus_row), + GTK_SIGNAL_OFFSET (EthCListClass, toggle_focus_row), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); clist_signals[SELECT_ALL] = gtk_signal_new ("select_all", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, select_all), + GTK_SIGNAL_OFFSET (EthCListClass, select_all), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); clist_signals[UNSELECT_ALL] = gtk_signal_new ("unselect_all", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, unselect_all), + GTK_SIGNAL_OFFSET (EthCListClass, unselect_all), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); clist_signals[UNDO_SELECTION] = gtk_signal_new ("undo_selection", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, undo_selection), + GTK_SIGNAL_OFFSET (EthCListClass, undo_selection), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); clist_signals[START_SELECTION] = gtk_signal_new ("start_selection", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, start_selection), + GTK_SIGNAL_OFFSET (EthCListClass, start_selection), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); clist_signals[END_SELECTION] = gtk_signal_new ("end_selection", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, end_selection), + GTK_SIGNAL_OFFSET (EthCListClass, end_selection), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); clist_signals[TOGGLE_ADD_MODE] = gtk_signal_new ("toggle_add_mode", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, toggle_add_mode), + GTK_SIGNAL_OFFSET (EthCListClass, toggle_add_mode), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); clist_signals[EXTEND_SELECTION] = gtk_signal_new ("extend_selection", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, extend_selection), + GTK_SIGNAL_OFFSET (EthCListClass, extend_selection), gtk_marshal_NONE__ENUM_FLOAT_BOOL, GTK_TYPE_NONE, 3, GTK_TYPE_SCROLL_TYPE, GTK_TYPE_FLOAT, GTK_TYPE_BOOL); @@ -665,57 +665,57 @@ gtk_clist_class_init (GtkCListClass *klass) gtk_signal_new ("scroll_vertical", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, scroll_vertical), + GTK_SIGNAL_OFFSET (EthCListClass, scroll_vertical), gtk_marshal_NONE__ENUM_FLOAT, GTK_TYPE_NONE, 2, GTK_TYPE_SCROLL_TYPE, GTK_TYPE_FLOAT); clist_signals[SCROLL_HORIZONTAL] = gtk_signal_new ("scroll_horizontal", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, scroll_horizontal), + GTK_SIGNAL_OFFSET (EthCListClass, scroll_horizontal), gtk_marshal_NONE__ENUM_FLOAT, GTK_TYPE_NONE, 2, GTK_TYPE_SCROLL_TYPE, GTK_TYPE_FLOAT); clist_signals[ABORT_COLUMN_RESIZE] = gtk_signal_new ("abort_column_resize", GTK_RUN_LAST | GTK_RUN_ACTION, object_class->type, - GTK_SIGNAL_OFFSET (GtkCListClass, abort_column_resize), + GTK_SIGNAL_OFFSET (EthCListClass, abort_column_resize), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); gtk_object_class_add_signals (object_class, clist_signals, LAST_SIGNAL); - widget_class->realize = gtk_clist_realize; - widget_class->unrealize = gtk_clist_unrealize; - widget_class->map = gtk_clist_map; - widget_class->unmap = gtk_clist_unmap; - widget_class->draw = gtk_clist_draw; - widget_class->button_press_event = gtk_clist_button_press; - widget_class->button_release_event = gtk_clist_button_release; - widget_class->motion_notify_event = gtk_clist_motion; - widget_class->expose_event = gtk_clist_expose; - widget_class->size_request = gtk_clist_size_request; - widget_class->size_allocate = gtk_clist_size_allocate; - widget_class->key_press_event = gtk_clist_key_press; - widget_class->focus_in_event = gtk_clist_focus_in; - widget_class->focus_out_event = gtk_clist_focus_out; - widget_class->draw_focus = gtk_clist_draw_focus; - widget_class->style_set = gtk_clist_style_set; - widget_class->drag_begin = gtk_clist_drag_begin; - widget_class->drag_end = gtk_clist_drag_end; - widget_class->drag_motion = gtk_clist_drag_motion; - widget_class->drag_leave = gtk_clist_drag_leave; - widget_class->drag_drop = gtk_clist_drag_drop; - widget_class->drag_data_get = gtk_clist_drag_data_get; - widget_class->drag_data_received = gtk_clist_drag_data_received; + widget_class->realize = eth_clist_realize; + widget_class->unrealize = eth_clist_unrealize; + widget_class->map = eth_clist_map; + widget_class->unmap = eth_clist_unmap; + widget_class->draw = eth_clist_draw; + widget_class->button_press_event = eth_clist_button_press; + widget_class->button_release_event = eth_clist_button_release; + widget_class->motion_notify_event = eth_clist_motion; + widget_class->expose_event = eth_clist_expose; + widget_class->size_request = eth_clist_size_request; + widget_class->size_allocate = eth_clist_size_allocate; + widget_class->key_press_event = eth_clist_key_press; + widget_class->focus_in_event = eth_clist_focus_in; + widget_class->focus_out_event = eth_clist_focus_out; + widget_class->draw_focus = eth_clist_draw_focus; + widget_class->style_set = eth_clist_style_set; + widget_class->drag_begin = eth_clist_drag_begin; + widget_class->drag_end = eth_clist_drag_end; + widget_class->drag_motion = eth_clist_drag_motion; + widget_class->drag_leave = eth_clist_drag_leave; + widget_class->drag_drop = eth_clist_drag_drop; + widget_class->drag_data_get = eth_clist_drag_data_get; + widget_class->drag_data_received = eth_clist_drag_data_received; /* container_class->add = NULL; use the default GtkContainerClass warning */ /* container_class->remove=NULL; use the default GtkContainerClass warning */ - container_class->forall = gtk_clist_forall; - container_class->focus = gtk_clist_focus; - container_class->set_focus_child = gtk_clist_set_focus_child; + container_class->forall = eth_clist_forall; + container_class->focus = eth_clist_focus; + container_class->set_focus_child = eth_clist_set_focus_child; - klass->set_scroll_adjustments = gtk_clist_set_scroll_adjustments; + klass->set_scroll_adjustments = eth_clist_set_scroll_adjustments; klass->refresh = clist_refresh; klass->select_row = real_select_row; klass->unselect_row = real_unselect_row; @@ -844,54 +844,54 @@ gtk_clist_class_init (GtkCListClass *klass) } static void -gtk_clist_set_arg (GtkObject *object, +eth_clist_set_arg (GtkObject *object, GtkArg *arg, guint arg_id) { - GtkCList *clist; + EthCList *clist; - clist = GTK_CLIST (object); + clist = ETH_CLIST (object); switch (arg_id) { case ARG_N_COLUMNS: /* construct-only arg, only set when !GTK_CONSTRUCTED */ - gtk_clist_construct (clist, MAX (1, GTK_VALUE_UINT (*arg)), NULL); + eth_clist_construct (clist, MAX (1, GTK_VALUE_UINT (*arg)), NULL); break; case ARG_SHADOW_TYPE: - gtk_clist_set_shadow_type (clist, GTK_VALUE_ENUM (*arg)); + eth_clist_set_shadow_type (clist, GTK_VALUE_ENUM (*arg)); break; case ARG_SELECTION_MODE: - gtk_clist_set_selection_mode (clist, GTK_VALUE_ENUM (*arg)); + eth_clist_set_selection_mode (clist, GTK_VALUE_ENUM (*arg)); break; case ARG_ROW_HEIGHT: - gtk_clist_set_row_height (clist, GTK_VALUE_UINT (*arg)); + eth_clist_set_row_height (clist, GTK_VALUE_UINT (*arg)); break; case ARG_REORDERABLE: - gtk_clist_set_reorderable (clist, GTK_VALUE_BOOL (*arg)); + eth_clist_set_reorderable (clist, GTK_VALUE_BOOL (*arg)); break; case ARG_TITLES_ACTIVE: if (GTK_VALUE_BOOL (*arg)) - gtk_clist_column_titles_active (clist); + eth_clist_column_titles_active (clist); else - gtk_clist_column_titles_passive (clist); + eth_clist_column_titles_passive (clist); break; case ARG_USE_DRAG_ICONS: - gtk_clist_set_use_drag_icons (clist, GTK_VALUE_BOOL (*arg)); + eth_clist_set_use_drag_icons (clist, GTK_VALUE_BOOL (*arg)); break; case ARG_SORT_TYPE: - gtk_clist_set_sort_type (clist, GTK_VALUE_ENUM (*arg)); + eth_clist_set_sort_type (clist, GTK_VALUE_ENUM (*arg)); break; } } static void -gtk_clist_get_arg (GtkObject *object, +eth_clist_get_arg (GtkObject *object, GtkArg *arg, guint arg_id) { - GtkCList *clist; + EthCList *clist; - clist = GTK_CLIST (object); + clist = ETH_CLIST (object); switch (arg_id) { @@ -907,10 +907,10 @@ gtk_clist_get_arg (GtkObject *object, GTK_VALUE_ENUM (*arg) = clist->selection_mode; break; case ARG_ROW_HEIGHT: - GTK_VALUE_UINT (*arg) = GTK_CLIST_ROW_HEIGHT_SET(clist) ? clist->row_height : 0; + GTK_VALUE_UINT (*arg) = ETH_CLIST_ROW_HEIGHT_SET(clist) ? clist->row_height : 0; break; case ARG_REORDERABLE: - GTK_VALUE_BOOL (*arg) = GTK_CLIST_REORDERABLE (clist); + GTK_VALUE_BOOL (*arg) = ETH_CLIST_REORDERABLE (clist); break; case ARG_TITLES_ACTIVE: GTK_VALUE_BOOL (*arg) = TRUE; @@ -923,7 +923,7 @@ gtk_clist_get_arg (GtkObject *object, } break; case ARG_USE_DRAG_ICONS: - GTK_VALUE_BOOL (*arg) = GTK_CLIST_USE_DRAG_ICONS (clist); + GTK_VALUE_BOOL (*arg) = ETH_CLIST_USE_DRAG_ICONS (clist); break; case ARG_SORT_TYPE: GTK_VALUE_ENUM (*arg) = clist->sort_type; @@ -935,15 +935,15 @@ gtk_clist_get_arg (GtkObject *object, } static void -gtk_clist_init (GtkCList *clist) +eth_clist_init (EthCList *clist) { clist->flags = 0; GTK_WIDGET_UNSET_FLAGS (clist, GTK_NO_WINDOW); GTK_WIDGET_SET_FLAGS (clist, GTK_CAN_FOCUS); - GTK_CLIST_SET_FLAG (clist, CLIST_CHILD_HAS_FOCUS); - GTK_CLIST_SET_FLAG (clist, CLIST_DRAW_DRAG_LINE); - GTK_CLIST_SET_FLAG (clist, CLIST_USE_DRAG_ICONS); + ETH_CLIST_SET_FLAG (clist, CLIST_CHILD_HAS_FOCUS); + ETH_CLIST_SET_FLAG (clist, CLIST_DRAW_DRAG_LINE); + ETH_CLIST_SET_FLAG (clist, CLIST_USE_DRAG_ICONS); clist->row_mem_chunk = NULL; clist->cell_mem_chunk = NULL; @@ -975,11 +975,11 @@ gtk_clist_init (GtkCList *clist) clist->vadjustment = NULL; clist->hadjustment = NULL; - clist->button_actions[0] = GTK_BUTTON_SELECTS | GTK_BUTTON_DRAGS; - clist->button_actions[1] = GTK_BUTTON_IGNORED; - clist->button_actions[2] = GTK_BUTTON_IGNORED; - clist->button_actions[3] = GTK_BUTTON_IGNORED; - clist->button_actions[4] = GTK_BUTTON_IGNORED; + clist->button_actions[0] = ETH_BUTTON_SELECTS | ETH_BUTTON_DRAGS; + clist->button_actions[1] = ETH_BUTTON_IGNORED; + clist->button_actions[2] = ETH_BUTTON_IGNORED; + clist->button_actions[3] = ETH_BUTTON_IGNORED; + clist->button_actions[4] = ETH_BUTTON_IGNORED; clist->cursor_drag = NULL; clist->xor_gc = NULL; @@ -1012,12 +1012,12 @@ gtk_clist_init (GtkCList *clist) /* Constructors */ void -gtk_clist_construct (GtkCList *clist, +eth_clist_construct (EthCList *clist, gint columns, gchar *titles[]) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); g_return_if_fail (columns > 0); g_return_if_fail (GTK_OBJECT_CONSTRUCTED (clist) == FALSE); @@ -1029,15 +1029,15 @@ gtk_clist_construct (GtkCList *clist, */ if (!clist->row_mem_chunk) clist->row_mem_chunk = g_mem_chunk_new ("clist row mem chunk", - sizeof (GtkCListRow), - sizeof (GtkCListRow) * + sizeof (EthCListRow), + sizeof (EthCListRow) * 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) * columns, - sizeof (GtkCell) * columns * + sizeof (EthCell) * columns, + sizeof (EthCell) * columns * CLIST_OPTIMUM_SIZE, G_ALLOC_AND_FREE); @@ -1054,54 +1054,54 @@ gtk_clist_construct (GtkCList *clist, { gint i; - GTK_CLIST_SET_FLAG (clist, CLIST_SHOW_TITLES); + ETH_CLIST_SET_FLAG (clist, CLIST_SHOW_TITLES); for (i = 0; i < columns; i++) - gtk_clist_set_column_title (clist, i, titles[i]); + eth_clist_set_column_title (clist, i, titles[i]); } else { - GTK_CLIST_UNSET_FLAG (clist, CLIST_SHOW_TITLES); + ETH_CLIST_UNSET_FLAG (clist, CLIST_SHOW_TITLES); } } /* GTKCLIST PUBLIC INTERFACE - * gtk_clist_new - * gtk_clist_new_with_titles - * gtk_clist_set_hadjustment - * gtk_clist_set_vadjustment - * gtk_clist_get_hadjustment - * gtk_clist_get_vadjustment - * gtk_clist_set_shadow_type - * gtk_clist_set_selection_mode - * gtk_clist_freeze - * gtk_clist_thaw + * eth_clist_new + * eth_clist_new_with_titles + * eth_clist_set_hadjustment + * eth_clist_set_vadjustment + * eth_clist_get_hadjustment + * eth_clist_get_vadjustment + * eth_clist_set_shadow_type + * eth_clist_set_selection_mode + * eth_clist_freeze + * eth_clist_thaw */ GtkWidget* -gtk_clist_new (gint columns) +eth_clist_new (gint columns) { - return gtk_clist_new_with_titles (columns, NULL); + return eth_clist_new_with_titles (columns, NULL); } GtkWidget* -gtk_clist_new_with_titles (gint columns, +eth_clist_new_with_titles (gint columns, gchar *titles[]) { GtkWidget *widget; - widget = gtk_type_new (GTK_TYPE_CLIST); - gtk_clist_construct (GTK_CLIST (widget), columns, titles); + widget = gtk_type_new (ETH_TYPE_CLIST); + eth_clist_construct (ETH_CLIST (widget), columns, titles); return widget; } void -gtk_clist_set_hadjustment (GtkCList *clist, +eth_clist_set_hadjustment (EthCList *clist, GtkAdjustment *adjustment) { GtkAdjustment *old_adjustment; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (adjustment) g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); @@ -1136,22 +1136,22 @@ gtk_clist_set_hadjustment (GtkCList *clist, } GtkAdjustment * -gtk_clist_get_hadjustment (GtkCList *clist) +eth_clist_get_hadjustment (EthCList *clist) { g_return_val_if_fail (clist != NULL, NULL); - g_return_val_if_fail (GTK_IS_CLIST (clist), NULL); + g_return_val_if_fail (ETH_IS_CLIST (clist), NULL); return clist->hadjustment; } void -gtk_clist_set_vadjustment (GtkCList *clist, +eth_clist_set_vadjustment (EthCList *clist, GtkAdjustment *adjustment) { GtkAdjustment *old_adjustment; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (adjustment) g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); @@ -1186,31 +1186,31 @@ gtk_clist_set_vadjustment (GtkCList *clist, } GtkAdjustment * -gtk_clist_get_vadjustment (GtkCList *clist) +eth_clist_get_vadjustment (EthCList *clist) { g_return_val_if_fail (clist != NULL, NULL); - g_return_val_if_fail (GTK_IS_CLIST (clist), NULL); + g_return_val_if_fail (ETH_IS_CLIST (clist), NULL); return clist->vadjustment; } static void -gtk_clist_set_scroll_adjustments (GtkCList *clist, +eth_clist_set_scroll_adjustments (EthCList *clist, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment) { if (clist->hadjustment != hadjustment) - gtk_clist_set_hadjustment (clist, hadjustment); + eth_clist_set_hadjustment (clist, hadjustment); if (clist->vadjustment != vadjustment) - gtk_clist_set_vadjustment (clist, vadjustment); + eth_clist_set_vadjustment (clist, vadjustment); } void -gtk_clist_set_shadow_type (GtkCList *clist, +eth_clist_set_shadow_type (EthCList *clist, GtkShadowType type) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); clist->shadow_type = type; @@ -1219,11 +1219,11 @@ gtk_clist_set_shadow_type (GtkCList *clist, } void -gtk_clist_set_selection_mode (GtkCList *clist, +eth_clist_set_selection_mode (EthCList *clist, GtkSelectionMode mode) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (mode == clist->selection_mode) return; @@ -1246,25 +1246,25 @@ gtk_clist_set_selection_mode (GtkCList *clist, return; case GTK_SELECTION_BROWSE: case GTK_SELECTION_SINGLE: - gtk_clist_unselect_all (clist); + eth_clist_unselect_all (clist); break; } } void -gtk_clist_freeze (GtkCList *clist) +eth_clist_freeze (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); clist->freeze_count++; } void -gtk_clist_thaw (GtkCList *clist) +eth_clist_thaw (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (clist->freeze_count) { @@ -1274,33 +1274,33 @@ gtk_clist_thaw (GtkCList *clist) } /* PUBLIC COLUMN FUNCTIONS - * gtk_clist_column_titles_show - * gtk_clist_column_titles_hide - * gtk_clist_column_title_active - * gtk_clist_column_title_passive - * gtk_clist_column_titles_active - * gtk_clist_column_titles_passive - * gtk_clist_set_column_title - * gtk_clist_get_column_title - * gtk_clist_set_column_widget - * gtk_clist_set_column_justification - * gtk_clist_set_column_visibility - * gtk_clist_set_column_resizeable - * gtk_clist_set_column_auto_resize - * gtk_clist_optimal_column_width - * gtk_clist_set_column_width - * gtk_clist_set_column_min_width - * gtk_clist_set_column_max_width + * eth_clist_column_titles_show + * eth_clist_column_titles_hide + * eth_clist_column_title_active + * eth_clist_column_title_passive + * eth_clist_column_titles_active + * eth_clist_column_titles_passive + * eth_clist_set_column_title + * eth_clist_get_column_title + * eth_clist_set_column_widget + * eth_clist_set_column_justification + * eth_clist_set_column_visibility + * eth_clist_set_column_resizeable + * eth_clist_set_column_auto_resize + * eth_clist_optimal_column_width + * eth_clist_set_column_width + * eth_clist_set_column_min_width + * eth_clist_set_column_max_width */ void -gtk_clist_column_titles_show (GtkCList *clist) +eth_clist_column_titles_show (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - if (!GTK_CLIST_SHOW_TITLES(clist)) + if (!ETH_CLIST_SHOW_TITLES(clist)) { - GTK_CLIST_SET_FLAG (clist, CLIST_SHOW_TITLES); + ETH_CLIST_SET_FLAG (clist, CLIST_SHOW_TITLES); if (clist->title_window) gdk_window_show (clist->title_window); gtk_widget_queue_resize (GTK_WIDGET (clist)); @@ -1308,14 +1308,14 @@ gtk_clist_column_titles_show (GtkCList *clist) } void -gtk_clist_column_titles_hide (GtkCList *clist) +eth_clist_column_titles_hide (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - if (GTK_CLIST_SHOW_TITLES(clist)) + if (ETH_CLIST_SHOW_TITLES(clist)) { - GTK_CLIST_UNSET_FLAG (clist, CLIST_SHOW_TITLES); + ETH_CLIST_UNSET_FLAG (clist, CLIST_SHOW_TITLES); if (clist->title_window) gdk_window_hide (clist->title_window); gtk_widget_queue_resize (GTK_WIDGET (clist)); @@ -1323,11 +1323,11 @@ gtk_clist_column_titles_hide (GtkCList *clist) } void -gtk_clist_column_title_active (GtkCList *clist, +eth_clist_column_title_active (EthCList *clist, gint column) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1346,13 +1346,13 @@ gtk_clist_column_title_active (GtkCList *clist, } void -gtk_clist_column_title_passive (GtkCList *clist, +eth_clist_column_title_passive (EthCList *clist, gint column) { GtkButton *button; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1377,37 +1377,37 @@ gtk_clist_column_title_passive (GtkCList *clist, } void -gtk_clist_column_titles_active (GtkCList *clist) +eth_clist_column_titles_active (EthCList *clist) { gint i; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - if (!GTK_CLIST_SHOW_TITLES(clist)) + if (!ETH_CLIST_SHOW_TITLES(clist)) return; for (i = 0; i < clist->columns; i++) - gtk_clist_column_title_active (clist, i); + eth_clist_column_title_active (clist, i); } void -gtk_clist_column_titles_passive (GtkCList *clist) +eth_clist_column_titles_passive (EthCList *clist) { gint i; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - if (!GTK_CLIST_SHOW_TITLES(clist)) + if (!ETH_CLIST_SHOW_TITLES(clist)) return; for (i = 0; i < clist->columns; i++) - gtk_clist_column_title_passive (clist, i); + eth_clist_column_title_passive (clist, i); } void -gtk_clist_set_column_title (GtkCList *clist, +eth_clist_set_column_title (EthCList *clist, gint column, const gchar *title) { @@ -1417,7 +1417,7 @@ gtk_clist_set_column_title (GtkCList *clist, GtkWidget *label; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1472,11 +1472,11 @@ gtk_clist_set_column_title (GtkCList *clist, } gchar * -gtk_clist_get_column_title (GtkCList *clist, +eth_clist_get_column_title (EthCList *clist, gint column) { g_return_val_if_fail (clist != NULL, NULL); - g_return_val_if_fail (GTK_IS_CLIST (clist), NULL); + g_return_val_if_fail (ETH_IS_CLIST (clist), NULL); if (column < 0 || column >= clist->columns) return NULL; @@ -1485,7 +1485,7 @@ gtk_clist_get_column_title (GtkCList *clist, } void -gtk_clist_set_column_widget (GtkCList *clist, +eth_clist_set_column_widget (EthCList *clist, gint column, GtkWidget *widget) { @@ -1493,7 +1493,7 @@ gtk_clist_set_column_widget (GtkCList *clist, GtkWidget *old_widget; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1528,11 +1528,11 @@ gtk_clist_set_column_widget (GtkCList *clist, } GtkWidget * -gtk_clist_get_column_widget (GtkCList *clist, +eth_clist_get_column_widget (EthCList *clist, gint column) { g_return_val_if_fail (clist != NULL, NULL); - g_return_val_if_fail (GTK_IS_CLIST (clist), NULL); + g_return_val_if_fail (ETH_IS_CLIST (clist), NULL); if (column < 0 || column >= clist->columns) return NULL; @@ -1544,14 +1544,14 @@ gtk_clist_get_column_widget (GtkCList *clist, } void -gtk_clist_set_column_justification (GtkCList *clist, +eth_clist_set_column_justification (EthCList *clist, gint column, GtkJustification justification) { GtkWidget *alignment; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1592,12 +1592,12 @@ gtk_clist_set_column_justification (GtkCList *clist, } void -gtk_clist_set_column_visibility (GtkCList *clist, +eth_clist_set_column_visibility (EthCList *clist, gint column, gboolean visible) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1632,12 +1632,12 @@ gtk_clist_set_column_visibility (GtkCList *clist, } void -gtk_clist_set_column_resizeable (GtkCList *clist, +eth_clist_set_column_resizeable (EthCList *clist, gint column, gboolean resizeable) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1653,12 +1653,12 @@ gtk_clist_set_column_resizeable (GtkCList *clist, } void -gtk_clist_set_column_auto_resize (GtkCList *clist, +eth_clist_set_column_auto_resize (EthCList *clist, gint column, gboolean auto_resize) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1669,13 +1669,13 @@ gtk_clist_set_column_auto_resize (GtkCList *clist, if (auto_resize) { clist->column[column].resizeable = FALSE; - if (!GTK_CLIST_AUTO_RESIZE_BLOCKED(clist)) + if (!ETH_CLIST_AUTO_RESIZE_BLOCKED(clist)) { gint width; /* cap the auto-rezised width to something reasonable */ - width = MIN(gtk_clist_optimal_column_width (clist, column), MAX_COLUMN_AUTOSIZE_WIDTH); - gtk_clist_set_column_width (clist, column, width); + width = MIN(eth_clist_optimal_column_width (clist, column), MAX_COLUMN_AUTOSIZE_WIDTH); + eth_clist_set_column_width (clist, column, width); } } @@ -1684,30 +1684,30 @@ gtk_clist_set_column_auto_resize (GtkCList *clist, } gint -gtk_clist_columns_autosize (GtkCList *clist) +eth_clist_columns_autosize (EthCList *clist) { gint i; gint width; g_return_val_if_fail (clist != NULL, 0); - g_return_val_if_fail (GTK_IS_CLIST (clist), 0); + g_return_val_if_fail (ETH_IS_CLIST (clist), 0); - gtk_clist_freeze (clist); + eth_clist_freeze (clist); width = 0; for (i = 0; i < clist->columns; i++) { - gtk_clist_set_column_width (clist, i, - gtk_clist_optimal_column_width (clist, i)); + eth_clist_set_column_width (clist, i, + eth_clist_optimal_column_width (clist, i)); width += clist->column[i].width; } - gtk_clist_thaw (clist); + eth_clist_thaw (clist); return width; } gint -gtk_clist_optimal_column_width (GtkCList *clist, +eth_clist_optimal_column_width (EthCList *clist, gint column) { GtkRequisition requisition; @@ -1715,12 +1715,12 @@ gtk_clist_optimal_column_width (GtkCList *clist, gint width; g_return_val_if_fail (clist != NULL, 0); - g_return_val_if_fail (GTK_CLIST (clist), 0); + g_return_val_if_fail (ETH_CLIST (clist), 0); if (column < 0 || column > clist->columns) return 0; - if (GTK_CLIST_SHOW_TITLES(clist) && clist->column[column].button) + if (ETH_CLIST_SHOW_TITLES(clist) && clist->column[column].button) width = (clist->column[column].button->requisition.width) #if 0 (CELL_SPACING + (2 * COLUMN_INSET))) @@ -1731,8 +1731,8 @@ gtk_clist_optimal_column_width (GtkCList *clist, for (list = clist->row_list; list; list = list->next) { - GTK_CLIST_CLASS_FW (clist)->cell_size_request - (clist, GTK_CLIST_ROW (list), column, &requisition); + ETH_CLIST_CLASS_FW (clist)->cell_size_request + (clist, ETH_CLIST_ROW (list), column, &requisition); width = MAX (width, requisition.width); } @@ -1740,12 +1740,12 @@ gtk_clist_optimal_column_width (GtkCList *clist, } void -gtk_clist_set_column_width (GtkCList *clist, +eth_clist_set_column_width (EthCList *clist, gint column, gint width) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1755,12 +1755,12 @@ gtk_clist_set_column_width (GtkCList *clist, } void -gtk_clist_set_column_min_width (GtkCList *clist, +eth_clist_set_column_min_width (EthCList *clist, gint column, gint min_width) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1774,16 +1774,16 @@ gtk_clist_set_column_min_width (GtkCList *clist, clist->column[column].min_width = min_width; if (clist->column[column].area.width < clist->column[column].min_width) - gtk_clist_set_column_width (clist, column,clist->column[column].min_width); + eth_clist_set_column_width (clist, column,clist->column[column].min_width); } void -gtk_clist_set_column_max_width (GtkCList *clist, +eth_clist_set_column_max_width (EthCList *clist, gint column, gint max_width) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1797,7 +1797,7 @@ gtk_clist_set_column_max_width (GtkCList *clist, clist->column[column].max_width = max_width; if (clist->column[column].area.width > clist->column[column].max_width) - gtk_clist_set_column_width (clist, column,clist->column[column].max_width); + eth_clist_set_column_width (clist, column,clist->column[column].max_width); } /* PRIVATE COLUMN FUNCTIONS @@ -1813,8 +1813,8 @@ gtk_clist_set_column_max_width (GtkCList *clist, * column_title_passive_func */ static void -column_auto_resize (GtkCList *clist, - GtkCListRow *clist_row, +column_auto_resize (EthCList *clist, + EthCListRow *clist_row, gint column, gint old_width) { @@ -1822,26 +1822,26 @@ column_auto_resize (GtkCList *clist, GtkRequisition requisition; if (!clist->column[column].auto_resize || - GTK_CLIST_AUTO_RESIZE_BLOCKED(clist)) + ETH_CLIST_AUTO_RESIZE_BLOCKED(clist)) return; if (clist_row) - GTK_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, + ETH_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, column, &requisition); else requisition.width = 0; if (requisition.width > clist->column[column].width) - gtk_clist_set_column_width (clist, column, requisition.width); + eth_clist_set_column_width (clist, column, requisition.width); else if (requisition.width < old_width && old_width == clist->column[column].width) { GList *list; gint new_width = 0; - /* run a "gtk_clist_optimal_column_width" but break, if + /* run a "eth_clist_optimal_column_width" but break, if * the column doesn't shrink */ - if (GTK_CLIST_SHOW_TITLES(clist) && clist->column[column].button) + if (ETH_CLIST_SHOW_TITLES(clist) && clist->column[column].button) new_width = (clist->column[column].button->requisition.width - (CELL_SPACING + (2 * COLUMN_INSET))); else @@ -1849,25 +1849,25 @@ column_auto_resize (GtkCList *clist, for (list = clist->row_list; list; list = list->next) { - GTK_CLIST_CLASS_FW (clist)->cell_size_request - (clist, GTK_CLIST_ROW (list), column, &requisition); + ETH_CLIST_CLASS_FW (clist)->cell_size_request + (clist, ETH_CLIST_ROW (list), column, &requisition); new_width = MAX (new_width, requisition.width); if (new_width == clist->column[column].width) break; } if (new_width < clist->column[column].width) - gtk_clist_set_column_width + eth_clist_set_column_width (clist, column, MAX (new_width, clist->column[column].min_width)); } } static void -real_resize_column (GtkCList *clist, +real_resize_column (EthCList *clist, gint column, gint width) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -1892,15 +1892,15 @@ real_resize_column (GtkCList *clist, } static void -abort_column_resize (GtkCList *clist) +abort_column_resize (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - if (!GTK_CLIST_IN_DRAG(clist)) + if (!ETH_CLIST_IN_DRAG(clist)) return; - GTK_CLIST_UNSET_FLAG (clist, CLIST_IN_DRAG); + ETH_CLIST_UNSET_FLAG (clist, CLIST_IN_DRAG); gtk_grab_remove (GTK_WIDGET (clist)); gdk_pointer_ungrab (GDK_CURRENT_TIME); clist->drag_pos = -1; @@ -1908,7 +1908,7 @@ abort_column_resize (GtkCList *clist) if (clist->x_drag >= 0 && clist->x_drag <= clist->clist_window_width - 1) draw_xor_line (clist); - if (GTK_CLIST_ADD_MODE(clist)) + if (ETH_CLIST_ADD_MODE(clist)) { 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); @@ -1916,7 +1916,7 @@ abort_column_resize (GtkCList *clist) } static void -size_allocate_title_buttons (GtkCList *clist) +size_allocate_title_buttons (EthCList *clist) { GtkAllocation button_allocation; gint last_column; @@ -1992,7 +1992,7 @@ size_allocate_title_buttons (GtkCList *clist) } static void -size_allocate_columns (GtkCList *clist, +size_allocate_columns (EthCList *clist, gboolean block_resize) { gint xoffset = CELL_SPACING + COLUMN_INSET; @@ -2013,7 +2013,7 @@ size_allocate_columns (GtkCList *clist, clist->column[i].area.x = xoffset; if (clist->column[i].width_set) { - if (!block_resize && GTK_CLIST_SHOW_TITLES(clist) && + if (!block_resize && ETH_CLIST_SHOW_TITLES(clist) && clist->column[i].auto_resize && clist->column[i].button) { gint width; @@ -2022,13 +2022,13 @@ size_allocate_columns (GtkCList *clist, (CELL_SPACING + (2 * COLUMN_INSET))); if (width > clist->column[i].width) - gtk_clist_set_column_width (clist, i, width); + eth_clist_set_column_width (clist, i, width); } clist->column[i].area.width = clist->column[i].width; xoffset += clist->column[i].width + CELL_SPACING + (2* COLUMN_INSET); } - else if (GTK_CLIST_SHOW_TITLES(clist) && clist->column[i].button) + else if (ETH_CLIST_SHOW_TITLES(clist) && clist->column[i].button) { clist->column[i].area.width = clist->column[i].button->requisition.width - @@ -2042,7 +2042,7 @@ size_allocate_columns (GtkCList *clist, } static gint -list_requisition_width (GtkCList *clist) +list_requisition_width (EthCList *clist) { gint width = CELL_SPACING; gint i; @@ -2054,7 +2054,7 @@ list_requisition_width (GtkCList *clist) if (clist->column[i].width_set) width += clist->column[i].width + CELL_SPACING + (2 * COLUMN_INSET); - else if (GTK_CLIST_SHOW_TITLES(clist) && clist->column[i].button) + else if (ETH_CLIST_SHOW_TITLES(clist) && clist->column[i].button) width += clist->column[i].button->requisition.width; } @@ -2065,7 +2065,7 @@ list_requisition_width (GtkCList *clist) * the column and x position of the cursor; the x cursor position is passed * in as a pointer and automagicly corrected if it's beyond min/max limits */ static gint -new_column_width (GtkCList *clist, +new_column_width (EthCList *clist, gint column, gint *x) { @@ -2109,7 +2109,7 @@ new_column_width (GtkCList *clist, } static void -column_button_create (GtkCList *clist, +column_button_create (EthCList *clist, gint column) { GtkWidget *button; @@ -2134,12 +2134,12 @@ column_button_clicked (GtkWidget *widget, gpointer data) { gint i; - GtkCList *clist; + EthCList *clist; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (data)); + g_return_if_fail (ETH_IS_CLIST (data)); - clist = GTK_CLIST (data); + clist = ETH_CLIST (data); /* find the column who's button was pressed */ for (i = 0; i < clist->columns; i++) @@ -2174,24 +2174,24 @@ column_title_passive_func (GtkWidget *widget _U_, /* PUBLIC CELL FUNCTIONS - * gtk_clist_get_cell_type - * gtk_clist_set_text - * gtk_clist_get_text - * gtk_clist_set_pixmap - * gtk_clist_get_pixmap - * gtk_clist_set_pixtext - * gtk_clist_get_pixtext - * gtk_clist_set_shift + * eth_clist_get_cell_type + * eth_clist_set_text + * eth_clist_get_text + * eth_clist_set_pixmap + * eth_clist_get_pixmap + * eth_clist_set_pixtext + * eth_clist_get_pixtext + * eth_clist_set_shift */ -GtkCellType -gtk_clist_get_cell_type (GtkCList *clist, +EthCellType +eth_clist_get_cell_type (EthCList *clist, gint row, gint column) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_val_if_fail (clist != NULL, -1); - g_return_val_if_fail (GTK_IS_CLIST (clist), -1); + g_return_val_if_fail (ETH_IS_CLIST (clist), -1); if (row < 0 || row >= clist->rows) return -1; @@ -2204,15 +2204,15 @@ gtk_clist_get_cell_type (GtkCList *clist, } void -gtk_clist_set_text (GtkCList *clist, +eth_clist_set_text (EthCList *clist, gint row, gint column, const gchar *text) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -2222,27 +2222,27 @@ gtk_clist_set_text (GtkCList *clist, clist_row = ROW_ELEMENT (clist, row)->data; /* if text is null, then the cell is empty */ - GTK_CLIST_CLASS_FW (clist)->set_cell_contents - (clist, clist_row, column, GTK_CELL_TEXT, text, 0, NULL, NULL); + ETH_CLIST_CLASS_FW (clist)->set_cell_contents + (clist, clist_row, column, ETH_CELL_TEXT, text, 0, NULL, NULL); /* redraw the list if it's not frozen */ if (CLIST_UNFROZEN (clist)) { - if (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + if (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } } gint -gtk_clist_get_text (GtkCList *clist, +eth_clist_get_text (EthCList *clist, gint row, gint column, gchar **text) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_val_if_fail (clist != NULL, 0); - g_return_val_if_fail (GTK_IS_CLIST (clist), 0); + g_return_val_if_fail (ETH_IS_CLIST (clist), 0); if (row < 0 || row >= clist->rows) return 0; @@ -2251,26 +2251,26 @@ gtk_clist_get_text (GtkCList *clist, clist_row = ROW_ELEMENT (clist, row)->data; - if (clist_row->cell[column].type != GTK_CELL_TEXT) + if (clist_row->cell[column].type != ETH_CELL_TEXT) return 0; if (text) - *text = GTK_CELL_TEXT (clist_row->cell[column])->text; + *text = ETH_CELL_TEXT (clist_row->cell[column])->text; return 1; } void -gtk_clist_set_pixmap (GtkCList *clist, +eth_clist_set_pixmap (EthCList *clist, gint row, gint column, GdkPixmap *pixmap, GdkBitmap *mask) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -2283,28 +2283,28 @@ gtk_clist_set_pixmap (GtkCList *clist, if (mask) gdk_pixmap_ref (mask); - GTK_CLIST_CLASS_FW (clist)->set_cell_contents - (clist, clist_row, column, GTK_CELL_PIXMAP, NULL, 0, pixmap, mask); + ETH_CLIST_CLASS_FW (clist)->set_cell_contents + (clist, clist_row, column, ETH_CELL_PIXMAP, NULL, 0, pixmap, mask); /* redraw the list if it's not frozen */ if (CLIST_UNFROZEN (clist)) { - if (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + if (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } } gint -gtk_clist_get_pixmap (GtkCList *clist, +eth_clist_get_pixmap (EthCList *clist, gint row, gint column, GdkPixmap **pixmap, GdkBitmap **mask) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_val_if_fail (clist != NULL, 0); - g_return_val_if_fail (GTK_IS_CLIST (clist), 0); + g_return_val_if_fail (ETH_IS_CLIST (clist), 0); if (row < 0 || row >= clist->rows) return 0; @@ -2313,21 +2313,21 @@ gtk_clist_get_pixmap (GtkCList *clist, clist_row = ROW_ELEMENT (clist, row)->data; - if (clist_row->cell[column].type != GTK_CELL_PIXMAP) + if (clist_row->cell[column].type != ETH_CELL_PIXMAP) return 0; if (pixmap) { - *pixmap = GTK_CELL_PIXMAP (clist_row->cell[column])->pixmap; + *pixmap = ETH_CELL_PIXMAP (clist_row->cell[column])->pixmap; /* mask can be NULL */ - *mask = GTK_CELL_PIXMAP (clist_row->cell[column])->mask; + *mask = ETH_CELL_PIXMAP (clist_row->cell[column])->mask; } return 1; } void -gtk_clist_set_pixtext (GtkCList *clist, +eth_clist_set_pixtext (EthCList *clist, gint row, gint column, const gchar *text, @@ -2335,10 +2335,10 @@ gtk_clist_set_pixtext (GtkCList *clist, GdkPixmap *pixmap, GdkBitmap *mask) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -2349,19 +2349,19 @@ gtk_clist_set_pixtext (GtkCList *clist, gdk_pixmap_ref (pixmap); if (mask) gdk_pixmap_ref (mask); - GTK_CLIST_CLASS_FW (clist)->set_cell_contents - (clist, clist_row, column, GTK_CELL_PIXTEXT, text, spacing, pixmap, mask); + ETH_CLIST_CLASS_FW (clist)->set_cell_contents + (clist, clist_row, column, ETH_CELL_PIXTEXT, text, spacing, pixmap, mask); /* redraw the list if it's not frozen */ if (CLIST_UNFROZEN (clist)) { - if (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + if (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } } gint -gtk_clist_get_pixtext (GtkCList *clist, +eth_clist_get_pixtext (EthCList *clist, gint row, gint column, gchar **text, @@ -2369,10 +2369,10 @@ gtk_clist_get_pixtext (GtkCList *clist, GdkPixmap **pixmap, GdkBitmap **mask) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_val_if_fail (clist != NULL, 0); - g_return_val_if_fail (GTK_IS_CLIST (clist), 0); + g_return_val_if_fail (ETH_IS_CLIST (clist), 0); if (row < 0 || row >= clist->rows) return 0; @@ -2381,34 +2381,34 @@ gtk_clist_get_pixtext (GtkCList *clist, clist_row = ROW_ELEMENT (clist, row)->data; - if (clist_row->cell[column].type != GTK_CELL_PIXTEXT) + if (clist_row->cell[column].type != ETH_CELL_PIXTEXT) return 0; if (text) - *text = GTK_CELL_PIXTEXT (clist_row->cell[column])->text; + *text = ETH_CELL_PIXTEXT (clist_row->cell[column])->text; if (spacing) - *spacing = GTK_CELL_PIXTEXT (clist_row->cell[column])->spacing; + *spacing = ETH_CELL_PIXTEXT (clist_row->cell[column])->spacing; if (pixmap) - *pixmap = GTK_CELL_PIXTEXT (clist_row->cell[column])->pixmap; + *pixmap = ETH_CELL_PIXTEXT (clist_row->cell[column])->pixmap; /* mask can be NULL */ - *mask = GTK_CELL_PIXTEXT (clist_row->cell[column])->mask; + *mask = ETH_CELL_PIXTEXT (clist_row->cell[column])->mask; return 1; } void -gtk_clist_set_shift (GtkCList *clist, +eth_clist_set_shift (EthCList *clist, gint row, gint column, gint vertical, gint horizontal) { GtkRequisition requisition = { 0, 0 }; - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -2418,8 +2418,8 @@ gtk_clist_set_shift (GtkCList *clist, clist_row = ROW_ELEMENT (clist, row)->data; if (clist->column[column].auto_resize && - !GTK_CLIST_AUTO_RESIZE_BLOCKED(clist)) - GTK_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, + !ETH_CLIST_AUTO_RESIZE_BLOCKED(clist)) + ETH_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, column, &requisition); clist_row->cell[column].vertical = vertical; @@ -2427,8 +2427,8 @@ gtk_clist_set_shift (GtkCList *clist, column_auto_resize (clist, clist_row, column, requisition.width); - if (CLIST_UNFROZEN (clist) && gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + if (CLIST_UNFROZEN (clist) && eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } /* PRIVATE CELL FUNCTIONS @@ -2436,10 +2436,10 @@ gtk_clist_set_shift (GtkCList *clist, * cell_size_request */ static void -set_cell_contents (GtkCList *clist, - GtkCListRow *clist_row, +set_cell_contents (EthCList *clist, + EthCListRow *clist_row, gint column, - GtkCellType type, + EthCellType type, const gchar *text, guint8 spacing, GdkPixmap *pixmap, @@ -2448,67 +2448,67 @@ set_cell_contents (GtkCList *clist, GtkRequisition requisition; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); g_return_if_fail (clist_row != NULL); if (clist->column[column].auto_resize && - !GTK_CLIST_AUTO_RESIZE_BLOCKED(clist)) - GTK_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, + !ETH_CLIST_AUTO_RESIZE_BLOCKED(clist)) + ETH_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, column, &requisition); switch (clist_row->cell[column].type) { - case GTK_CELL_EMPTY: + case ETH_CELL_EMPTY: break; - case GTK_CELL_TEXT: - g_free (GTK_CELL_TEXT (clist_row->cell[column])->text); + case ETH_CELL_TEXT: + g_free (ETH_CELL_TEXT (clist_row->cell[column])->text); break; - case GTK_CELL_PIXMAP: - gdk_pixmap_unref (GTK_CELL_PIXMAP (clist_row->cell[column])->pixmap); - if (GTK_CELL_PIXMAP (clist_row->cell[column])->mask) - gdk_bitmap_unref (GTK_CELL_PIXMAP (clist_row->cell[column])->mask); + case ETH_CELL_PIXMAP: + gdk_pixmap_unref (ETH_CELL_PIXMAP (clist_row->cell[column])->pixmap); + if (ETH_CELL_PIXMAP (clist_row->cell[column])->mask) + gdk_bitmap_unref (ETH_CELL_PIXMAP (clist_row->cell[column])->mask); break; - case GTK_CELL_PIXTEXT: - g_free (GTK_CELL_PIXTEXT (clist_row->cell[column])->text); - gdk_pixmap_unref (GTK_CELL_PIXTEXT (clist_row->cell[column])->pixmap); - if (GTK_CELL_PIXTEXT (clist_row->cell[column])->mask) - gdk_bitmap_unref (GTK_CELL_PIXTEXT (clist_row->cell[column])->mask); + case ETH_CELL_PIXTEXT: + g_free (ETH_CELL_PIXTEXT (clist_row->cell[column])->text); + gdk_pixmap_unref (ETH_CELL_PIXTEXT (clist_row->cell[column])->pixmap); + if (ETH_CELL_PIXTEXT (clist_row->cell[column])->mask) + gdk_bitmap_unref (ETH_CELL_PIXTEXT (clist_row->cell[column])->mask); break; - case GTK_CELL_WIDGET: + case ETH_CELL_WIDGET: /* unimplimented */ break; default: break; } - clist_row->cell[column].type = GTK_CELL_EMPTY; + clist_row->cell[column].type = ETH_CELL_EMPTY; switch (type) { - case GTK_CELL_TEXT: + case ETH_CELL_TEXT: if (text) { - clist_row->cell[column].type = GTK_CELL_TEXT; - GTK_CELL_TEXT (clist_row->cell[column])->text = g_strdup (text); + clist_row->cell[column].type = ETH_CELL_TEXT; + ETH_CELL_TEXT (clist_row->cell[column])->text = g_strdup (text); } break; - case GTK_CELL_PIXMAP: + case ETH_CELL_PIXMAP: if (pixmap) { - clist_row->cell[column].type = GTK_CELL_PIXMAP; - GTK_CELL_PIXMAP (clist_row->cell[column])->pixmap = pixmap; + clist_row->cell[column].type = ETH_CELL_PIXMAP; + ETH_CELL_PIXMAP (clist_row->cell[column])->pixmap = pixmap; /* We set the mask even if it is NULL */ - GTK_CELL_PIXMAP (clist_row->cell[column])->mask = mask; + ETH_CELL_PIXMAP (clist_row->cell[column])->mask = mask; } break; - case GTK_CELL_PIXTEXT: + case ETH_CELL_PIXTEXT: if (text && pixmap) { - clist_row->cell[column].type = GTK_CELL_PIXTEXT; - GTK_CELL_PIXTEXT (clist_row->cell[column])->text = g_strdup (text); - GTK_CELL_PIXTEXT (clist_row->cell[column])->spacing = spacing; - GTK_CELL_PIXTEXT (clist_row->cell[column])->pixmap = pixmap; - GTK_CELL_PIXTEXT (clist_row->cell[column])->mask = mask; + clist_row->cell[column].type = ETH_CELL_PIXTEXT; + ETH_CELL_PIXTEXT (clist_row->cell[column])->text = g_strdup (text); + ETH_CELL_PIXTEXT (clist_row->cell[column])->spacing = spacing; + ETH_CELL_PIXTEXT (clist_row->cell[column])->pixmap = pixmap; + ETH_CELL_PIXTEXT (clist_row->cell[column])->mask = mask; } break; default: @@ -2516,13 +2516,13 @@ set_cell_contents (GtkCList *clist, } if (clist->column[column].auto_resize && - !GTK_CLIST_AUTO_RESIZE_BLOCKED(clist)) + !ETH_CLIST_AUTO_RESIZE_BLOCKED(clist)) column_auto_resize (clist, clist_row, column, requisition.width); } static void -cell_size_request (GtkCList *clist, - GtkCListRow *clist_row, +cell_size_request (EthCList *clist, + EthCListRow *clist_row, gint column, GtkRequisition *requisition) { @@ -2531,7 +2531,7 @@ cell_size_request (GtkCList *clist, gint height; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); g_return_if_fail (requisition != NULL); get_cell_style (clist, clist_row, GTK_STATE_NORMAL, column, &style, @@ -2539,25 +2539,25 @@ cell_size_request (GtkCList *clist, switch (clist_row->cell[column].type) { - case GTK_CELL_TEXT: + case ETH_CELL_TEXT: requisition->width = gdk_string_width (style->font, - GTK_CELL_TEXT (clist_row->cell[column])->text); + ETH_CELL_TEXT (clist_row->cell[column])->text); requisition->height = style->font->ascent + style->font->descent; break; - case GTK_CELL_PIXTEXT: - gdk_window_get_size (GTK_CELL_PIXTEXT (clist_row->cell[column])->pixmap, + case ETH_CELL_PIXTEXT: + gdk_window_get_size (ETH_CELL_PIXTEXT (clist_row->cell[column])->pixmap, &width, &height); requisition->width = width + - GTK_CELL_PIXTEXT (clist_row->cell[column])->spacing + + ETH_CELL_PIXTEXT (clist_row->cell[column])->spacing + gdk_string_width (style->font, - GTK_CELL_TEXT (clist_row->cell[column])->text); + ETH_CELL_TEXT (clist_row->cell[column])->text); requisition->height = MAX (style->font->ascent + style->font->descent, height); break; - case GTK_CELL_PIXMAP: - gdk_window_get_size (GTK_CELL_PIXMAP (clist_row->cell[column])->pixmap, + case ETH_CELL_PIXMAP: + gdk_window_get_size (ETH_CELL_PIXMAP (clist_row->cell[column])->pixmap, &width, &height); requisition->width = width; requisition->height = height; @@ -2573,63 +2573,63 @@ cell_size_request (GtkCList *clist, } /* PUBLIC INSERT/REMOVE ROW FUNCTIONS - * gtk_clist_prepend - * gtk_clist_append - * gtk_clist_insert - * gtk_clist_remove - * gtk_clist_clear + * eth_clist_prepend + * eth_clist_append + * eth_clist_insert + * eth_clist_remove + * eth_clist_clear */ gint -gtk_clist_prepend (GtkCList *clist, +eth_clist_prepend (EthCList *clist, gchar *text[]) { g_return_val_if_fail (clist != NULL, -1); - g_return_val_if_fail (GTK_IS_CLIST (clist), -1); + g_return_val_if_fail (ETH_IS_CLIST (clist), -1); g_return_val_if_fail (text != NULL, -1); - return GTK_CLIST_CLASS_FW (clist)->insert_row (clist, 0, text); + return ETH_CLIST_CLASS_FW (clist)->insert_row (clist, 0, text); } gint -gtk_clist_append (GtkCList *clist, +eth_clist_append (EthCList *clist, gchar *text[]) { g_return_val_if_fail (clist != NULL, -1); - g_return_val_if_fail (GTK_IS_CLIST (clist), -1); + g_return_val_if_fail (ETH_IS_CLIST (clist), -1); g_return_val_if_fail (text != NULL, -1); - return GTK_CLIST_CLASS_FW (clist)->insert_row (clist, clist->rows, text); + return ETH_CLIST_CLASS_FW (clist)->insert_row (clist, clist->rows, text); } gint -gtk_clist_insert (GtkCList *clist, +eth_clist_insert (EthCList *clist, gint row, gchar *text[]) { g_return_val_if_fail (clist != NULL, -1); - g_return_val_if_fail (GTK_IS_CLIST (clist), -1); + g_return_val_if_fail (ETH_IS_CLIST (clist), -1); g_return_val_if_fail (text != NULL, -1); if (row < 0 || row > clist->rows) row = clist->rows; - return GTK_CLIST_CLASS_FW (clist)->insert_row (clist, row, text); + return ETH_CLIST_CLASS_FW (clist)->insert_row (clist, row, text); } void -gtk_clist_remove (GtkCList *clist, +eth_clist_remove (EthCList *clist, gint row) { - GTK_CLIST_CLASS_FW (clist)->remove_row (clist, row); + ETH_CLIST_CLASS_FW (clist)->remove_row (clist, row); } void -gtk_clist_clear (GtkCList *clist) +eth_clist_clear (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - GTK_CLIST_CLASS_FW (clist)->clear (clist); + ETH_CLIST_CLASS_FW (clist)->clear (clist); } /* PRIVATE INSERT/REMOVE ROW FUNCTIONS @@ -2639,15 +2639,15 @@ gtk_clist_clear (GtkCList *clist) * real_row_move */ static gint -real_insert_row (GtkCList *clist, +real_insert_row (EthCList *clist, gint row, gchar *text[]) { gint i; - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_val_if_fail (clist != NULL, -1); - g_return_val_if_fail (GTK_IS_CLIST (clist), -1); + g_return_val_if_fail (ETH_IS_CLIST (clist), -1); g_return_val_if_fail (text != NULL, -1); /* return if out of bounds */ @@ -2660,8 +2660,8 @@ real_insert_row (GtkCList *clist, /* set the text in the row's columns */ for (i = 0; i < clist->columns; i++) if (text[i]) - GTK_CLIST_CLASS_FW (clist)->set_cell_contents - (clist, clist_row, i, GTK_CELL_TEXT, text[i], 0, NULL ,NULL); + ETH_CLIST_CLASS_FW (clist)->set_cell_contents + (clist, clist_row, i, ETH_CELL_TEXT, text[i], 0, NULL ,NULL); if (!clist->rows) { @@ -2670,7 +2670,7 @@ real_insert_row (GtkCList *clist, } else { - if (GTK_CLIST_AUTO_SORT(clist)) /* override insertion pos */ + if (ETH_CLIST_AUTO_SORT(clist)) /* override insertion pos */ { GList *work; @@ -2681,7 +2681,7 @@ real_insert_row (GtkCList *clist, { while (row < clist->rows && clist->compare (clist, clist_row, - GTK_CLIST_ROW (work)) > 0) + ETH_CLIST_ROW (work)) > 0) { row++; work = work->next; @@ -2691,7 +2691,7 @@ real_insert_row (GtkCList *clist, { while (row < clist->rows && clist->compare (clist, clist_row, - GTK_CLIST_ROW (work)) < 0) + ETH_CLIST_ROW (work)) < 0) { row++; work = work->next; @@ -2719,7 +2719,7 @@ real_insert_row (GtkCList *clist, { clist->focus_row = 0; if (clist->selection_mode == GTK_SELECTION_BROWSE) - gtk_clist_select_row (clist, 0, -1); + eth_clist_select_row (clist, 0, -1); } /* redraw the list if it isn't frozen */ @@ -2727,7 +2727,7 @@ real_insert_row (GtkCList *clist, { adjust_adjustments (clist, FALSE); - if (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + if (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) draw_rows (clist, NULL); } @@ -2735,21 +2735,21 @@ real_insert_row (GtkCList *clist, } static void -real_remove_row (GtkCList *clist, +real_remove_row (EthCList *clist, gint row) { gint was_visible, was_selected; GList *list; - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); /* return if out of bounds */ if (row < 0 || row > (clist->rows - 1)) return; - was_visible = (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE); + was_visible = (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE); was_selected = 0; /* get the row we're going to delete */ @@ -2801,14 +2801,14 @@ real_remove_row (GtkCList *clist, } static void -real_clear (GtkCList *clist) +real_clear (EthCList *clist) { GList *list; GList *free_list; gint i; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); /* free up the selection list */ g_list_free (clist->selection); @@ -2827,24 +2827,24 @@ real_clear (GtkCList *clist) clist->drag_pos = -1; /* remove all the rows */ - GTK_CLIST_SET_FLAG (clist, CLIST_AUTO_RESIZE_BLOCKED); + ETH_CLIST_SET_FLAG (clist, CLIST_AUTO_RESIZE_BLOCKED); free_list = clist->row_list; clist->row_list = NULL; clist->row_list_end = NULL; clist->rows = 0; for (list = free_list; list; list = list->next) - row_delete (clist, GTK_CLIST_ROW (list)); + row_delete (clist, ETH_CLIST_ROW (list)); g_list_free (free_list); - GTK_CLIST_UNSET_FLAG (clist, CLIST_AUTO_RESIZE_BLOCKED); + ETH_CLIST_UNSET_FLAG (clist, CLIST_AUTO_RESIZE_BLOCKED); for (i = 0; i < clist->columns; i++) if (clist->column[i].auto_resize) { - if (GTK_CLIST_SHOW_TITLES(clist) && clist->column[i].button) - gtk_clist_set_column_width + if (ETH_CLIST_SHOW_TITLES(clist) && clist->column[i].button) + eth_clist_set_column_width (clist, i, (clist->column[i].button->requisition.width - (CELL_SPACING + (2 * COLUMN_INSET)))); else - gtk_clist_set_column_width (clist, i, 0); + eth_clist_set_column_width (clist, i, 0); } /* zero-out the scrollbars */ if (clist->vadjustment) @@ -2857,19 +2857,19 @@ real_clear (GtkCList *clist) } static void -real_row_move (GtkCList *clist, +real_row_move (EthCList *clist, gint source_row, gint dest_row) { - GtkCListRow *clist_row; + EthCListRow *clist_row; GList *list; gint first, last; gint d; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - if (GTK_CLIST_AUTO_SORT(clist)) + if (ETH_CLIST_AUTO_SORT(clist)) return; if (source_row < 0 || source_row >= clist->rows || @@ -2877,7 +2877,7 @@ real_row_move (GtkCList *clist, source_row == dest_row) return; - gtk_clist_freeze (clist); + eth_clist_freeze (clist); /* unlink source row */ clist_row = ROW_ELEMENT (clist, source_row)->data; @@ -2920,31 +2920,31 @@ real_row_move (GtkCList *clist, else if (clist->focus_row > first) clist->focus_row += d; - gtk_clist_thaw (clist); + eth_clist_thaw (clist); } /* PUBLIC ROW FUNCTIONS - * gtk_clist_moveto - * gtk_clist_set_row_height - * gtk_clist_set_row_data - * gtk_clist_set_row_data_full - * gtk_clist_get_row_data - * gtk_clist_find_row_from_data - * gtk_clist_swap_rows - * gtk_clist_row_move - * gtk_clist_row_is_visible - * gtk_clist_set_foreground - * gtk_clist_set_background + * eth_clist_moveto + * eth_clist_set_row_height + * eth_clist_set_row_data + * eth_clist_set_row_data_full + * eth_clist_get_row_data + * eth_clist_find_row_from_data + * eth_clist_swap_rows + * eth_clist_row_move + * eth_clist_row_is_visible + * eth_clist_set_foreground + * eth_clist_set_background */ void -gtk_clist_moveto (GtkCList *clist, +eth_clist_moveto (EthCList *clist, gint row, gint column, gfloat row_align, gfloat col_align) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < -1 || row >= clist->rows) return; @@ -2977,30 +2977,30 @@ gtk_clist_moveto (GtkCList *clist, } void -gtk_clist_set_row_height (GtkCList *clist, +eth_clist_set_row_height (EthCList *clist, guint height) { GtkWidget *widget; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); widget = GTK_WIDGET (clist); if (height > 0) { clist->row_height = height; - GTK_CLIST_SET_FLAG (clist, CLIST_ROW_HEIGHT_SET); + ETH_CLIST_SET_FLAG (clist, CLIST_ROW_HEIGHT_SET); } else { - GTK_CLIST_UNSET_FLAG (clist, CLIST_ROW_HEIGHT_SET); + ETH_CLIST_UNSET_FLAG (clist, CLIST_ROW_HEIGHT_SET); clist->row_height = 0; } if (GTK_WIDGET_REALIZED (clist)) { - if (!GTK_CLIST_ROW_HEIGHT_SET(clist)) + if (!ETH_CLIST_ROW_HEIGHT_SET(clist)) { clist->row_height = (widget->style->font->ascent + widget->style->font->descent + 1); @@ -3016,23 +3016,23 @@ gtk_clist_set_row_height (GtkCList *clist, } void -gtk_clist_set_row_data (GtkCList *clist, +eth_clist_set_row_data (EthCList *clist, gint row, gpointer data) { - gtk_clist_set_row_data_full (clist, row, data, NULL); + eth_clist_set_row_data_full (clist, row, data, NULL); } void -gtk_clist_set_row_data_full (GtkCList *clist, +eth_clist_set_row_data_full (EthCList *clist, gint row, gpointer data, GtkDestroyNotify destroy) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row > (clist->rows - 1)) return; @@ -3047,13 +3047,13 @@ gtk_clist_set_row_data_full (GtkCList *clist, } gpointer -gtk_clist_get_row_data (GtkCList *clist, +eth_clist_get_row_data (EthCList *clist, gint row) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_val_if_fail (clist != NULL, NULL); - g_return_val_if_fail (GTK_IS_CLIST (clist), NULL); + g_return_val_if_fail (ETH_IS_CLIST (clist), NULL); if (row < 0 || row > (clist->rows - 1)) return NULL; @@ -3063,56 +3063,56 @@ gtk_clist_get_row_data (GtkCList *clist, } gint -gtk_clist_find_row_from_data (GtkCList *clist, +eth_clist_find_row_from_data (EthCList *clist, gpointer data) { GList *list; gint n; g_return_val_if_fail (clist != NULL, -1); - g_return_val_if_fail (GTK_IS_CLIST (clist), -1); + g_return_val_if_fail (ETH_IS_CLIST (clist), -1); for (n = 0, list = clist->row_list; list; n++, list = list->next) - if (GTK_CLIST_ROW (list)->data == data) + if (ETH_CLIST_ROW (list)->data == data) return n; return -1; } void -gtk_clist_swap_rows (GtkCList *clist, +eth_clist_swap_rows (EthCList *clist, gint row1, gint row2) { gint first, last; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); g_return_if_fail (row1 != row2); - if (GTK_CLIST_AUTO_SORT(clist)) + if (ETH_CLIST_AUTO_SORT(clist)) return; - gtk_clist_freeze (clist); + eth_clist_freeze (clist); first = MIN (row1, row2); last = MAX (row1, row2); - gtk_clist_row_move (clist, last, first); - gtk_clist_row_move (clist, first + 1, last); + eth_clist_row_move (clist, last, first); + eth_clist_row_move (clist, first + 1, last); - gtk_clist_thaw (clist); + eth_clist_thaw (clist); } void -gtk_clist_row_move (GtkCList *clist, +eth_clist_row_move (EthCList *clist, gint source_row, gint dest_row) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - if (GTK_CLIST_AUTO_SORT(clist)) + if (ETH_CLIST_AUTO_SORT(clist)) return; if (source_row < 0 || source_row >= clist->rows || @@ -3125,13 +3125,13 @@ gtk_clist_row_move (GtkCList *clist, } GtkVisibility -gtk_clist_row_is_visible (GtkCList *clist, +eth_clist_row_is_visible (EthCList *clist, gint row) { gint top; g_return_val_if_fail (clist != NULL, 0); - g_return_val_if_fail (GTK_IS_CLIST (clist), 0); + g_return_val_if_fail (ETH_IS_CLIST (clist), 0); if (row < 0 || row >= clist->rows) return GTK_VISIBILITY_NONE; @@ -3155,14 +3155,14 @@ gtk_clist_row_is_visible (GtkCList *clist, } void -gtk_clist_set_foreground (GtkCList *clist, +eth_clist_set_foreground (EthCList *clist, gint row, GdkColor *color) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -3180,19 +3180,19 @@ gtk_clist_set_foreground (GtkCList *clist, else clist_row->fg_set = FALSE; - if (CLIST_UNFROZEN (clist) && gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + if (CLIST_UNFROZEN (clist) && eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } void -gtk_clist_set_background (GtkCList *clist, +eth_clist_set_background (EthCList *clist, gint row, GdkColor *color) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -3211,27 +3211,27 @@ gtk_clist_set_background (GtkCList *clist, clist_row->bg_set = FALSE; if (CLIST_UNFROZEN (clist) - && (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE)) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + && (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE)) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } /* PUBLIC ROW/CELL STYLE FUNCTIONS - * gtk_clist_set_cell_style - * gtk_clist_get_cell_style - * gtk_clist_set_row_style - * gtk_clist_get_row_style + * eth_clist_set_cell_style + * eth_clist_get_cell_style + * eth_clist_set_row_style + * eth_clist_get_row_style */ void -gtk_clist_set_cell_style (GtkCList *clist, +eth_clist_set_cell_style (EthCList *clist, gint row, gint column, GtkStyle *style) { GtkRequisition requisition = { 0, 0 }; - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -3244,8 +3244,8 @@ gtk_clist_set_cell_style (GtkCList *clist, return; if (clist->column[column].auto_resize && - !GTK_CLIST_AUTO_RESIZE_BLOCKED(clist)) - GTK_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, + !ETH_CLIST_AUTO_RESIZE_BLOCKED(clist)) + ETH_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, column, &requisition); if (clist_row->cell[column].style) @@ -3272,20 +3272,20 @@ gtk_clist_set_cell_style (GtkCList *clist, /* redraw the list if it's not frozen */ if (CLIST_UNFROZEN (clist)) { - if (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + if (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } } GtkStyle * -gtk_clist_get_cell_style (GtkCList *clist, +eth_clist_get_cell_style (EthCList *clist, gint row, gint column) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_val_if_fail (clist != NULL, NULL); - g_return_val_if_fail (GTK_IS_CLIST (clist), NULL); + g_return_val_if_fail (ETH_IS_CLIST (clist), NULL); if (row < 0 || row >= clist->rows || column < 0 || column >= clist->columns) return NULL; @@ -3296,17 +3296,17 @@ gtk_clist_get_cell_style (GtkCList *clist, } void -gtk_clist_set_row_style (GtkCList *clist, +eth_clist_set_row_style (EthCList *clist, gint row, GtkStyle *style) { GtkRequisition requisition; - GtkCListRow *clist_row; + EthCListRow *clist_row; gint *old_width; gint i; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -3318,12 +3318,12 @@ gtk_clist_set_row_style (GtkCList *clist, old_width = g_new (gint, clist->columns); - if (!GTK_CLIST_AUTO_RESIZE_BLOCKED(clist)) + if (!ETH_CLIST_AUTO_RESIZE_BLOCKED(clist)) { for (i = 0; i < clist->columns; i++) if (clist->column[i].auto_resize) { - GTK_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, + ETH_CLIST_CLASS_FW (clist)->cell_size_request (clist, clist_row, i, &requisition); old_width[i] = requisition.width; } @@ -3347,7 +3347,7 @@ gtk_clist_set_row_style (GtkCList *clist, clist->clist_window); } - if (GTK_CLIST_AUTO_RESIZE_BLOCKED(clist)) + if (ETH_CLIST_AUTO_RESIZE_BLOCKED(clist)) for (i = 0; i < clist->columns; i++) column_auto_resize (clist, clist_row, i, old_width[i]); @@ -3356,19 +3356,19 @@ gtk_clist_set_row_style (GtkCList *clist, /* redraw the list if it's not frozen */ if (CLIST_UNFROZEN (clist)) { - if (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + if (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } } GtkStyle * -gtk_clist_get_row_style (GtkCList *clist, +eth_clist_get_row_style (EthCList *clist, gint row) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_val_if_fail (clist != NULL, NULL); - g_return_val_if_fail (GTK_IS_CLIST (clist), NULL); + g_return_val_if_fail (ETH_IS_CLIST (clist), NULL); if (row < 0 || row >= clist->rows) return NULL; @@ -3379,23 +3379,23 @@ gtk_clist_get_row_style (GtkCList *clist, } /* PUBLIC SELECTION FUNCTIONS - * gtk_clist_set_selectable - * gtk_clist_get_selectable - * gtk_clist_select_row - * gtk_clist_unselect_row - * gtk_clist_select_all - * gtk_clist_unselect_all - * gtk_clist_undo_selection + * eth_clist_set_selectable + * eth_clist_get_selectable + * eth_clist_select_row + * eth_clist_unselect_row + * eth_clist_select_all + * eth_clist_unselect_all + * eth_clist_undo_selection */ void -gtk_clist_set_selectable (GtkCList *clist, +eth_clist_set_selectable (EthCList *clist, gint row, gboolean selectable) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -3414,7 +3414,7 @@ gtk_clist_set_selectable (GtkCList *clist, { clist->drag_button = 0; remove_grab (clist); - GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); } gtk_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], row, -1, NULL); @@ -3422,25 +3422,25 @@ gtk_clist_set_selectable (GtkCList *clist, } gboolean -gtk_clist_get_selectable (GtkCList *clist, +eth_clist_get_selectable (EthCList *clist, gint row) { g_return_val_if_fail (clist != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (clist), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (clist), FALSE); if (row < 0 || row >= clist->rows) return FALSE; - return GTK_CLIST_ROW (ROW_ELEMENT (clist, row))->selectable; + return ETH_CLIST_ROW (ROW_ELEMENT (clist, row))->selectable; } void -gtk_clist_select_row (GtkCList *clist, +eth_clist_select_row (EthCList *clist, gint row, gint column) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -3452,12 +3452,12 @@ gtk_clist_select_row (GtkCList *clist, } void -gtk_clist_unselect_row (GtkCList *clist, +eth_clist_unselect_row (EthCList *clist, gint row, gint column) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row >= clist->rows) return; @@ -3469,28 +3469,28 @@ gtk_clist_unselect_row (GtkCList *clist, } void -gtk_clist_select_all (GtkCList *clist) +eth_clist_select_all (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - GTK_CLIST_CLASS_FW (clist)->select_all (clist); + ETH_CLIST_CLASS_FW (clist)->select_all (clist); } void -gtk_clist_unselect_all (GtkCList *clist) +eth_clist_unselect_all (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - GTK_CLIST_CLASS_FW (clist)->unselect_all (clist); + ETH_CLIST_CLASS_FW (clist)->unselect_all (clist); } void -gtk_clist_undo_selection (GtkCList *clist) +eth_clist_undo_selection (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (clist->selection_mode == GTK_SELECTION_EXTENDED && (clist->undo_selection || clist->undo_unselection)) @@ -3518,7 +3518,7 @@ gtk_clist_undo_selection (GtkCList *clist) * sync_selection */ static GList * -selection_find (GtkCList *clist, +selection_find (EthCList *clist, gint row_number, GList *row_list_element _U_) { @@ -3526,12 +3526,12 @@ selection_find (GtkCList *clist, } static void -toggle_row (GtkCList *clist, +toggle_row (EthCList *clist, gint row, gint column, GdkEvent *event) { - GtkCListRow *clist_row; + EthCListRow *clist_row; switch (clist->selection_mode) { @@ -3557,32 +3557,32 @@ toggle_row (GtkCList *clist, } static void -fake_toggle_row (GtkCList *clist, +fake_toggle_row (EthCList *clist, gint row) { GList *work; work = ROW_ELEMENT (clist, row); - if (!work || !GTK_CLIST_ROW (work)->selectable) + if (!work || !ETH_CLIST_ROW (work)->selectable) return; - if (GTK_CLIST_ROW (work)->state == GTK_STATE_NORMAL) - clist->anchor_state = GTK_CLIST_ROW (work)->state = GTK_STATE_SELECTED; + if (ETH_CLIST_ROW (work)->state == GTK_STATE_NORMAL) + clist->anchor_state = ETH_CLIST_ROW (work)->state = GTK_STATE_SELECTED; else - clist->anchor_state = GTK_CLIST_ROW (work)->state = GTK_STATE_NORMAL; + clist->anchor_state = ETH_CLIST_ROW (work)->state = GTK_STATE_NORMAL; if (CLIST_UNFROZEN (clist) && - gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, - GTK_CLIST_ROW (work)); + eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, + ETH_CLIST_ROW (work)); } static void -toggle_focus_row (GtkCList *clist) +toggle_focus_row (EthCList *clist) { g_return_if_fail (clist != 0); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if ((gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) || clist->focus_row < 0 || clist->focus_row >= clist->rows) @@ -3604,12 +3604,12 @@ toggle_focus_row (GtkCList *clist) clist->drag_pos = clist->focus_row; clist->undo_anchor = clist->focus_row; - if (GTK_CLIST_ADD_MODE(clist)) + if (ETH_CLIST_ADD_MODE(clist)) fake_toggle_row (clist, clist->focus_row); else - GTK_CLIST_CLASS_FW (clist)->fake_unselect_all (clist,clist->focus_row); + ETH_CLIST_CLASS_FW (clist)->fake_unselect_all (clist,clist->focus_row); - GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); break; default: break; @@ -3617,45 +3617,45 @@ toggle_focus_row (GtkCList *clist) } static void -toggle_add_mode (GtkCList *clist) +toggle_add_mode (EthCList *clist) { g_return_if_fail (clist != 0); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if ((gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) || clist->selection_mode != GTK_SELECTION_EXTENDED) return; - gtk_clist_draw_focus (GTK_WIDGET (clist)); - if (!GTK_CLIST_ADD_MODE(clist)) + eth_clist_draw_focus (GTK_WIDGET (clist)); + if (!ETH_CLIST_ADD_MODE(clist)) { - GTK_CLIST_SET_FLAG (clist, CLIST_ADD_MODE); + ETH_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); } else { - GTK_CLIST_UNSET_FLAG (clist, CLIST_ADD_MODE); + ETH_CLIST_UNSET_FLAG (clist, CLIST_ADD_MODE); gdk_gc_set_line_attributes (clist->xor_gc, 1, GDK_LINE_SOLID, 0, 0); clist->anchor_state = GTK_STATE_SELECTED; } - gtk_clist_draw_focus (GTK_WIDGET (clist)); + eth_clist_draw_focus (GTK_WIDGET (clist)); } static void -real_select_row (GtkCList *clist, +real_select_row (EthCList *clist, gint row, gint column, GdkEvent *event) { - GtkCListRow *clist_row; + EthCListRow *clist_row; GList *list; gint sel_row; gboolean row_selected; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row > (clist->rows - 1)) return; @@ -3704,20 +3704,20 @@ real_select_row (GtkCList *clist, g_list_append (clist->selection_end, GINT_TO_POINTER (row))->next; if (CLIST_UNFROZEN (clist) - && (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE)) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + && (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE)) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } static void -real_unselect_row (GtkCList *clist, +real_unselect_row (EthCList *clist, gint row, gint column _U_, GdkEvent *event _U_) { - GtkCListRow *clist_row; + EthCListRow *clist_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (row < 0 || row > (clist->rows - 1)) return; @@ -3736,19 +3736,19 @@ real_unselect_row (GtkCList *clist, GINT_TO_POINTER (row)); if (CLIST_UNFROZEN (clist) - && (gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE)) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); + && (eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE)) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, clist_row); } } static void -real_select_all (GtkCList *clist) +real_select_all (EthCList *clist) { GList *list; gint i; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) return; @@ -3766,7 +3766,7 @@ real_select_all (GtkCList *clist) clist->undo_unselection = NULL; if (clist->rows && - ((GtkCListRow *) (clist->row_list->data))->state != + ((EthCListRow *) (clist->row_list->data))->state != GTK_STATE_SELECTED) fake_toggle_row (clist, 0); @@ -3775,13 +3775,13 @@ real_select_all (GtkCList *clist) clist->drag_pos = 0; clist->undo_anchor = clist->focus_row; update_extended_selection (clist, clist->rows); - GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); return; case GTK_SELECTION_MULTIPLE: for (i = 0, list = clist->row_list; list; i++, list = list->next) { - if (((GtkCListRow *)(list->data))->state == GTK_STATE_NORMAL) + if (((EthCListRow *)(list->data))->state == GTK_STATE_NORMAL) gtk_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], i, -1, NULL); } @@ -3790,13 +3790,13 @@ real_select_all (GtkCList *clist) } static void -real_unselect_all (GtkCList *clist) +real_unselect_all (EthCList *clist) { GList *list; gint i; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) return; @@ -3837,7 +3837,7 @@ real_unselect_all (GtkCList *clist) } static void -fake_unselect_all (GtkCList *clist, +fake_unselect_all (EthCList *clist, gint row) { GList *list; @@ -3846,15 +3846,15 @@ fake_unselect_all (GtkCList *clist, if (row >= 0 && (work = ROW_ELEMENT (clist, row))) { - if (GTK_CLIST_ROW (work)->state == GTK_STATE_NORMAL && - GTK_CLIST_ROW (work)->selectable) + if (ETH_CLIST_ROW (work)->state == GTK_STATE_NORMAL && + ETH_CLIST_ROW (work)->selectable) { - GTK_CLIST_ROW (work)->state = GTK_STATE_SELECTED; + ETH_CLIST_ROW (work)->state = GTK_STATE_SELECTED; if (CLIST_UNFROZEN (clist) && - gtk_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, - GTK_CLIST_ROW (work)); + eth_clist_row_is_visible (clist, row) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, row, + ETH_CLIST_ROW (work)); } } @@ -3868,31 +3868,31 @@ fake_unselect_all (GtkCList *clist, !(work = g_list_nth (clist->row_list, i))) continue; - GTK_CLIST_ROW (work)->state = GTK_STATE_NORMAL; + ETH_CLIST_ROW (work)->state = GTK_STATE_NORMAL; if (CLIST_UNFROZEN (clist) && - gtk_clist_row_is_visible (clist, i) != GTK_VISIBILITY_NONE) - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, i, - GTK_CLIST_ROW (work)); + eth_clist_row_is_visible (clist, i) != GTK_VISIBILITY_NONE) + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, NULL, i, + ETH_CLIST_ROW (work)); } } static void -real_undo_selection (GtkCList *clist) +real_undo_selection (EthCList *clist) { GList *work; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if ((gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) || clist->selection_mode != GTK_SELECTION_EXTENDED) return; - GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); if (!(clist->undo_selection || clist->undo_unselection)) { - gtk_clist_unselect_all (clist); + eth_clist_unselect_all (clist); return; } @@ -3909,9 +3909,9 @@ real_undo_selection (GtkCList *clist) if (GTK_WIDGET_HAS_FOCUS(clist) && clist->focus_row != clist->undo_anchor) { - gtk_clist_draw_focus (GTK_WIDGET (clist)); + eth_clist_draw_focus (GTK_WIDGET (clist)); clist->focus_row = clist->undo_anchor; - gtk_clist_draw_focus (GTK_WIDGET (clist)); + eth_clist_draw_focus (GTK_WIDGET (clist)); } else clist->focus_row = clist->undo_anchor; @@ -3925,19 +3925,19 @@ real_undo_selection (GtkCList *clist) if (ROW_TOP_YPIXEL (clist, clist->focus_row) + clist->row_height > clist->clist_window_height) - gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 1, 0); else if (ROW_TOP_YPIXEL (clist, clist->focus_row) < 0) - gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0, 0); } static void -set_anchor (GtkCList *clist, +set_anchor (EthCList *clist, gboolean add_mode, gint anchor, gint undo_anchor) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (clist->selection_mode != GTK_SELECTION_EXTENDED || clist->anchor >= 0) return; @@ -3951,7 +3951,7 @@ set_anchor (GtkCList *clist, fake_toggle_row (clist, anchor); else { - GTK_CLIST_CLASS_FW (clist)->fake_unselect_all (clist, anchor); + ETH_CLIST_CLASS_FW (clist)->fake_unselect_all (clist, anchor); clist->anchor_state = GTK_STATE_SELECTED; } @@ -3961,14 +3961,14 @@ set_anchor (GtkCList *clist, } static void -resync_selection (GtkCList *clist, +resync_selection (EthCList *clist, GdkEvent *event) { gint i; gint e; gint row; GList *list; - GtkCListRow *clist_row; + EthCListRow *clist_row; if (clist->selection_mode != GTK_SELECTION_EXTENDED) return; @@ -3976,7 +3976,7 @@ resync_selection (GtkCList *clist, if (clist->anchor < 0 || clist->drag_pos < 0) return; - gtk_clist_freeze (clist); + eth_clist_freeze (clist); i = MIN (clist->anchor, clist->drag_pos); e = MAX (clist->anchor, clist->drag_pos); @@ -4012,13 +4012,13 @@ resync_selection (GtkCList *clist, { for (list = g_list_nth (clist->row_list, i); i <= e; i++, list = list->next) - if (GTK_CLIST_ROW (list)->selectable) + if (ETH_CLIST_ROW (list)->selectable) { if (g_list_find (clist->selection, GINT_TO_POINTER(i))) { - if (GTK_CLIST_ROW (list)->state == GTK_STATE_NORMAL) + if (ETH_CLIST_ROW (list)->state == GTK_STATE_NORMAL) { - GTK_CLIST_ROW (list)->state = GTK_STATE_SELECTED; + ETH_CLIST_ROW (list)->state = GTK_STATE_SELECTED; gtk_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], i, -1, event); @@ -4027,9 +4027,9 @@ resync_selection (GtkCList *clist, GINT_TO_POINTER (i)); } } - else if (GTK_CLIST_ROW (list)->state == GTK_STATE_SELECTED) + else if (ETH_CLIST_ROW (list)->state == GTK_STATE_SELECTED) { - GTK_CLIST_ROW (list)->state = GTK_STATE_NORMAL; + ETH_CLIST_ROW (list)->state = GTK_STATE_NORMAL; clist->undo_unselection = g_list_prepend (clist->undo_unselection, GINT_TO_POINTER (i)); @@ -4040,13 +4040,13 @@ resync_selection (GtkCList *clist, { for (list = g_list_nth (clist->row_list, e); i <= e; e--, list = list->prev) - if (GTK_CLIST_ROW (list)->selectable) + if (ETH_CLIST_ROW (list)->selectable) { if (g_list_find (clist->selection, GINT_TO_POINTER(e))) { - if (GTK_CLIST_ROW (list)->state == GTK_STATE_NORMAL) + if (ETH_CLIST_ROW (list)->state == GTK_STATE_NORMAL) { - GTK_CLIST_ROW (list)->state = GTK_STATE_SELECTED; + ETH_CLIST_ROW (list)->state = GTK_STATE_SELECTED; gtk_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], e, -1, event); @@ -4055,9 +4055,9 @@ resync_selection (GtkCList *clist, GINT_TO_POINTER (e)); } } - else if (GTK_CLIST_ROW (list)->state == GTK_STATE_SELECTED) + else if (ETH_CLIST_ROW (list)->state == GTK_STATE_SELECTED) { - GTK_CLIST_ROW (list)->state = GTK_STATE_NORMAL; + ETH_CLIST_ROW (list)->state = GTK_STATE_NORMAL; clist->undo_unselection = g_list_prepend (clist->undo_unselection, GINT_TO_POINTER (e)); @@ -4073,11 +4073,11 @@ resync_selection (GtkCList *clist, clist->anchor = -1; clist->drag_pos = -1; - gtk_clist_thaw (clist); + eth_clist_thaw (clist); } static void -update_extended_selection (GtkCList *clist, +update_extended_selection (EthCList *clist, gint row) { gint i; @@ -4156,12 +4156,12 @@ update_extended_selection (GtkCList *clist, { for (i = s1, list = g_list_nth (clist->row_list, i); i <= e1; i++, list = list->next) - if (GTK_CLIST_ROW (list)->selectable) + if (ETH_CLIST_ROW (list)->selectable) { - if (GTK_CLIST_CLASS_FW (clist)->selection_find (clist, i, list)) - GTK_CLIST_ROW (list)->state = GTK_STATE_SELECTED; + if (ETH_CLIST_CLASS_FW (clist)->selection_find (clist, i, list)) + ETH_CLIST_ROW (list)->state = GTK_STATE_SELECTED; else - GTK_CLIST_ROW (list)->state = GTK_STATE_NORMAL; + ETH_CLIST_ROW (list)->state = GTK_STATE_NORMAL; } top = ROW_TOP_YPIXEL (clist, clist->focus_row); @@ -4171,19 +4171,19 @@ update_extended_selection (GtkCList *clist, area.y = 0; area.height = ROW_TOP_YPIXEL (clist, e1) + clist->row_height; draw_rows (clist, &area); - gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0, 0); } else if (top >= clist->clist_window_height) { area.y = ROW_TOP_YPIXEL (clist, s1) - 1; area.height = clist->clist_window_height - area.y; draw_rows (clist, &area); - gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 1, 0); } else if (top < 0) - gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0, 0); else if (top + clist->row_height > clist->clist_window_height) - gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 1, 0); y1 = ROW_TOP_YPIXEL (clist, s1) - 1; h1 = (e1 - s1 + 1) * (clist->row_height + CELL_SPACING); @@ -4194,9 +4194,9 @@ update_extended_selection (GtkCList *clist, { for (i = s2, list = g_list_nth (clist->row_list, i); i <= e2; i++, list = list->next) - if (GTK_CLIST_ROW (list)->selectable && - GTK_CLIST_ROW (list)->state != clist->anchor_state) - GTK_CLIST_ROW (list)->state = clist->anchor_state; + if (ETH_CLIST_ROW (list)->selectable && + ETH_CLIST_ROW (list)->state != clist->anchor_state) + ETH_CLIST_ROW (list)->state = clist->anchor_state; top = ROW_TOP_YPIXEL (clist, clist->focus_row); @@ -4205,19 +4205,19 @@ update_extended_selection (GtkCList *clist, area.y = 0; area.height = ROW_TOP_YPIXEL (clist, e2) + clist->row_height; draw_rows (clist, &area); - gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0, 0); } else if (top >= clist->clist_window_height) { area.y = ROW_TOP_YPIXEL (clist, s2) - 1; area.height = clist->clist_window_height - area.y; draw_rows (clist, &area); - gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 1, 0); } else if (top < 0) - gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0, 0); else if (top + clist->row_height > clist->clist_window_height) - gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 1, 0); y2 = ROW_TOP_YPIXEL (clist, s2) - 1; h2 = (e2 - s2 + 1) * (clist->row_height + CELL_SPACING); @@ -4233,45 +4233,45 @@ update_extended_selection (GtkCList *clist, } static void -start_selection (GtkCList *clist) +start_selection (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) return; - set_anchor (clist, GTK_CLIST_ADD_MODE(clist), clist->focus_row, + set_anchor (clist, ETH_CLIST_ADD_MODE(clist), clist->focus_row, clist->focus_row); } static void -end_selection (GtkCList *clist) +end_selection (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_FOCUS(clist)) return; - GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); } static void -extend_selection (GtkCList *clist, +extend_selection (EthCList *clist, GtkScrollType scroll_type, gfloat position, gboolean auto_start_selection) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if ((gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) || clist->selection_mode != GTK_SELECTION_EXTENDED) return; if (auto_start_selection) - set_anchor (clist, GTK_CLIST_ADD_MODE(clist), clist->focus_row, + set_anchor (clist, ETH_CLIST_ADD_MODE(clist), clist->focus_row, clist->focus_row); else if (clist->anchor == -1) return; @@ -4280,15 +4280,15 @@ extend_selection (GtkCList *clist, if (ROW_TOP_YPIXEL (clist, clist->focus_row) + clist->row_height > clist->clist_window_height) - gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 1, 0); else if (ROW_TOP_YPIXEL (clist, clist->focus_row) < 0) - gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0, 0); update_extended_selection (clist, clist->focus_row); } static void -sync_selection (GtkCList *clist, +sync_selection (EthCList *clist, gint row, gint mode) { @@ -4310,7 +4310,7 @@ sync_selection (GtkCList *clist, clist->focus_row = clist->rows - 1; } - GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); g_list_free (clist->undo_selection); g_list_free (clist->undo_unselection); @@ -4332,25 +4332,25 @@ sync_selection (GtkCList *clist, } /* GTKOBJECT - * gtk_clist_destroy - * gtk_clist_finalize + * eth_clist_destroy + * eth_clist_finalize */ static void -gtk_clist_destroy (GtkObject *object) +eth_clist_destroy (GtkObject *object) { gint i; - GtkCList *clist; + EthCList *clist; g_return_if_fail (object != NULL); - g_return_if_fail (GTK_IS_CLIST (object)); + g_return_if_fail (ETH_IS_CLIST (object)); - clist = GTK_CLIST (object); + clist = ETH_CLIST (object); /* freeze the list */ clist->freeze_count++; /* get rid of all the rows */ - gtk_clist_clear (clist); + eth_clist_clear (clist); /* Since we don't have a _remove method, unparent the children * instead of destroying them so the focus will be unset properly. @@ -4388,14 +4388,14 @@ gtk_clist_destroy (GtkObject *object) } static void -gtk_clist_finalize (GtkObject *object) +eth_clist_finalize (GtkObject *object) { - GtkCList *clist; + EthCList *clist; g_return_if_fail (object != NULL); - g_return_if_fail (GTK_IS_CLIST (object)); + g_return_if_fail (ETH_IS_CLIST (object)); - clist = GTK_CLIST (object); + clist = ETH_CLIST (object); columns_delete (clist); @@ -4407,27 +4407,27 @@ gtk_clist_finalize (GtkObject *object) } /* GTKWIDGET - * gtk_clist_realize - * gtk_clist_unrealize - * gtk_clist_map - * gtk_clist_unmap - * gtk_clist_draw - * gtk_clist_expose - * gtk_clist_style_set - * gtk_clist_key_press - * gtk_clist_button_press - * gtk_clist_button_release - * gtk_clist_motion - * gtk_clist_size_request - * gtk_clist_size_allocate + * eth_clist_realize + * eth_clist_unrealize + * eth_clist_map + * eth_clist_unmap + * eth_clist_draw + * eth_clist_expose + * eth_clist_style_set + * eth_clist_key_press + * eth_clist_button_press + * eth_clist_button_release + * eth_clist_motion + * eth_clist_size_request + * eth_clist_size_allocate */ static void -gtk_clist_realize (GtkWidget *widget) +eth_clist_realize (GtkWidget *widget) { - GtkCList *clist; + EthCList *clist; GdkWindowAttr attributes; GdkGCValues values; - GtkCListRow *clist_row; + EthCListRow *clist_row; GList *list; gint attributes_mask; gint border_width; @@ -4435,9 +4435,9 @@ gtk_clist_realize (GtkWidget *widget) gint j; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); @@ -4583,28 +4583,28 @@ gtk_clist_realize (GtkWidget *widget) } static void -gtk_clist_unrealize (GtkWidget *widget) +eth_clist_unrealize (GtkWidget *widget) { gint i; - GtkCList *clist; + EthCList *clist; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); /* freeze the list */ clist->freeze_count++; if (GTK_WIDGET_MAPPED (widget)) - gtk_clist_unmap (widget); + eth_clist_unmap (widget); GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED); /* detach optional row/cell styles */ if (GTK_WIDGET_REALIZED (widget)) { - GtkCListRow *clist_row; + EthCListRow *clist_row; GList *list; gint j; @@ -4657,15 +4657,15 @@ gtk_clist_unrealize (GtkWidget *widget) } static void -gtk_clist_map (GtkWidget *widget) +eth_clist_map (GtkWidget *widget) { gint i; - GtkCList *clist; + EthCList *clist; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); if (!GTK_WIDGET_MAPPED (widget)) { @@ -4697,15 +4697,15 @@ gtk_clist_map (GtkWidget *widget) } static void -gtk_clist_unmap (GtkWidget *widget) +eth_clist_unmap (GtkWidget *widget) { gint i; - GtkCList *clist; + EthCList *clist; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); if (GTK_WIDGET_MAPPED (widget)) { @@ -4715,17 +4715,17 @@ gtk_clist_unmap (GtkWidget *widget) { remove_grab (clist); - GTK_CLIST_CLASS_FW (widget)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (widget)->resync_selection (clist, NULL); clist->click_cell.row = -1; clist->click_cell.column = -1; clist->drag_button = 0; - if (GTK_CLIST_IN_DRAG(clist)) + if (ETH_CLIST_IN_DRAG(clist)) { gpointer drag_data; - GTK_CLIST_UNSET_FLAG (clist, CLIST_IN_DRAG); + ETH_CLIST_UNSET_FLAG (clist, CLIST_IN_DRAG); drag_data = gtk_object_get_data (GTK_OBJECT (clist), "gtk-site-data"); if (drag_data) @@ -4754,21 +4754,21 @@ gtk_clist_unmap (GtkWidget *widget) } static void -gtk_clist_draw (GtkWidget *widget, +eth_clist_draw (GtkWidget *widget, GdkRectangle *area) { - GtkCList *clist; + EthCList *clist; gint border_width; GdkRectangle child_area; int i; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); g_return_if_fail (area != NULL); if (GTK_WIDGET_DRAWABLE (widget)) { - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); border_width = GTK_CONTAINER (widget)->border_width; gdk_window_clear_area (widget->window, @@ -4801,18 +4801,18 @@ gtk_clist_draw (GtkWidget *widget, } static gint -gtk_clist_expose (GtkWidget *widget, +eth_clist_expose (GtkWidget *widget, GdkEventExpose *event) { - GtkCList *clist; + EthCList *clist; g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (widget), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); if (GTK_WIDGET_DRAWABLE (widget)) { - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); /* draw border */ if (event->window == widget->window) @@ -4834,18 +4834,18 @@ gtk_clist_expose (GtkWidget *widget, } static void -gtk_clist_style_set (GtkWidget *widget, +eth_clist_style_set (GtkWidget *widget, GtkStyle *previous_style) { - GtkCList *clist; + EthCList *clist; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); if (GTK_WIDGET_CLASS (parent_class)->style_set) (*GTK_WIDGET_CLASS (parent_class)->style_set) (widget, previous_style); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); if (GTK_WIDGET_REALIZED (widget)) { @@ -4857,7 +4857,7 @@ gtk_clist_style_set (GtkWidget *widget, /* Fill in data after widget has correct style */ /* text properties */ - if (!GTK_CLIST_ROW_HEIGHT_SET(clist)) + if (!ETH_CLIST_ROW_HEIGHT_SET(clist)) { clist->row_height = (widget->style->font->ascent + widget->style->font->descent + 1); @@ -4869,7 +4869,7 @@ gtk_clist_style_set (GtkWidget *widget, widget->style->font->descent - 1) / 2; /* Column widths */ - if (!GTK_CLIST_AUTO_RESIZE_BLOCKED(clist)) + if (!ETH_CLIST_AUTO_RESIZE_BLOCKED(clist)) { gint width; gint i; @@ -4877,19 +4877,19 @@ gtk_clist_style_set (GtkWidget *widget, for (i = 0; i < clist->columns; i++) if (clist->column[i].auto_resize) { - width = gtk_clist_optimal_column_width (clist, i); + width = eth_clist_optimal_column_width (clist, i); if (width != clist->column[i].width) - gtk_clist_set_column_width (clist, i, width); + eth_clist_set_column_width (clist, i, width); } } } static gint -gtk_clist_key_press (GtkWidget *widget, +eth_clist_key_press (GtkWidget *widget, GdkEventKey *event) { g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (widget), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); if (GTK_WIDGET_CLASS (parent_class)->key_press_event && @@ -4913,11 +4913,11 @@ gtk_clist_key_press (GtkWidget *widget, } static gint -gtk_clist_button_press (GtkWidget *widget, +eth_clist_button_press (GtkWidget *widget, GdkEventButton *event) { gint i; - GtkCList *clist; + EthCList *clist; gint x; gint y; gint row; @@ -4925,14 +4925,14 @@ gtk_clist_button_press (GtkWidget *widget, gint button_actions; g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (widget), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); button_actions = clist->button_actions[event->button - 1]; - if (button_actions == GTK_BUTTON_IGNORED) + if (button_actions == ETH_BUTTON_IGNORED) return FALSE; /* selections on the list */ @@ -4972,18 +4972,18 @@ gtk_clist_button_press (GtkWidget *widget, remove_grab (clist); } - if (button_actions & GTK_BUTTON_SELECTS) + if (button_actions & ETH_BUTTON_SELECTS) { - if (GTK_CLIST_ADD_MODE(clist)) + if (ETH_CLIST_ADD_MODE(clist)) { - GTK_CLIST_UNSET_FLAG (clist, CLIST_ADD_MODE); + ETH_CLIST_UNSET_FLAG (clist, CLIST_ADD_MODE); if (GTK_WIDGET_HAS_FOCUS(widget)) { - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); gdk_gc_set_line_attributes (clist->xor_gc, 1, GDK_LINE_SOLID, 0, 0); clist->focus_row = row; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); } else { @@ -4996,9 +4996,9 @@ gtk_clist_button_press (GtkWidget *widget, { if (GTK_WIDGET_HAS_FOCUS(widget)) { - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); clist->focus_row = row; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); } else clist->focus_row = row; @@ -5008,7 +5008,7 @@ gtk_clist_button_press (GtkWidget *widget, if (!GTK_WIDGET_HAS_FOCUS(widget)) gtk_widget_grab_focus (widget); - if (button_actions & GTK_BUTTON_SELECTS) + if (button_actions & ETH_BUTTON_SELECTS) { switch (clist->selection_mode) { @@ -5035,7 +5035,7 @@ gtk_clist_button_press (GtkWidget *widget, if (clist->anchor != -1) { update_extended_selection (clist, clist->focus_row); - GTK_CLIST_CLASS_FW (clist)->resync_selection + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, (GdkEvent *) event); } gtk_signal_emit (GTK_OBJECT (clist), @@ -5106,7 +5106,7 @@ gtk_clist_button_press (GtkWidget *widget, return FALSE; gtk_grab_add (widget); - GTK_CLIST_SET_FLAG (clist, CLIST_IN_DRAG); + ETH_CLIST_SET_FLAG (clist, CLIST_IN_DRAG); /* block attached dnd signal handler */ drag_data = gtk_object_get_data (GTK_OBJECT (clist), "gtk-site-data"); @@ -5120,7 +5120,7 @@ gtk_clist_button_press (GtkWidget *widget, clist->x_drag = (COLUMN_LEFT_XPIXEL(clist, i) + COLUMN_INSET + clist->column[i].area.width + CELL_SPACING); - if (GTK_CLIST_ADD_MODE(clist)) + if (ETH_CLIST_ADD_MODE(clist)) gdk_gc_set_line_attributes (clist->xor_gc, 1, GDK_LINE_SOLID, 0, 0); draw_xor_line (clist); } @@ -5128,24 +5128,24 @@ gtk_clist_button_press (GtkWidget *widget, } static gint -gtk_clist_button_release (GtkWidget *widget, +eth_clist_button_release (GtkWidget *widget, GdkEventButton *event) { - GtkCList *clist; + EthCList *clist; gint button_actions; g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (widget), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); button_actions = clist->button_actions[event->button - 1]; - if (button_actions == GTK_BUTTON_IGNORED) + if (button_actions == ETH_BUTTON_IGNORED) return FALSE; /* release on resize windows */ - if (GTK_CLIST_IN_DRAG(clist)) + if (ETH_CLIST_IN_DRAG(clist)) { gpointer drag_data; gint width; @@ -5160,7 +5160,7 @@ gtk_clist_button_release (GtkWidget *widget, if (drag_data) gtk_signal_handler_unblock_by_data (GTK_OBJECT (clist), drag_data); - GTK_CLIST_UNSET_FLAG (clist, CLIST_IN_DRAG); + ETH_CLIST_UNSET_FLAG (clist, CLIST_IN_DRAG); gtk_widget_get_pointer (widget, &x, NULL); gtk_grab_remove (widget); gdk_pointer_ungrab (event->time); @@ -5168,7 +5168,7 @@ gtk_clist_button_release (GtkWidget *widget, if (clist->x_drag >= 0) draw_xor_line (clist); - if (GTK_CLIST_ADD_MODE(clist)) + if (ETH_CLIST_ADD_MODE(clist)) { gdk_gc_set_line_attributes (clist->xor_gc, 1, GDK_LINE_ON_OFF_DASH, 0, 0); @@ -5176,7 +5176,7 @@ gtk_clist_button_release (GtkWidget *widget, } width = new_column_width (clist, i, &x); - gtk_clist_set_column_width (clist, i, width); + eth_clist_set_column_width (clist, i, width); return FALSE; } @@ -5191,7 +5191,7 @@ gtk_clist_button_release (GtkWidget *widget, remove_grab (clist); - if (button_actions & GTK_BUTTON_SELECTS) + if (button_actions & ETH_BUTTON_SELECTS) { switch (clist->selection_mode) { @@ -5200,7 +5200,7 @@ gtk_clist_button_release (GtkWidget *widget, !GTK_WIDGET_CAN_FOCUS (widget) || event->x < 0 || event->x >= clist->clist_window_width || event->y < 0 || event->y >= clist->clist_window_height) - GTK_CLIST_CLASS_FW (clist)->resync_selection + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, (GdkEvent *) event); break; case GTK_SELECTION_SINGLE: @@ -5222,10 +5222,10 @@ gtk_clist_button_release (GtkWidget *widget, } static gint -gtk_clist_motion (GtkWidget *widget, +eth_clist_motion (GtkWidget *widget, GdkEventMotion *event) { - GtkCList *clist; + EthCList *clist; gint x; gint y; gint row; @@ -5233,16 +5233,16 @@ gtk_clist_motion (GtkWidget *widget, gint button_actions = 0; g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (widget), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (widget), FALSE); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); if (!(gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist))) return FALSE; if (clist->drag_button > 0) button_actions = clist->button_actions[clist->drag_button - 1]; - if (GTK_CLIST_IN_DRAG(clist)) + if (ETH_CLIST_IN_DRAG(clist)) { if (event->is_hint || event->window != widget->window) gtk_widget_get_pointer (widget, &x, NULL); @@ -5266,7 +5266,7 @@ gtk_clist_motion (GtkWidget *widget, clist->column[clist->drag_pos].min_width + 1)) { if (COLUMN_LEFT_XPIXEL (clist, clist->drag_pos) < 0 && x < 0) - gtk_clist_moveto (clist, -1, clist->drag_pos, 0, 0); + eth_clist_moveto (clist, -1, clist->drag_pos, 0, 0); return FALSE; } if (clist->column[clist->drag_pos].max_width >= COLUMN_MIN_WIDTH && @@ -5285,7 +5285,7 @@ gtk_clist_motion (GtkWidget *widget, if (event->is_hint || event->window != clist->clist_window) gdk_window_get_pointer (clist->clist_window, &x, &y, NULL); - if (GTK_CLIST_REORDERABLE(clist) && button_actions & GTK_BUTTON_DRAGS) + if (ETH_CLIST_REORDERABLE(clist) && button_actions & ETH_BUTTON_DRAGS) { /* delayed drag start */ if (event->window == clist->clist_window && @@ -5331,7 +5331,7 @@ gtk_clist_motion (GtkWidget *widget, } } - if (GTK_CLIST_IN_DRAG(clist)) + if (ETH_CLIST_IN_DRAG(clist)) return FALSE; /* vertical autoscrolling */ @@ -5360,15 +5360,15 @@ gtk_clist_motion (GtkWidget *widget, row = CLAMP (row, 0, clist->rows - 1); - if (button_actions & GTK_BUTTON_SELECTS & + if (button_actions & ETH_BUTTON_SELECTS & !gtk_object_get_data (GTK_OBJECT (widget), "gtk-site-data")) { if (row == clist->focus_row) return FALSE; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); clist->focus_row = row; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); switch (clist->selection_mode) { @@ -5394,24 +5394,24 @@ gtk_clist_motion (GtkWidget *widget, } static void -gtk_clist_size_request (GtkWidget *widget, +eth_clist_size_request (GtkWidget *widget, GtkRequisition *requisition) { - GtkCList *clist; + EthCList *clist; gint i; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); g_return_if_fail (requisition != NULL); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); requisition->width = 0; requisition->height = 0; /* compute the size of the column title (title) area */ clist->column_title_area.height = 0; - if (GTK_CLIST_SHOW_TITLES(clist)) + if (ETH_CLIST_SHOW_TITLES(clist)) for (i = 0; i < clist->columns; i++) if (clist->column[i].button) { @@ -5437,18 +5437,18 @@ gtk_clist_size_request (GtkWidget *widget, } static void -gtk_clist_size_allocate (GtkWidget *widget, +eth_clist_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { - GtkCList *clist; + EthCList *clist; GtkAllocation clist_allocation; gint border_width; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); g_return_if_fail (allocation != NULL); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); widget->allocation = *allocation; border_width = GTK_CONTAINER (widget)->border_width; @@ -5517,25 +5517,25 @@ gtk_clist_size_allocate (GtkWidget *widget, } /* GTKCONTAINER - * gtk_clist_forall + * eth_clist_forall */ static void -gtk_clist_forall (GtkContainer *container, +eth_clist_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data) { - GtkCList *clist; + EthCList *clist; gint i; g_return_if_fail (container != NULL); - g_return_if_fail (GTK_IS_CLIST (container)); + g_return_if_fail (ETH_IS_CLIST (container)); g_return_if_fail (callback != NULL); if (!include_internals) return; - clist = GTK_CLIST (container); + clist = ETH_CLIST (container); /* callback for the column buttons */ for (i = 0; i < clist->columns; i++) @@ -5552,8 +5552,8 @@ gtk_clist_forall (GtkContainer *container, * clist_refresh */ static void -get_cell_style (GtkCList *clist, - GtkCListRow *clist_row, +get_cell_style (EthCList *clist, + EthCListRow *clist_row, gint state, gint column, GtkStyle **style, @@ -5664,10 +5664,10 @@ draw_cell_pixmap (GdkWindow *window, } static void -draw_row (GtkCList *clist, +draw_row (EthCList *clist, GdkRectangle *area, gint row, - GtkCListRow *clist_row) + EthCListRow *clist_row) { GtkWidget *widget; GdkRectangle *rect; @@ -5827,22 +5827,22 @@ draw_row (GtkCList *clist, offset = 0; switch (clist_row->cell[i].type) { - case GTK_CELL_TEXT: + case ETH_CELL_TEXT: width = gdk_string_width (style->font, - GTK_CELL_TEXT (clist_row->cell[i])->text); + ETH_CELL_TEXT (clist_row->cell[i])->text); break; - case GTK_CELL_PIXMAP: - gdk_window_get_size (GTK_CELL_PIXMAP (clist_row->cell[i])->pixmap, + case ETH_CELL_PIXMAP: + gdk_window_get_size (ETH_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, + case ETH_CELL_PIXTEXT: + gdk_window_get_size (ETH_CELL_PIXTEXT (clist_row->cell[i])->pixmap, &pixmap_width, &height); width = (pixmap_width + - GTK_CELL_PIXTEXT (clist_row->cell[i])->spacing + + ETH_CELL_PIXTEXT (clist_row->cell[i])->spacing + gdk_string_width (style->font, - GTK_CELL_PIXTEXT + ETH_CELL_PIXTEXT (clist_row->cell[i])->text)); break; default: @@ -5869,26 +5869,26 @@ draw_row (GtkCList *clist, /* Draw Text and/or Pixmap */ switch (clist_row->cell[i].type) { - case GTK_CELL_PIXMAP: + case ETH_CELL_PIXMAP: draw_cell_pixmap (clist->clist_window, &clip_rectangle, fg_gc, - GTK_CELL_PIXMAP (clist_row->cell[i])->pixmap, - GTK_CELL_PIXMAP (clist_row->cell[i])->mask, + ETH_CELL_PIXMAP (clist_row->cell[i])->pixmap, + ETH_CELL_PIXMAP (clist_row->cell[i])->mask, offset, clip_rectangle.y + clist_row->cell[i].vertical + (clip_rectangle.height - height) / 2, pixmap_width, height); break; - case GTK_CELL_PIXTEXT: + case ETH_CELL_PIXTEXT: offset = draw_cell_pixmap (clist->clist_window, &clip_rectangle, fg_gc, - GTK_CELL_PIXTEXT (clist_row->cell[i])->pixmap, - GTK_CELL_PIXTEXT (clist_row->cell[i])->mask, + ETH_CELL_PIXTEXT (clist_row->cell[i])->pixmap, + ETH_CELL_PIXTEXT (clist_row->cell[i])->mask, offset, clip_rectangle.y + clist_row->cell[i].vertical+ (clip_rectangle.height - height) / 2, pixmap_width, height); - offset += GTK_CELL_PIXTEXT (clist_row->cell[i])->spacing; - case GTK_CELL_TEXT: + offset += ETH_CELL_PIXTEXT (clist_row->cell[i])->spacing; + case ETH_CELL_TEXT: if (style != GTK_WIDGET (clist)->style) row_center_offset = (((clist->row_height - style->font->ascent - style->font->descent - 1) / 2) + 1.5 + @@ -5901,9 +5901,9 @@ draw_row (GtkCList *clist, offset, row_rectangle.y + row_center_offset + clist_row->cell[i].vertical, - (clist_row->cell[i].type == GTK_CELL_PIXTEXT) ? - GTK_CELL_PIXTEXT (clist_row->cell[i])->text : - GTK_CELL_TEXT (clist_row->cell[i])->text); + (clist_row->cell[i].type == ETH_CELL_PIXTEXT) ? + ETH_CELL_PIXTEXT (clist_row->cell[i])->text : + ETH_CELL_TEXT (clist_row->cell[i])->text); gdk_gc_set_clip_rectangle (fg_gc, NULL); break; default: @@ -5933,17 +5933,17 @@ draw_row (GtkCList *clist, } static void -draw_rows (GtkCList *clist, +draw_rows (EthCList *clist, GdkRectangle *area) { GList *list; - GtkCListRow *clist_row; + EthCListRow *clist_row; gint i; gint first_row; gint last_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (clist->row_height == 0 || !GTK_WIDGET_DRAWABLE (clist)) @@ -5977,7 +5977,7 @@ draw_rows (GtkCList *clist, if (i > last_row) return; - GTK_CLIST_CLASS_FW (clist)->draw_row (clist, area, i, clist_row); + ETH_CLIST_CLASS_FW (clist)->draw_row (clist, area, i, clist_row); i++; } @@ -5987,7 +5987,7 @@ draw_rows (GtkCList *clist, } static void -draw_xor_line (GtkCList *clist) +draw_xor_line (EthCList *clist) { GtkWidget *widget; @@ -6004,10 +6004,10 @@ draw_xor_line (GtkCList *clist) } static void -clist_refresh (GtkCList *clist) +clist_refresh (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (CLIST_UNFROZEN (clist)) { @@ -6018,10 +6018,10 @@ clist_refresh (GtkCList *clist) /* get cell from coordinates * get_selection_info - * gtk_clist_get_selection_info + * eth_clist_get_selection_info */ static gint -get_selection_info (GtkCList *clist, +get_selection_info (EthCList *clist, gint x, gint y, gint *row, @@ -6030,7 +6030,7 @@ get_selection_info (GtkCList *clist, gint trow, tcol; g_return_val_if_fail (clist != NULL, 0); - g_return_val_if_fail (GTK_IS_CLIST (clist), 0); + g_return_val_if_fail (ETH_IS_CLIST (clist), 0); /* bounds checking, return false if the user clicked * on a blank area */ @@ -6052,14 +6052,14 @@ get_selection_info (GtkCList *clist, } gint -gtk_clist_get_selection_info (GtkCList *clist, +eth_clist_get_selection_info (EthCList *clist, gint x, gint y, gint *row, gint *column) { g_return_val_if_fail (clist != NULL, 0); - g_return_val_if_fail (GTK_IS_CLIST (clist), 0); + g_return_val_if_fail (ETH_IS_CLIST (clist), 0); return get_selection_info (clist, x, y, row, column); } @@ -6072,7 +6072,7 @@ gtk_clist_get_selection_info (GtkCList *clist, * check_exposures */ static void -adjust_adjustments (GtkCList *clist, +adjust_adjustments (EthCList *clist, gboolean block_resize) { if (clist->vadjustment) @@ -6133,39 +6133,39 @@ static void vadjustment_changed (GtkAdjustment *adjustment, gpointer data) { - GtkCList *clist; + EthCList *clist; g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); - clist = GTK_CLIST (data); + clist = ETH_CLIST (data); } static void hadjustment_changed (GtkAdjustment *adjustment, gpointer data) { - GtkCList *clist; + EthCList *clist; g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); - clist = GTK_CLIST (data); + clist = ETH_CLIST (data); } static void vadjustment_value_changed (GtkAdjustment *adjustment, gpointer data) { - GtkCList *clist; + EthCList *clist; GdkRectangle area; gint diff, value; g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); - g_return_if_fail (GTK_IS_CLIST (data)); + g_return_if_fail (ETH_IS_CLIST (data)); - clist = GTK_CLIST (data); + clist = ETH_CLIST (data); if (!GTK_WIDGET_DRAWABLE (clist) || adjustment != clist->vadjustment) return; @@ -6232,7 +6232,7 @@ static void hadjustment_value_changed (GtkAdjustment *adjustment, gpointer data) { - GtkCList *clist; + EthCList *clist; GdkRectangle area; gint i; gint y = 0; @@ -6241,9 +6241,9 @@ hadjustment_value_changed (GtkAdjustment *adjustment, g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); - g_return_if_fail (GTK_IS_CLIST (data)); + g_return_if_fail (ETH_IS_CLIST (data)); - clist = GTK_CLIST (data); + clist = ETH_CLIST (data); if (!GTK_WIDGET_DRAWABLE (clist) || adjustment != clist->hadjustment) return; @@ -6287,7 +6287,7 @@ hadjustment_value_changed (GtkAdjustment *adjustment, } if (GTK_WIDGET_CAN_FOCUS(clist) && GTK_WIDGET_HAS_FOCUS(clist) && - !GTK_CLIST_CHILD_HAS_FOCUS(clist) && GTK_CLIST_ADD_MODE(clist)) + !ETH_CLIST_CHILD_HAS_FOCUS(clist) && ETH_CLIST_ADD_MODE(clist)) { y = ROW_TOP_YPIXEL (clist, clist->focus_row); @@ -6322,7 +6322,7 @@ hadjustment_value_changed (GtkAdjustment *adjustment, } if (GTK_WIDGET_CAN_FOCUS(clist) && GTK_WIDGET_HAS_FOCUS(clist) && - !GTK_CLIST_CHILD_HAS_FOCUS(clist) && GTK_CLIST_ADD_MODE(clist)) + !ETH_CLIST_CHILD_HAS_FOCUS(clist) && ETH_CLIST_ADD_MODE(clist)) { y = ROW_TOP_YPIXEL (clist, clist->focus_row); @@ -6350,9 +6350,9 @@ hadjustment_value_changed (GtkAdjustment *adjustment, check_exposures (clist); if (GTK_WIDGET_CAN_FOCUS(clist) && GTK_WIDGET_HAS_FOCUS(clist) && - !GTK_CLIST_CHILD_HAS_FOCUS(clist)) + !ETH_CLIST_CHILD_HAS_FOCUS(clist)) { - if (GTK_CLIST_ADD_MODE(clist)) + if (ETH_CLIST_ADD_MODE(clist)) { gint focus_row; @@ -6394,7 +6394,7 @@ hadjustment_value_changed (GtkAdjustment *adjustment, } static void -check_exposures (GtkCList *clist) +check_exposures (EthCList *clist) { GdkEvent *event; @@ -6416,7 +6416,7 @@ check_exposures (GtkCList *clist) } /* PRIVATE - * Memory Allocation/Distruction Routines for GtkCList stuctures + * Memory Allocation/Distruction Routines for EthCList stuctures * * functions: * columns_new @@ -6425,13 +6425,13 @@ check_exposures (GtkCList *clist) * row_new * row_delete */ -static GtkCListColumn * -columns_new (GtkCList *clist) +static EthCListColumn * +columns_new (EthCList *clist) { - GtkCListColumn *column; + EthCListColumn *column; gint i; - column = g_new (GtkCListColumn, clist->columns); + column = g_new (EthCListColumn, clist->columns); for (i = 0; i < clist->columns; i++) { @@ -6457,7 +6457,7 @@ columns_new (GtkCList *clist) } static void -column_title_new (GtkCList *clist, +column_title_new (EthCList *clist, gint column, const gchar *title) { @@ -6468,7 +6468,7 @@ column_title_new (GtkCList *clist, } static void -columns_delete (GtkCList *clist) +columns_delete (EthCList *clist) { gint i; @@ -6479,18 +6479,18 @@ columns_delete (GtkCList *clist) g_free (clist->column); } -static GtkCListRow * -row_new (GtkCList *clist) +static EthCListRow * +row_new (EthCList *clist) { int i; - GtkCListRow *clist_row; + EthCListRow *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_chunk_new (EthCListRow, clist->row_mem_chunk); + clist_row->cell = g_chunk_new (EthCell, clist->cell_mem_chunk); for (i = 0; i < clist->columns; i++) { - clist_row->cell[i].type = GTK_CELL_EMPTY; + clist_row->cell[i].type = ETH_CELL_EMPTY; clist_row->cell[i].vertical = 0; clist_row->cell[i].horizontal = 0; clist_row->cell[i].style = NULL; @@ -6508,15 +6508,15 @@ row_new (GtkCList *clist) } static void -row_delete (GtkCList *clist, - GtkCListRow *clist_row) +row_delete (EthCList *clist, + EthCListRow *clist_row) { gint i; for (i = 0; i < clist->columns; i++) { - GTK_CLIST_CLASS_FW (clist)->set_cell_contents - (clist, clist_row, i, GTK_CELL_EMPTY, NULL, 0, NULL, NULL); + ETH_CLIST_CLASS_FW (clist)->set_cell_contents + (clist, clist_row, i, ETH_CELL_EMPTY, NULL, 0, NULL, NULL); if (clist_row->cell[i].style) { if (GTK_WIDGET_REALIZED (clist)) @@ -6540,28 +6540,28 @@ row_delete (GtkCList *clist, } /* FOCUS FUNCTIONS - * gtk_clist_focus - * gtk_clist_draw_focus - * gtk_clist_focus_in - * gtk_clist_focus_out - * gtk_clist_set_focus_child + * eth_clist_focus + * eth_clist_draw_focus + * eth_clist_focus_in + * eth_clist_focus_out + * eth_clist_set_focus_child * title_focus */ static gint -gtk_clist_focus (GtkContainer *container, +eth_clist_focus (GtkContainer *container, GtkDirectionType direction) { - GtkCList *clist; + EthCList *clist; GtkWidget *focus_child; gint old_row; g_return_val_if_fail (container != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (container), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (container), FALSE); if (!GTK_WIDGET_IS_SENSITIVE (container)) return FALSE; - clist = GTK_CLIST (container); + clist = ETH_CLIST (container); focus_child = container->focus_child; old_row = clist->focus_row; @@ -6569,7 +6569,7 @@ gtk_clist_focus (GtkContainer *container, { case GTK_DIR_LEFT: case GTK_DIR_RIGHT: - if (GTK_CLIST_CHILD_HAS_FOCUS(clist)) + if (ETH_CLIST_CHILD_HAS_FOCUS(clist)) { if (title_focus (clist, direction)) return TRUE; @@ -6580,7 +6580,7 @@ gtk_clist_focus (GtkContainer *container, return TRUE; case GTK_DIR_DOWN: case GTK_DIR_TAB_FORWARD: - if (GTK_CLIST_CHILD_HAS_FOCUS(clist)) + if (ETH_CLIST_CHILD_HAS_FOCUS(clist)) { gboolean tf = FALSE; @@ -6607,12 +6607,12 @@ gtk_clist_focus (GtkContainer *container, return TRUE; } - GTK_CLIST_SET_FLAG (clist, CLIST_CHILD_HAS_FOCUS); + ETH_CLIST_SET_FLAG (clist, CLIST_CHILD_HAS_FOCUS); break; case GTK_DIR_UP: case GTK_DIR_TAB_BACKWARD: if (!focus_child && - GTK_CLIST_CHILD_HAS_FOCUS(clist) && clist->rows) + ETH_CLIST_CHILD_HAS_FOCUS(clist) && clist->rows) { if (clist->focus_row < 0) { @@ -6628,7 +6628,7 @@ gtk_clist_focus (GtkContainer *container, return TRUE; } - GTK_CLIST_SET_FLAG (clist, CLIST_CHILD_HAS_FOCUS); + ETH_CLIST_SET_FLAG (clist, CLIST_CHILD_HAS_FOCUS); if (title_focus (clist, direction)) return TRUE; @@ -6643,17 +6643,17 @@ gtk_clist_focus (GtkContainer *container, } static void -gtk_clist_draw_focus (GtkWidget *widget) +eth_clist_draw_focus (GtkWidget *widget) { - GtkCList *clist; + EthCList *clist; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); if (!GTK_WIDGET_DRAWABLE (widget) || !GTK_WIDGET_CAN_FOCUS (widget)) return; - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); if (clist->focus_row >= 0) gdk_draw_rectangle (clist->clist_window, clist->xor_gc, FALSE, 0, ROW_TOP_YPIXEL(clist, clist->focus_row), @@ -6662,19 +6662,19 @@ gtk_clist_draw_focus (GtkWidget *widget) } static gint -gtk_clist_focus_in (GtkWidget *widget, +eth_clist_focus_in (GtkWidget *widget, GdkEventFocus *event) { - GtkCList *clist; + EthCList *clist; g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (widget), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS); - GTK_CLIST_UNSET_FLAG (widget, CLIST_CHILD_HAS_FOCUS); + ETH_CLIST_UNSET_FLAG (widget, CLIST_CHILD_HAS_FOCUS); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); if (clist->selection_mode == GTK_SELECTION_BROWSE && clist->selection == NULL && clist->focus_row > -1) @@ -6682,7 +6682,7 @@ gtk_clist_focus_in (GtkWidget *widget, GList *list; list = g_list_nth (clist->row_list, clist->focus_row); - if (list && GTK_CLIST_ROW (list)->selectable) + if (list && ETH_CLIST_ROW (list)->selectable) gtk_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], clist->focus_row, -1, event); else @@ -6695,45 +6695,45 @@ gtk_clist_focus_in (GtkWidget *widget, } static gint -gtk_clist_focus_out (GtkWidget *widget, +eth_clist_focus_out (GtkWidget *widget, GdkEventFocus *event) { - GtkCList *clist; + EthCList *clist; g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (widget), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS); - GTK_CLIST_SET_FLAG (widget, CLIST_CHILD_HAS_FOCUS); + ETH_CLIST_SET_FLAG (widget, CLIST_CHILD_HAS_FOCUS); gtk_widget_draw_focus (widget); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); - GTK_CLIST_CLASS_FW (widget)->resync_selection (clist, (GdkEvent *) event); + ETH_CLIST_CLASS_FW (widget)->resync_selection (clist, (GdkEvent *) event); return FALSE; } static void -gtk_clist_set_focus_child (GtkContainer *container, +eth_clist_set_focus_child (GtkContainer *container, GtkWidget *child) { g_return_if_fail (container != NULL); - g_return_if_fail (GTK_IS_CLIST (container)); + g_return_if_fail (ETH_IS_CLIST (container)); if (child) { g_return_if_fail (GTK_IS_WIDGET (child)); - GTK_CLIST_SET_FLAG (container, CLIST_CHILD_HAS_FOCUS); + ETH_CLIST_SET_FLAG (container, CLIST_CHILD_HAS_FOCUS); } parent_class->set_focus_child (container, child); } static gboolean -title_focus (GtkCList *clist, +title_focus (EthCList *clist, gint dir) { GtkWidget *focus_child; @@ -6743,7 +6743,7 @@ title_focus (GtkCList *clist, gint i = 0; gint j; - if (!GTK_CLIST_SHOW_TITLES(clist)) + if (!ETH_CLIST_SHOW_TITLES(clist)) return FALSE; focus_child = GTK_CONTAINER (clist)->focus_child; @@ -6756,7 +6756,7 @@ title_focus (GtkCList *clist, { case GTK_DIR_TAB_BACKWARD: case GTK_DIR_UP: - if (!focus_child || !GTK_CLIST_CHILD_HAS_FOCUS(clist)) + if (!focus_child || !ETH_CLIST_CHILD_HAS_FOCUS(clist)) { if (dir == GTK_DIR_UP) i = COLUMN_FROM_XPIXEL (clist, 0); @@ -6836,14 +6836,14 @@ title_focus (GtkCList *clist, if (return_val) { if (COLUMN_LEFT_XPIXEL (clist, j) < CELL_SPACING + COLUMN_INSET) - gtk_clist_moveto (clist, -1, j, 0, 0); + eth_clist_moveto (clist, -1, j, 0, 0); else if (COLUMN_LEFT_XPIXEL(clist, j) + clist->column[j].area.width > clist->clist_window_width) { if (j == last_column) - gtk_clist_moveto (clist, -1, j, 0, 0); + eth_clist_moveto (clist, -1, j, 0, 0); else - gtk_clist_moveto (clist, -1, j, 0, 1); + eth_clist_moveto (clist, -1, j, 0, 1); } } return return_val; @@ -6860,14 +6860,14 @@ title_focus (GtkCList *clist, * remove_grab */ static void -move_focus_row (GtkCList *clist, +move_focus_row (EthCList *clist, GtkScrollType scroll_type, gfloat position) { GtkWidget *widget; g_return_if_fail (clist != 0); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); widget = GTK_WIDGET (clist); @@ -6876,43 +6876,43 @@ move_focus_row (GtkCList *clist, case GTK_SCROLL_STEP_BACKWARD: if (clist->focus_row <= 0) return; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); clist->focus_row--; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); break; case GTK_SCROLL_STEP_FORWARD: if (clist->focus_row >= clist->rows - 1) return; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); clist->focus_row++; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); break; case GTK_SCROLL_PAGE_BACKWARD: if (clist->focus_row <= 0) return; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); clist->focus_row = MAX (0, clist->focus_row - (2 * clist->clist_window_height - clist->row_height - CELL_SPACING) / (2 * (clist->row_height + CELL_SPACING))); - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); break; case GTK_SCROLL_PAGE_FORWARD: if (clist->focus_row >= clist->rows - 1) return; - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); clist->focus_row = MIN (clist->rows - 1, clist->focus_row + (2 * clist->clist_window_height - clist->row_height - CELL_SPACING) / (2 * (clist->row_height + CELL_SPACING))); - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); break; case GTK_SCROLL_JUMP: if (position >= 0 && position <= 1) { - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); clist->focus_row = position * (clist->rows - 1); - gtk_clist_draw_focus (widget); + eth_clist_draw_focus (widget); } break; default: @@ -6921,7 +6921,7 @@ move_focus_row (GtkCList *clist, } static void -scroll_horizontal (GtkCList *clist, +scroll_horizontal (EthCList *clist, GtkScrollType scroll_type, gfloat position) { @@ -6929,7 +6929,7 @@ scroll_horizontal (GtkCList *clist, gint last_column; g_return_if_fail (clist != 0); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) return; @@ -6985,26 +6985,26 @@ scroll_horizontal (GtkCList *clist, } if (COLUMN_LEFT_XPIXEL (clist, column) < CELL_SPACING + COLUMN_INSET) - gtk_clist_moveto (clist, -1, column, 0, 0); + eth_clist_moveto (clist, -1, column, 0, 0); else if (COLUMN_LEFT_XPIXEL (clist, column) + CELL_SPACING + COLUMN_INSET - 1 + clist->column[column].area.width > clist->clist_window_width) { if (column == last_column) - gtk_clist_moveto (clist, -1, column, 0, 0); + eth_clist_moveto (clist, -1, column, 0, 0); else - gtk_clist_moveto (clist, -1, column, 0, 1); + eth_clist_moveto (clist, -1, column, 0, 1); } } static void -scroll_vertical (GtkCList *clist, +scroll_vertical (EthCList *clist, GtkScrollType scroll_type, gfloat position) { gint old_focus_row; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) return; @@ -7024,33 +7024,33 @@ scroll_vertical (GtkCList *clist, if (clist->selection_mode == GTK_SELECTION_BROWSE) gtk_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], old_focus_row, -1, NULL); - else if (!GTK_CLIST_ADD_MODE(clist)) + else if (!ETH_CLIST_ADD_MODE(clist)) { - gtk_clist_unselect_all (clist); + eth_clist_unselect_all (clist); clist->undo_anchor = old_focus_row; } } - switch (gtk_clist_row_is_visible (clist, clist->focus_row)) + switch (eth_clist_row_is_visible (clist, clist->focus_row)) { case GTK_VISIBILITY_NONE: if (old_focus_row != clist->focus_row && !(clist->selection_mode == GTK_SELECTION_EXTENDED && - GTK_CLIST_ADD_MODE(clist))) + ETH_CLIST_ADD_MODE(clist))) gtk_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], clist->focus_row, -1, NULL); switch (scroll_type) { case GTK_SCROLL_STEP_BACKWARD: case GTK_SCROLL_PAGE_BACKWARD: - gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0, 0); break; case GTK_SCROLL_STEP_FORWARD: case GTK_SCROLL_PAGE_FORWARD: - gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 1, 0); break; case GTK_SCROLL_JUMP: - gtk_clist_moveto (clist, clist->focus_row, -1, 0.5, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0.5, 0); break; default: break; @@ -7061,14 +7061,14 @@ scroll_vertical (GtkCList *clist, { case GTK_SCROLL_STEP_BACKWARD: case GTK_SCROLL_PAGE_BACKWARD: - gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0, 0); break; case GTK_SCROLL_STEP_FORWARD: case GTK_SCROLL_PAGE_FORWARD: - gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 1, 0); break; case GTK_SCROLL_JUMP: - gtk_clist_moveto (clist, clist->focus_row, -1, 0.5, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0.5, 0); break; default: break; @@ -7076,7 +7076,7 @@ scroll_vertical (GtkCList *clist, default: if (old_focus_row != clist->focus_row && !(clist->selection_mode == GTK_SELECTION_EXTENDED && - GTK_CLIST_ADD_MODE(clist))) + ETH_CLIST_ADD_MODE(clist))) gtk_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], clist->focus_row, -1, NULL); break; @@ -7087,15 +7087,15 @@ scroll_vertical (GtkCList *clist, if (ROW_TOP_YPIXEL (clist, clist->focus_row) + clist->row_height > clist->clist_window_height) - gtk_clist_moveto (clist, clist->focus_row, -1, 1, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 1, 0); else if (ROW_TOP_YPIXEL (clist, clist->focus_row) < 0) - gtk_clist_moveto (clist, clist->focus_row, -1, 0, 0); + eth_clist_moveto (clist, clist->focus_row, -1, 0, 0); break; } } static void -move_horizontal (GtkCList *clist, +move_horizontal (EthCList *clist, gint diff) { gfloat value; @@ -7109,7 +7109,7 @@ move_horizontal (GtkCList *clist, } static void -move_vertical (GtkCList *clist, +move_vertical (EthCList *clist, gint row, gfloat align) { @@ -7129,7 +7129,7 @@ move_vertical (GtkCList *clist, } static gint -horizontal_timeout (GtkCList *clist) +horizontal_timeout (EthCList *clist) { GdkEventMotion event; @@ -7140,7 +7140,7 @@ horizontal_timeout (GtkCList *clist) event.type = GDK_MOTION_NOTIFY; event.send_event = TRUE; - gtk_clist_motion (GTK_WIDGET (clist), &event); + eth_clist_motion (GTK_WIDGET (clist), &event); GDK_THREADS_LEAVE (); @@ -7148,7 +7148,7 @@ horizontal_timeout (GtkCList *clist) } static gint -vertical_timeout (GtkCList *clist) +vertical_timeout (EthCList *clist) { GdkEventMotion event; @@ -7159,7 +7159,7 @@ vertical_timeout (GtkCList *clist) event.type = GDK_MOTION_NOTIFY; event.send_event = TRUE; - gtk_clist_motion (GTK_WIDGET (clist), &event); + eth_clist_motion (GTK_WIDGET (clist), &event); GDK_THREADS_LEAVE (); @@ -7167,7 +7167,7 @@ vertical_timeout (GtkCList *clist) } static void -remove_grab (GtkCList *clist) +remove_grab (EthCList *clist) { if (GTK_WIDGET_HAS_GRAB (clist)) { @@ -7190,63 +7190,63 @@ remove_grab (GtkCList *clist) } /* PUBLIC SORTING FUNCTIONS - * gtk_clist_sort - * gtk_clist_set_compare_func - * gtk_clist_set_auto_sort - * gtk_clist_set_sort_type - * gtk_clist_set_sort_column + * eth_clist_sort + * eth_clist_set_compare_func + * eth_clist_set_auto_sort + * eth_clist_set_sort_type + * eth_clist_set_sort_column */ void -gtk_clist_sort (GtkCList *clist) +eth_clist_sort (EthCList *clist) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - GTK_CLIST_CLASS_FW (clist)->sort_list (clist); + ETH_CLIST_CLASS_FW (clist)->sort_list (clist); } void -gtk_clist_set_compare_func (GtkCList *clist, - GtkCListCompareFunc cmp_func) +eth_clist_set_compare_func (EthCList *clist, + EthCListCompareFunc cmp_func) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); clist->compare = (cmp_func) ? cmp_func : default_compare; } void -gtk_clist_set_auto_sort (GtkCList *clist, +eth_clist_set_auto_sort (EthCList *clist, gboolean auto_sort) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - if (GTK_CLIST_AUTO_SORT(clist) && !auto_sort) - GTK_CLIST_UNSET_FLAG (clist, CLIST_AUTO_SORT); - else if (!GTK_CLIST_AUTO_SORT(clist) && auto_sort) + if (ETH_CLIST_AUTO_SORT(clist) && !auto_sort) + ETH_CLIST_UNSET_FLAG (clist, CLIST_AUTO_SORT); + else if (!ETH_CLIST_AUTO_SORT(clist) && auto_sort) { - GTK_CLIST_SET_FLAG (clist, CLIST_AUTO_SORT); - gtk_clist_sort (clist); + ETH_CLIST_SET_FLAG (clist, CLIST_AUTO_SORT); + eth_clist_sort (clist); } } void -gtk_clist_set_sort_type (GtkCList *clist, +eth_clist_set_sort_type (EthCList *clist, GtkSortType sort_type) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); clist->sort_type = sort_type; } void -gtk_clist_set_sort_column (GtkCList *clist, +eth_clist_set_sort_column (EthCList *clist, gint column) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (column < 0 || column >= clist->columns) return; @@ -7257,27 +7257,27 @@ gtk_clist_set_sort_column (GtkCList *clist, /* PRIVATE SORTING FUNCTIONS * default_compare * real_sort_list - * gtk_clist_merge - * gtk_clist_mergesort + * eth_clist_merge + * eth_clist_mergesort */ static gint -default_compare (GtkCList *clist, +default_compare (EthCList *clist, gconstpointer ptr1, gconstpointer ptr2) { char *text1 = NULL; char *text2 = NULL; - GtkCListRow *row1 = (GtkCListRow *) ptr1; - GtkCListRow *row2 = (GtkCListRow *) ptr2; + EthCListRow *row1 = (EthCListRow *) ptr1; + EthCListRow *row2 = (EthCListRow *) ptr2; switch (row1->cell[clist->sort_column].type) { - case GTK_CELL_TEXT: - text1 = GTK_CELL_TEXT (row1->cell[clist->sort_column])->text; + case ETH_CELL_TEXT: + text1 = ETH_CELL_TEXT (row1->cell[clist->sort_column])->text; break; - case GTK_CELL_PIXTEXT: - text1 = GTK_CELL_PIXTEXT (row1->cell[clist->sort_column])->text; + case ETH_CELL_PIXTEXT: + text1 = ETH_CELL_PIXTEXT (row1->cell[clist->sort_column])->text; break; default: break; @@ -7285,11 +7285,11 @@ default_compare (GtkCList *clist, switch (row2->cell[clist->sort_column].type) { - case GTK_CELL_TEXT: - text2 = GTK_CELL_TEXT (row2->cell[clist->sort_column])->text; + case ETH_CELL_TEXT: + text2 = ETH_CELL_TEXT (row2->cell[clist->sort_column])->text; break; - case GTK_CELL_PIXTEXT: - text2 = GTK_CELL_PIXTEXT (row2->cell[clist->sort_column])->text; + case ETH_CELL_PIXTEXT: + text2 = ETH_CELL_PIXTEXT (row2->cell[clist->sort_column])->text; break; default: break; @@ -7305,14 +7305,14 @@ default_compare (GtkCList *clist, } static void -real_sort_list (GtkCList *clist) +real_sort_list (EthCList *clist) { GList *list; GList *work; gint i; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (clist->rows <= 1) return; @@ -7320,24 +7320,24 @@ real_sort_list (GtkCList *clist) if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (clist)) return; - gtk_clist_freeze (clist); + eth_clist_freeze (clist); if (clist->anchor != -1 && clist->selection_mode == GTK_SELECTION_EXTENDED) { - GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); g_list_free (clist->undo_selection); g_list_free (clist->undo_unselection); clist->undo_selection = NULL; clist->undo_unselection = NULL; } - clist->row_list = gtk_clist_mergesort (clist, clist->row_list, clist->rows); + clist->row_list = eth_clist_mergesort (clist, clist->row_list, clist->rows); work = clist->selection; for (i = 0, list = clist->row_list; i < clist->rows; i++, list = list->next) { - if (GTK_CLIST_ROW (list)->state == GTK_STATE_SELECTED) + if (ETH_CLIST_ROW (list)->state == GTK_STATE_SELECTED) { work->data = GINT_TO_POINTER (i); work = work->next; @@ -7347,11 +7347,11 @@ real_sort_list (GtkCList *clist) clist->row_list_end = list; } - gtk_clist_thaw (clist); + eth_clist_thaw (clist); } static GList * -gtk_clist_merge (GtkCList *clist, +eth_clist_merge (EthCList *clist, GList *a, /* first list to merge */ GList *b) /* second list to merge */ { @@ -7381,7 +7381,7 @@ gtk_clist_merge (GtkCList *clist, } else /* a && b */ { - cmp = clist->compare (clist, GTK_CLIST_ROW (a), GTK_CLIST_ROW (b)); + cmp = clist->compare (clist, ETH_CLIST_ROW (a), ETH_CLIST_ROW (b)); if ((cmp >= 0 && clist->sort_type == GTK_SORT_DESCENDING) || (cmp <= 0 && clist->sort_type == GTK_SORT_ASCENDING) || (a && !b)) @@ -7405,7 +7405,7 @@ gtk_clist_merge (GtkCList *clist, } static GList * -gtk_clist_mergesort (GtkCList *clist, +eth_clist_mergesort (EthCList *clist, GList *list, /* the list to sort */ gint num) /* the list's length */ { @@ -7428,9 +7428,9 @@ gtk_clist_mergesort (GtkCList *clist, half->prev = NULL; /* recursively sort both lists */ - return gtk_clist_merge (clist, - gtk_clist_mergesort (clist, list, num / 2), - gtk_clist_mergesort (clist, half, num - num / 2)); + return eth_clist_merge (clist, + eth_clist_mergesort (clist, list, num / 2), + eth_clist_mergesort (clist, half, num - num / 2)); } } @@ -7439,7 +7439,7 @@ gtk_clist_mergesort (GtkCList *clist, static void drag_source_info_destroy (gpointer data) { - GtkCListCellInfo *info = data; + EthCListCellInfo *info = data; g_free (info); } @@ -7447,22 +7447,22 @@ drag_source_info_destroy (gpointer data) static void drag_dest_info_destroy (gpointer data) { - GtkCListDestInfo *info = data; + EthCListDestInfo *info = data; g_free (info); } static void -drag_dest_cell (GtkCList *clist, +drag_dest_cell (EthCList *clist, gint x, gint y, - GtkCListDestInfo *dest_info) + EthCListDestInfo *dest_info) { GtkWidget *widget; widget = GTK_WIDGET (clist); - dest_info->insert_pos = GTK_CLIST_DRAG_NONE; + dest_info->insert_pos = ETH_CLIST_DRAG_NONE; y -= (GTK_CONTAINER (clist)->border_width + widget->style->klass->ythickness + @@ -7487,39 +7487,39 @@ drag_dest_cell (GtkCList *clist, y_delta = y - ROW_TOP_YPIXEL (clist, dest_info->cell.row); - if (GTK_CLIST_DRAW_DRAG_RECT(clist)) + if (ETH_CLIST_DRAW_DRAG_RECT(clist)) { - dest_info->insert_pos = GTK_CLIST_DRAG_INTO; + dest_info->insert_pos = ETH_CLIST_DRAG_INTO; h = clist->row_height / 4; } - else if (GTK_CLIST_DRAW_DRAG_LINE(clist)) + else if (ETH_CLIST_DRAW_DRAG_LINE(clist)) { - dest_info->insert_pos = GTK_CLIST_DRAG_BEFORE; + dest_info->insert_pos = ETH_CLIST_DRAG_BEFORE; h = clist->row_height / 2; } - if (GTK_CLIST_DRAW_DRAG_LINE(clist)) + if (ETH_CLIST_DRAW_DRAG_LINE(clist)) { if (y_delta < h) - dest_info->insert_pos = GTK_CLIST_DRAG_BEFORE; + dest_info->insert_pos = ETH_CLIST_DRAG_BEFORE; else if (clist->row_height - y_delta < h) - dest_info->insert_pos = GTK_CLIST_DRAG_AFTER; + dest_info->insert_pos = ETH_CLIST_DRAG_AFTER; } } } static void -gtk_clist_drag_begin (GtkWidget *widget, +eth_clist_drag_begin (GtkWidget *widget, GdkDragContext *context) { - GtkCList *clist; - GtkCListCellInfo *info; + EthCList *clist; + EthCListCellInfo *info; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); g_return_if_fail (context != NULL); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); clist->drag_button = 0; remove_grab (clist); @@ -7528,7 +7528,7 @@ gtk_clist_drag_begin (GtkWidget *widget, { case GTK_SELECTION_EXTENDED: update_extended_selection (clist, clist->focus_row); - GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); break; case GTK_SELECTION_SINGLE: case GTK_SELECTION_MULTIPLE: @@ -7541,7 +7541,7 @@ gtk_clist_drag_begin (GtkWidget *widget, if (!info) { - info = g_new (GtkCListCellInfo, 1); + info = g_new (EthCListCellInfo, 1); if (clist->click_cell.row < 0) clist->click_cell.row = 0; @@ -7554,46 +7554,46 @@ gtk_clist_drag_begin (GtkWidget *widget, drag_source_info_destroy); } - if (GTK_CLIST_USE_DRAG_ICONS (clist)) + if (ETH_CLIST_USE_DRAG_ICONS (clist)) gtk_drag_set_icon_default (context); } static void -gtk_clist_drag_end (GtkWidget *widget, +eth_clist_drag_end (GtkWidget *widget, GdkDragContext *context) { - GtkCList *clist; + EthCList *clist; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); g_return_if_fail (context != NULL); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); clist->click_cell.row = -1; clist->click_cell.column = -1; } static void -gtk_clist_drag_leave (GtkWidget *widget, +eth_clist_drag_leave (GtkWidget *widget, GdkDragContext *context, guint time _U_) { - GtkCList *clist; - GtkCListDestInfo *dest_info; + EthCList *clist; + EthCListDestInfo *dest_info; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); g_return_if_fail (context != NULL); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); dest_info = g_dataset_get_data (context, "gtk-clist-drag-dest"); if (dest_info) { if (dest_info->cell.row >= 0 && - GTK_CLIST_REORDERABLE(clist) && + ETH_CLIST_REORDERABLE(clist) && gtk_drag_get_source_widget (context) == widget) { GList *list; @@ -7604,7 +7604,7 @@ gtk_clist_drag_leave (GtkWidget *widget, { if (atom == GPOINTER_TO_UINT (list->data)) { - GTK_CLIST_CLASS_FW (clist)->draw_drag_highlight + ETH_CLIST_CLASS_FW (clist)->draw_drag_highlight (clist, g_list_nth (clist->row_list, dest_info->cell.row)->data, dest_info->cell.row, dest_info->insert_pos); @@ -7618,28 +7618,28 @@ gtk_clist_drag_leave (GtkWidget *widget, } static gint -gtk_clist_drag_motion (GtkWidget *widget, +eth_clist_drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time) { - GtkCList *clist; - GtkCListDestInfo new_info; - GtkCListDestInfo *dest_info; + EthCList *clist; + EthCListDestInfo new_info; + EthCListDestInfo *dest_info; g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (widget), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (widget), FALSE); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); dest_info = g_dataset_get_data (context, "gtk-clist-drag-dest"); if (!dest_info) { - dest_info = g_new (GtkCListDestInfo, 1); + dest_info = g_new (EthCListDestInfo, 1); - dest_info->insert_pos = GTK_CLIST_DRAG_NONE; + dest_info->insert_pos = ETH_CLIST_DRAG_NONE; dest_info->cell.row = -1; dest_info->cell.column = -1; @@ -7649,7 +7649,7 @@ gtk_clist_drag_motion (GtkWidget *widget, drag_dest_cell (clist, x, y, &new_info); - if (GTK_CLIST_REORDERABLE (clist)) + if (ETH_CLIST_REORDERABLE (clist)) { GList *list; GdkAtom atom = gdk_atom_intern ("gtk-clist-drag-reorder", FALSE); @@ -7665,12 +7665,12 @@ gtk_clist_drag_motion (GtkWidget *widget, if (list) { if (gtk_drag_get_source_widget (context) != widget || - new_info.insert_pos == GTK_CLIST_DRAG_NONE || + new_info.insert_pos == ETH_CLIST_DRAG_NONE || new_info.cell.row == clist->click_cell.row || (new_info.cell.row == clist->click_cell.row - 1 && - new_info.insert_pos == GTK_CLIST_DRAG_AFTER) || + new_info.insert_pos == ETH_CLIST_DRAG_AFTER) || (new_info.cell.row == clist->click_cell.row + 1 && - new_info.insert_pos == GTK_CLIST_DRAG_BEFORE)) + new_info.insert_pos == ETH_CLIST_DRAG_BEFORE)) { if (dest_info->cell.row < 0) { @@ -7685,7 +7685,7 @@ gtk_clist_drag_motion (GtkWidget *widget, dest_info->insert_pos != new_info.insert_pos)) { if (dest_info->cell.row >= 0) - GTK_CLIST_CLASS_FW (clist)->draw_drag_highlight + ETH_CLIST_CLASS_FW (clist)->draw_drag_highlight (clist, g_list_nth (clist->row_list, dest_info->cell.row)->data, dest_info->cell.row, dest_info->insert_pos); @@ -7694,7 +7694,7 @@ gtk_clist_drag_motion (GtkWidget *widget, dest_info->cell.row = new_info.cell.row; dest_info->cell.column = new_info.cell.column; - GTK_CLIST_CLASS_FW (clist)->draw_drag_highlight + ETH_CLIST_CLASS_FW (clist)->draw_drag_highlight (clist, g_list_nth (clist->row_list, dest_info->cell.row)->data, dest_info->cell.row, dest_info->insert_pos); @@ -7712,17 +7712,17 @@ gtk_clist_drag_motion (GtkWidget *widget, } static gboolean -gtk_clist_drag_drop (GtkWidget *widget, +eth_clist_drag_drop (GtkWidget *widget, GdkDragContext *context, gint x _U_, gint y _U_, guint time _U_) { g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_CLIST (widget), FALSE); + g_return_val_if_fail (ETH_IS_CLIST (widget), FALSE); g_return_val_if_fail (context != NULL, FALSE); - if (GTK_CLIST_REORDERABLE (widget) && + if (ETH_CLIST_REORDERABLE (widget) && gtk_drag_get_source_widget (context) == widget) { GList *list; @@ -7740,7 +7740,7 @@ gtk_clist_drag_drop (GtkWidget *widget, } static void -gtk_clist_drag_data_received (GtkWidget *widget, +eth_clist_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, @@ -7748,37 +7748,37 @@ gtk_clist_drag_data_received (GtkWidget *widget, guint info _U_, guint time _U_) { - GtkCList *clist; + EthCList *clist; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); g_return_if_fail (context != NULL); g_return_if_fail (selection_data != NULL); - clist = GTK_CLIST (widget); + clist = ETH_CLIST (widget); - if (GTK_CLIST_REORDERABLE (clist) && + if (ETH_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 && - selection_data->length == sizeof (GtkCListCellInfo)) + selection_data->length == sizeof (EthCListCellInfo)) { - GtkCListCellInfo *source_info; + EthCListCellInfo *source_info; - source_info = (GtkCListCellInfo *)(selection_data->data); + source_info = (EthCListCellInfo *)(selection_data->data); if (source_info) { - GtkCListDestInfo dest_info; + EthCListDestInfo dest_info; drag_dest_cell (clist, x, y, &dest_info); - if (dest_info.insert_pos == GTK_CLIST_DRAG_AFTER) + if (dest_info.insert_pos == ETH_CLIST_DRAG_AFTER) dest_info.cell.row++; if (source_info->row < dest_info.cell.row) dest_info.cell.row--; if (dest_info.cell.row != source_info->row) - gtk_clist_row_move (clist, source_info->row, dest_info.cell.row); + eth_clist_row_move (clist, source_info->row, dest_info.cell.row); g_dataset_remove_data (context, "gtk-clist-drag-dest"); } @@ -7786,34 +7786,34 @@ gtk_clist_drag_data_received (GtkWidget *widget, } static void -gtk_clist_drag_data_get (GtkWidget *widget, +eth_clist_drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info _U_, guint time _U_) { g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_CLIST (widget)); + g_return_if_fail (ETH_IS_CLIST (widget)); g_return_if_fail (context != NULL); g_return_if_fail (selection_data != NULL); if (selection_data->target == gdk_atom_intern ("gtk-clist-drag-reorder", FALSE)) { - GtkCListCellInfo *info; + EthCListCellInfo *info; info = g_dataset_get_data (context, "gtk-clist-drag-source"); if (info) { - GtkCListCellInfo ret_info; + EthCListCellInfo ret_info; ret_info.row = info->row; ret_info.column = info->column; gtk_selection_data_set (selection_data, selection_data->target, GTK_TYPE_POINTER, (guchar *) &ret_info, - sizeof (GtkCListCellInfo)); + sizeof (EthCListCellInfo)); } else gtk_selection_data_set (selection_data, selection_data->target, @@ -7822,10 +7822,10 @@ gtk_clist_drag_data_get (GtkWidget *widget, } static void -draw_drag_highlight (GtkCList *clist, - GtkCListRow *dest_row _U_, +draw_drag_highlight (EthCList *clist, + EthCListRow *dest_row _U_, gint dest_row_number, - GtkCListDragPos drag_pos) + EthCListDragPos drag_pos) { gint y; @@ -7833,15 +7833,15 @@ draw_drag_highlight (GtkCList *clist, switch (drag_pos) { - case GTK_CLIST_DRAG_NONE: + case ETH_CLIST_DRAG_NONE: break; - case GTK_CLIST_DRAG_AFTER: + case ETH_CLIST_DRAG_AFTER: y += clist->row_height + 1; - case GTK_CLIST_DRAG_BEFORE: + case ETH_CLIST_DRAG_BEFORE: gdk_draw_line (clist->clist_window, clist->xor_gc, 0, y, clist->clist_window_width, y); break; - case GTK_CLIST_DRAG_INTO: + case ETH_CLIST_DRAG_INTO: gdk_draw_rectangle (clist->clist_window, clist->xor_gc, FALSE, 0, y, clist->clist_window_width - 1, clist->row_height); break; @@ -7849,53 +7849,53 @@ draw_drag_highlight (GtkCList *clist, } void -gtk_clist_set_reorderable (GtkCList *clist, +eth_clist_set_reorderable (EthCList *clist, gboolean reorderable) { GtkWidget *widget; g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); - if ((GTK_CLIST_REORDERABLE(clist) != 0) == reorderable) + if ((ETH_CLIST_REORDERABLE(clist) != 0) == reorderable) return; widget = GTK_WIDGET (clist); if (reorderable) { - GTK_CLIST_SET_FLAG (clist, CLIST_REORDERABLE); + ETH_CLIST_SET_FLAG (clist, CLIST_REORDERABLE); gtk_drag_dest_set (widget, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP, &clist_target_table, 1, GDK_ACTION_MOVE); } else { - GTK_CLIST_UNSET_FLAG (clist, CLIST_REORDERABLE); + ETH_CLIST_UNSET_FLAG (clist, CLIST_REORDERABLE); gtk_drag_dest_unset (GTK_WIDGET (clist)); } } void -gtk_clist_set_use_drag_icons (GtkCList *clist, +eth_clist_set_use_drag_icons (EthCList *clist, gboolean use_icons) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (use_icons != 0) - GTK_CLIST_SET_FLAG (clist, CLIST_USE_DRAG_ICONS); + ETH_CLIST_SET_FLAG (clist, CLIST_USE_DRAG_ICONS); else - GTK_CLIST_UNSET_FLAG (clist, CLIST_USE_DRAG_ICONS); + ETH_CLIST_UNSET_FLAG (clist, CLIST_USE_DRAG_ICONS); } void -gtk_clist_set_button_actions (GtkCList *clist, +eth_clist_set_button_actions (EthCList *clist, guint button, guint8 button_actions) { g_return_if_fail (clist != NULL); - g_return_if_fail (GTK_IS_CLIST (clist)); + g_return_if_fail (ETH_IS_CLIST (clist)); if (button < MAX_BUTTON) { @@ -7905,7 +7905,7 @@ gtk_clist_set_button_actions (GtkCList *clist, clist->drag_button = 0; } - GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + ETH_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); clist->button_actions[button] = button_actions; } diff --git a/gtk/gtkclist_v12.h b/gtk/ethclist.h index 06c724fb4b..ab8a985c8c 100644 --- a/gtk/gtkclist_v12.h +++ b/gtk/ethclist.h @@ -25,8 +25,8 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ -#ifndef __GTK_CLIST_H__ -#define __GTK_CLIST_H__ +#ifndef __ETH_CLIST_H__ +#define __ETH_CLIST_H__ #include <gdk/gdk.h> #include <gtk/gtksignal.h> @@ -43,106 +43,106 @@ extern "C" { /* clist flags */ enum { - GTK_CLIST_IN_DRAG = 1 << 0, - GTK_CLIST_ROW_HEIGHT_SET = 1 << 1, - GTK_CLIST_SHOW_TITLES = 1 << 2, - GTK_CLIST_CHILD_HAS_FOCUS = 1 << 3, - GTK_CLIST_ADD_MODE = 1 << 4, - GTK_CLIST_AUTO_SORT = 1 << 5, - GTK_CLIST_AUTO_RESIZE_BLOCKED = 1 << 6, - GTK_CLIST_REORDERABLE = 1 << 7, - GTK_CLIST_USE_DRAG_ICONS = 1 << 8, - GTK_CLIST_DRAW_DRAG_LINE = 1 << 9, - GTK_CLIST_DRAW_DRAG_RECT = 1 << 10 + ETH_CLIST_IN_DRAG = 1 << 0, + ETH_CLIST_ROW_HEIGHT_SET = 1 << 1, + ETH_CLIST_SHOW_TITLES = 1 << 2, + ETH_CLIST_CHILD_HAS_FOCUS = 1 << 3, + ETH_CLIST_ADD_MODE = 1 << 4, + ETH_CLIST_AUTO_SORT = 1 << 5, + ETH_CLIST_AUTO_RESIZE_BLOCKED = 1 << 6, + ETH_CLIST_REORDERABLE = 1 << 7, + ETH_CLIST_USE_DRAG_ICONS = 1 << 8, + ETH_CLIST_DRAW_DRAG_LINE = 1 << 9, + ETH_CLIST_DRAW_DRAG_RECT = 1 << 10 }; /* cell types */ typedef enum { - GTK_CELL_EMPTY, - GTK_CELL_TEXT, - GTK_CELL_PIXMAP, - GTK_CELL_PIXTEXT, - GTK_CELL_WIDGET -} GtkCellType; + ETH_CELL_EMPTY, + ETH_CELL_TEXT, + ETH_CELL_PIXMAP, + ETH_CELL_PIXTEXT, + ETH_CELL_WIDGET +} EthCellType; typedef enum { - GTK_CLIST_DRAG_NONE, - GTK_CLIST_DRAG_BEFORE, - GTK_CLIST_DRAG_INTO, - GTK_CLIST_DRAG_AFTER -} GtkCListDragPos; + ETH_CLIST_DRAG_NONE, + ETH_CLIST_DRAG_BEFORE, + ETH_CLIST_DRAG_INTO, + ETH_CLIST_DRAG_AFTER +} EthCListDragPos; typedef enum { - GTK_BUTTON_IGNORED = 0, - GTK_BUTTON_SELECTS = 1 << 0, - GTK_BUTTON_DRAGS = 1 << 1, - GTK_BUTTON_EXPANDS = 1 << 2 -} GtkButtonAction; - -#define GTK_TYPE_CLIST (gtk_clist_get_type ()) -#define GTK_CLIST(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_CLIST, GtkCList)) -#define GTK_CLIST_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CLIST, GtkCListClass)) -#define GTK_IS_CLIST(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_CLIST)) -#define GTK_IS_CLIST_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CLIST)) - -#define GTK_CLIST_FLAGS(clist) (GTK_CLIST (clist)->flags) -#define GTK_CLIST_SET_FLAG(clist,flag) (GTK_CLIST_FLAGS (clist) |= (GTK_ ## flag)) -#define GTK_CLIST_UNSET_FLAG(clist,flag) (GTK_CLIST_FLAGS (clist) &= ~(GTK_ ## flag)) - -#define GTK_CLIST_IN_DRAG(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_IN_DRAG) -#define GTK_CLIST_ROW_HEIGHT_SET(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_ROW_HEIGHT_SET) -#define GTK_CLIST_SHOW_TITLES(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_SHOW_TITLES) -#define GTK_CLIST_CHILD_HAS_FOCUS(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_CHILD_HAS_FOCUS) -#define GTK_CLIST_ADD_MODE(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_ADD_MODE) -#define GTK_CLIST_AUTO_SORT(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_AUTO_SORT) -#define GTK_CLIST_AUTO_RESIZE_BLOCKED(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_AUTO_RESIZE_BLOCKED) -#define GTK_CLIST_REORDERABLE(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_REORDERABLE) -#define GTK_CLIST_USE_DRAG_ICONS(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_USE_DRAG_ICONS) -#define GTK_CLIST_DRAW_DRAG_LINE(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_DRAW_DRAG_LINE) -#define GTK_CLIST_DRAW_DRAG_RECT(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_DRAW_DRAG_RECT) - -#define GTK_CLIST_ROW(_glist_) ((GtkCListRow *)((_glist_)->data)) + ETH_BUTTON_IGNORED = 0, + ETH_BUTTON_SELECTS = 1 << 0, + ETH_BUTTON_DRAGS = 1 << 1, + ETH_BUTTON_EXPANDS = 1 << 2 +} EthButtonAction; + +#define ETH_TYPE_CLIST (eth_clist_get_type ()) +#define ETH_CLIST(obj) (GTK_CHECK_CAST ((obj), ETH_TYPE_CLIST, EthCList)) +#define ETH_CLIST_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), ETH_TYPE_CLIST, EthCListClass)) +#define ETH_IS_CLIST(obj) (GTK_CHECK_TYPE ((obj), ETH_TYPE_CLIST)) +#define ETH_IS_CLIST_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), ETH_TYPE_CLIST)) + +#define ETH_CLIST_FLAGS(clist) (ETH_CLIST (clist)->flags) +#define ETH_CLIST_SET_FLAG(clist,flag) (ETH_CLIST_FLAGS (clist) |= (ETH_ ## flag)) +#define ETH_CLIST_UNSET_FLAG(clist,flag) (ETH_CLIST_FLAGS (clist) &= ~(ETH_ ## flag)) + +#define ETH_CLIST_IN_DRAG(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_IN_DRAG) +#define ETH_CLIST_ROW_HEIGHT_SET(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_ROW_HEIGHT_SET) +#define ETH_CLIST_SHOW_TITLES(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_SHOW_TITLES) +#define ETH_CLIST_CHILD_HAS_FOCUS(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_CHILD_HAS_FOCUS) +#define ETH_CLIST_ADD_MODE(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_ADD_MODE) +#define ETH_CLIST_AUTO_SORT(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_AUTO_SORT) +#define ETH_CLIST_AUTO_RESIZE_BLOCKED(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_AUTO_RESIZE_BLOCKED) +#define ETH_CLIST_REORDERABLE(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_REORDERABLE) +#define ETH_CLIST_USE_DRAG_ICONS(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_USE_DRAG_ICONS) +#define ETH_CLIST_DRAW_DRAG_LINE(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_DRAW_DRAG_LINE) +#define ETH_CLIST_DRAW_DRAG_RECT(clist) (ETH_CLIST_FLAGS (clist) & ETH_CLIST_DRAW_DRAG_RECT) + +#define ETH_CLIST_ROW(_glist_) ((EthCListRow *)((_glist_)->data)) /* pointer casting for cells */ -#define GTK_CELL_TEXT(cell) (((GtkCellText *) &(cell))) -#define GTK_CELL_PIXMAP(cell) (((GtkCellPixmap *) &(cell))) -#define GTK_CELL_PIXTEXT(cell) (((GtkCellPixText *) &(cell))) -#define GTK_CELL_WIDGET(cell) (((GtkCellWidget *) &(cell))) - -typedef struct _GtkCList GtkCList; -typedef struct _GtkCListClass GtkCListClass; -typedef struct _GtkCListColumn GtkCListColumn; -typedef struct _GtkCListRow GtkCListRow; - -typedef struct _GtkCell GtkCell; -typedef struct _GtkCellText GtkCellText; -typedef struct _GtkCellPixmap GtkCellPixmap; -typedef struct _GtkCellPixText GtkCellPixText; -typedef struct _GtkCellWidget GtkCellWidget; - -typedef gint (*GtkCListCompareFunc) (GtkCList *clist, +#define ETH_CELL_TEXT(cell) (((EthCellText *) &(cell))) +#define ETH_CELL_PIXMAP(cell) (((EthCellPixmap *) &(cell))) +#define ETH_CELL_PIXTEXT(cell) (((EthCellPixText *) &(cell))) +#define ETH_CELL_WIDGET(cell) (((EthCellWidget *) &(cell))) + +typedef struct _EthCList EthCList; +typedef struct _EthCListClass EthCListClass; +typedef struct _EthCListColumn EthCListColumn; +typedef struct _EthCListRow EthCListRow; + +typedef struct _EthCell EthCell; +typedef struct _EthCellText EthCellText; +typedef struct _EthCellPixmap EthCellPixmap; +typedef struct _EthCellPixText EthCellPixText; +typedef struct _EthCellWidget EthCellWidget; + +typedef gint (*EthCListCompareFunc) (EthCList *clist, gconstpointer ptr1, gconstpointer ptr2); -typedef struct _GtkCListCellInfo GtkCListCellInfo; -typedef struct _GtkCListDestInfo GtkCListDestInfo; +typedef struct _EthCListCellInfo EthCListCellInfo; +typedef struct _EthCListDestInfo EthCListDestInfo; -struct _GtkCListCellInfo +struct _EthCListCellInfo { gint row; gint column; }; -struct _GtkCListDestInfo +struct _EthCListDestInfo { - GtkCListCellInfo cell; - GtkCListDragPos insert_pos; + EthCListCellInfo cell; + EthCListDragPos insert_pos; }; -struct _GtkCList +struct _EthCList { GtkContainer container; @@ -171,7 +171,7 @@ struct _GtkCList GdkWindow *title_window; /* dynamicly allocated array of column structures */ - GtkCListColumn *column; + EthCListColumn *column; /* the scrolling window and its height and width to * make things a little speedier */ @@ -203,7 +203,7 @@ struct _GtkCList guint8 drag_button; /* dnd */ - GtkCListCellInfo click_cell; + EthCListCellInfo click_cell; /* scroll adjustments */ GtkAdjustment *hadjustment; @@ -233,90 +233,90 @@ struct _GtkCList gint vtimer; GtkSortType sort_type; - GtkCListCompareFunc compare; + EthCListCompareFunc compare; gint sort_column; }; -struct _GtkCListClass +struct _EthCListClass { GtkContainerClass parent_class; - void (*set_scroll_adjustments) (GtkCList *clist, + void (*set_scroll_adjustments) (EthCList *clist, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); - void (*refresh) (GtkCList *clist); - void (*select_row) (GtkCList *clist, + void (*refresh) (EthCList *clist); + void (*select_row) (EthCList *clist, gint row, gint column, GdkEvent *event); - void (*unselect_row) (GtkCList *clist, + void (*unselect_row) (EthCList *clist, gint row, gint column, GdkEvent *event); - void (*row_move) (GtkCList *clist, + void (*row_move) (EthCList *clist, gint source_row, gint dest_row); - void (*click_column) (GtkCList *clist, + void (*click_column) (EthCList *clist, gint column); - void (*resize_column) (GtkCList *clist, + void (*resize_column) (EthCList *clist, gint column, gint width); - void (*toggle_focus_row) (GtkCList *clist); - void (*select_all) (GtkCList *clist); - void (*unselect_all) (GtkCList *clist); - void (*undo_selection) (GtkCList *clist); - void (*start_selection) (GtkCList *clist); - void (*end_selection) (GtkCList *clist); - void (*extend_selection) (GtkCList *clist, + void (*toggle_focus_row) (EthCList *clist); + void (*select_all) (EthCList *clist); + void (*unselect_all) (EthCList *clist); + void (*undo_selection) (EthCList *clist); + void (*start_selection) (EthCList *clist); + void (*end_selection) (EthCList *clist); + void (*extend_selection) (EthCList *clist, GtkScrollType scroll_type, gfloat position, gboolean auto_start_selection); - void (*scroll_horizontal) (GtkCList *clist, + void (*scroll_horizontal) (EthCList *clist, GtkScrollType scroll_type, gfloat position); - void (*scroll_vertical) (GtkCList *clist, + void (*scroll_vertical) (EthCList *clist, GtkScrollType scroll_type, gfloat position); - void (*toggle_add_mode) (GtkCList *clist); - void (*abort_column_resize) (GtkCList *clist); - void (*resync_selection) (GtkCList *clist, + void (*toggle_add_mode) (EthCList *clist); + void (*abort_column_resize) (EthCList *clist); + void (*resync_selection) (EthCList *clist, GdkEvent *event); - GList* (*selection_find) (GtkCList *clist, + GList* (*selection_find) (EthCList *clist, gint row_number, GList *row_list_element); - void (*draw_row) (GtkCList *clist, + void (*draw_row) (EthCList *clist, GdkRectangle *area, gint row, - GtkCListRow *clist_row); - void (*draw_drag_highlight) (GtkCList *clist, - GtkCListRow *target_row, + EthCListRow *clist_row); + void (*draw_drag_highlight) (EthCList *clist, + EthCListRow *target_row, gint target_row_number, - GtkCListDragPos drag_pos); - void (*clear) (GtkCList *clist); - void (*fake_unselect_all) (GtkCList *clist, + EthCListDragPos drag_pos); + void (*clear) (EthCList *clist); + void (*fake_unselect_all) (EthCList *clist, gint row); - void (*sort_list) (GtkCList *clist); - gint (*insert_row) (GtkCList *clist, + void (*sort_list) (EthCList *clist); + gint (*insert_row) (EthCList *clist, gint row, gchar *text[]); - void (*remove_row) (GtkCList *clist, + void (*remove_row) (EthCList *clist, gint row); - void (*set_cell_contents) (GtkCList *clist, - GtkCListRow *clist_row, + void (*set_cell_contents) (EthCList *clist, + EthCListRow *clist_row, gint column, - GtkCellType type, + EthCellType type, const gchar *text, guint8 spacing, GdkPixmap *pixmap, GdkBitmap *mask); - void (*cell_size_request) (GtkCList *clist, - GtkCListRow *clist_row, + void (*cell_size_request) (EthCList *clist, + EthCListRow *clist_row, gint column, GtkRequisition *requisition); }; -struct _GtkCListColumn +struct _EthCListColumn { gchar *title; GdkRectangle area; @@ -336,9 +336,9 @@ struct _GtkCListColumn guint button_passive : 1; }; -struct _GtkCListRow +struct _EthCListRow { - GtkCell *cell; + EthCell *cell; GtkStateType state; GdkColor foreground; @@ -355,9 +355,9 @@ struct _GtkCListRow }; /* Cell Structures */ -struct _GtkCellText +struct _EthCellText { - GtkCellType type; + EthCellType type; gint16 vertical; gint16 horizontal; @@ -367,9 +367,9 @@ struct _GtkCellText gchar *text; }; -struct _GtkCellPixmap +struct _EthCellPixmap { - GtkCellType type; + EthCellType type; gint16 vertical; gint16 horizontal; @@ -380,9 +380,9 @@ struct _GtkCellPixmap GdkBitmap *mask; }; -struct _GtkCellPixText +struct _EthCellPixText { - GtkCellType type; + EthCellType type; gint16 vertical; gint16 horizontal; @@ -395,9 +395,9 @@ struct _GtkCellPixText GdkBitmap *mask; }; -struct _GtkCellWidget +struct _EthCellWidget { - GtkCellType type; + EthCellType type; gint16 vertical; gint16 horizontal; @@ -407,9 +407,9 @@ struct _GtkCellWidget GtkWidget *widget; }; -struct _GtkCell +struct _EthCell { - GtkCellType type; + EthCellType type; gint16 vertical; gint16 horizontal; @@ -435,42 +435,42 @@ struct _GtkCell } u; }; -GtkType gtk_clist_get_type (void); +GtkType eth_clist_get_type (void); /* constructors useful for gtk-- wrappers */ -void gtk_clist_construct (GtkCList *clist, +void eth_clist_construct (EthCList *clist, gint columns, gchar *titles[]); -/* create a new GtkCList */ -GtkWidget* gtk_clist_new (gint columns); -GtkWidget* gtk_clist_new_with_titles (gint columns, +/* create a new EthCList */ +GtkWidget* eth_clist_new (gint columns); +GtkWidget* eth_clist_new_with_titles (gint columns, gchar *titles[]); /* set adjustments of clist */ -void gtk_clist_set_hadjustment (GtkCList *clist, +void eth_clist_set_hadjustment (EthCList *clist, GtkAdjustment *adjustment); -void gtk_clist_set_vadjustment (GtkCList *clist, +void eth_clist_set_vadjustment (EthCList *clist, GtkAdjustment *adjustment); /* get adjustments of clist */ -GtkAdjustment* gtk_clist_get_hadjustment (GtkCList *clist); -GtkAdjustment* gtk_clist_get_vadjustment (GtkCList *clist); +GtkAdjustment* eth_clist_get_hadjustment (EthCList *clist); +GtkAdjustment* eth_clist_get_vadjustment (EthCList *clist); /* set the border style of the clist */ -void gtk_clist_set_shadow_type (GtkCList *clist, +void eth_clist_set_shadow_type (EthCList *clist, GtkShadowType type); /* set the clist's selection mode */ -void gtk_clist_set_selection_mode (GtkCList *clist, +void eth_clist_set_selection_mode (EthCList *clist, GtkSelectionMode mode); /* enable clists reorder ability */ -void gtk_clist_set_reorderable (GtkCList *clist, +void eth_clist_set_reorderable (EthCList *clist, gboolean reorderable); -void gtk_clist_set_use_drag_icons (GtkCList *clist, +void eth_clist_set_use_drag_icons (EthCList *clist, gboolean use_icons); -void gtk_clist_set_button_actions (GtkCList *clist, +void eth_clist_set_button_actions (EthCList *clist, guint button, guint8 button_actions); @@ -478,88 +478,88 @@ void gtk_clist_set_button_actions (GtkCList *clist, * you have made a number of changes and the updates wil occure in a * more efficent mannor than if you made them on a unfrozen list */ -void gtk_clist_freeze (GtkCList *clist); -void gtk_clist_thaw (GtkCList *clist); +void eth_clist_freeze (EthCList *clist); +void eth_clist_thaw (EthCList *clist); /* show and hide the column title buttons */ -void gtk_clist_column_titles_show (GtkCList *clist); -void gtk_clist_column_titles_hide (GtkCList *clist); +void eth_clist_column_titles_show (EthCList *clist); +void eth_clist_column_titles_hide (EthCList *clist); /* set the column title to be a active title (responds to button presses, * prelights, and grabs keyboard focus), or passive where it acts as just * a title */ -void gtk_clist_column_title_active (GtkCList *clist, +void eth_clist_column_title_active (EthCList *clist, gint column); -void gtk_clist_column_title_passive (GtkCList *clist, +void eth_clist_column_title_passive (EthCList *clist, gint column); -void gtk_clist_column_titles_active (GtkCList *clist); -void gtk_clist_column_titles_passive (GtkCList *clist); +void eth_clist_column_titles_active (EthCList *clist); +void eth_clist_column_titles_passive (EthCList *clist); /* set the title in the column title button */ -void gtk_clist_set_column_title (GtkCList *clist, +void eth_clist_set_column_title (EthCList *clist, gint column, const gchar *title); /* returns the title of column. Returns NULL if title is not set */ -gchar * gtk_clist_get_column_title (GtkCList *clist, +gchar * eth_clist_get_column_title (EthCList *clist, gint column); /* set a widget instead of a title for the column title button */ -void gtk_clist_set_column_widget (GtkCList *clist, +void eth_clist_set_column_widget (EthCList *clist, gint column, GtkWidget *widget); /* returns the column widget */ -GtkWidget * gtk_clist_get_column_widget (GtkCList *clist, +GtkWidget * eth_clist_get_column_widget (EthCList *clist, gint column); /* set the justification on a column */ -void gtk_clist_set_column_justification (GtkCList *clist, +void eth_clist_set_column_justification (EthCList *clist, gint column, GtkJustification justification); /* set visibility of a column */ -void gtk_clist_set_column_visibility (GtkCList *clist, +void eth_clist_set_column_visibility (EthCList *clist, gint column, gboolean visible); /* enable/disable column resize operations by mouse */ -void gtk_clist_set_column_resizeable (GtkCList *clist, +void eth_clist_set_column_resizeable (EthCList *clist, gint column, gboolean resizeable); /* resize column automatically to its optimal width */ -void gtk_clist_set_column_auto_resize (GtkCList *clist, +void eth_clist_set_column_auto_resize (EthCList *clist, gint column, gboolean auto_resize); -gint gtk_clist_columns_autosize (GtkCList *clist); +gint eth_clist_columns_autosize (EthCList *clist); /* return the optimal column width, i.e. maximum of all cell widths */ -gint gtk_clist_optimal_column_width (GtkCList *clist, +gint eth_clist_optimal_column_width (EthCList *clist, gint column); /* set the pixel width of a column; this is a necessary step in * creating a CList because otherwise the column width is chozen from * the width of the column title, which will never be right */ -void gtk_clist_set_column_width (GtkCList *clist, +void eth_clist_set_column_width (EthCList *clist, gint column, gint width); /* set column minimum/maximum width. min/max_width < 0 => no restriction */ -void gtk_clist_set_column_min_width (GtkCList *clist, +void eth_clist_set_column_min_width (EthCList *clist, gint column, gint min_width); -void gtk_clist_set_column_max_width (GtkCList *clist, +void eth_clist_set_column_max_width (EthCList *clist, gint column, gint max_width); /* change the height of the rows, the default (height=0) is * the hight of the current font. */ -void gtk_clist_set_row_height (GtkCList *clist, +void eth_clist_set_row_height (EthCList *clist, guint height); /* scroll the viewing area of the list to the given column and row; @@ -567,23 +567,23 @@ void gtk_clist_set_row_height (GtkCList *clist, * row should appear on the screnn, 0.0 being top or left, 1.0 being * bottom or right; if row or column is -1 then then there is no change */ -void gtk_clist_moveto (GtkCList *clist, +void eth_clist_moveto (EthCList *clist, gint row, gint column, gfloat row_align, gfloat col_align); /* returns whether the row is visible */ -GtkVisibility gtk_clist_row_is_visible (GtkCList *clist, +GtkVisibility eth_clist_row_is_visible (EthCList *clist, gint row); /* returns the cell type */ -GtkCellType gtk_clist_get_cell_type (GtkCList *clist, +EthCellType eth_clist_get_cell_type (EthCList *clist, gint row, gint column); /* sets a given cell's text, replacing its current contents */ -void gtk_clist_set_text (GtkCList *clist, +void eth_clist_set_text (EthCList *clist, gint row, gint column, const gchar *text); @@ -591,26 +591,26 @@ void gtk_clist_set_text (GtkCList *clist, /* for the "get" functions, any of the return pointer can be * NULL if you are not interested */ -gint gtk_clist_get_text (GtkCList *clist, +gint eth_clist_get_text (EthCList *clist, gint row, gint column, gchar **text); /* sets a given cell's pixmap, replacing its current contents */ -void gtk_clist_set_pixmap (GtkCList *clist, +void eth_clist_set_pixmap (EthCList *clist, gint row, gint column, GdkPixmap *pixmap, GdkBitmap *mask); -gint gtk_clist_get_pixmap (GtkCList *clist, +gint eth_clist_get_pixmap (EthCList *clist, gint row, gint column, GdkPixmap **pixmap, GdkBitmap **mask); /* sets a given cell's pixmap and text, replacing its current contents */ -void gtk_clist_set_pixtext (GtkCList *clist, +void eth_clist_set_pixtext (EthCList *clist, gint row, gint column, const gchar *text, @@ -618,7 +618,7 @@ void gtk_clist_set_pixtext (GtkCList *clist, GdkPixmap *pixmap, GdkBitmap *mask); -gint gtk_clist_get_pixtext (GtkCList *clist, +gint eth_clist_get_pixtext (EthCList *clist, gint row, gint column, gchar **text, @@ -629,152 +629,152 @@ gint gtk_clist_get_pixtext (GtkCList *clist, /* sets the foreground color of a row, the color must already * be allocated */ -void gtk_clist_set_foreground (GtkCList *clist, +void eth_clist_set_foreground (EthCList *clist, gint row, GdkColor *color); /* sets the background color of a row, the color must already * be allocated */ -void gtk_clist_set_background (GtkCList *clist, +void eth_clist_set_background (EthCList *clist, gint row, GdkColor *color); /* set / get cell styles */ -void gtk_clist_set_cell_style (GtkCList *clist, +void eth_clist_set_cell_style (EthCList *clist, gint row, gint column, GtkStyle *style); -GtkStyle *gtk_clist_get_cell_style (GtkCList *clist, +GtkStyle *eth_clist_get_cell_style (EthCList *clist, gint row, gint column); -void gtk_clist_set_row_style (GtkCList *clist, +void eth_clist_set_row_style (EthCList *clist, gint row, GtkStyle *style); -GtkStyle *gtk_clist_get_row_style (GtkCList *clist, +GtkStyle *eth_clist_get_row_style (EthCList *clist, gint row); /* this sets a horizontal and vertical shift for drawing * the contents of a cell; it can be positive or negitive; * this is particulary useful for indenting items in a column */ -void gtk_clist_set_shift (GtkCList *clist, +void eth_clist_set_shift (EthCList *clist, gint row, gint column, gint vertical, gint horizontal); /* set/get selectable flag of a single row */ -void gtk_clist_set_selectable (GtkCList *clist, +void eth_clist_set_selectable (EthCList *clist, gint row, gboolean selectable); -gboolean gtk_clist_get_selectable (GtkCList *clist, +gboolean eth_clist_get_selectable (EthCList *clist, gint row); /* prepend/append returns the index of the row you just added, * making it easier to append and modify a row */ -gint gtk_clist_prepend (GtkCList *clist, +gint eth_clist_prepend (EthCList *clist, gchar *text[]); -gint gtk_clist_append (GtkCList *clist, +gint eth_clist_append (EthCList *clist, gchar *text[]); /* inserts a row at index row and returns the row where it was * actually inserted (may be different from "row" in auto_sort mode) */ -gint gtk_clist_insert (GtkCList *clist, +gint eth_clist_insert (EthCList *clist, gint row, gchar *text[]); /* removes row at index row */ -void gtk_clist_remove (GtkCList *clist, +void eth_clist_remove (EthCList *clist, gint row); /* sets a arbitrary data pointer for a given row */ -void gtk_clist_set_row_data (GtkCList *clist, +void eth_clist_set_row_data (EthCList *clist, gint row, gpointer data); /* sets a data pointer for a given row with destroy notification */ -void gtk_clist_set_row_data_full (GtkCList *clist, +void eth_clist_set_row_data_full (EthCList *clist, gint row, gpointer data, GtkDestroyNotify destroy); /* returns the data set for a row */ -gpointer gtk_clist_get_row_data (GtkCList *clist, +gpointer eth_clist_get_row_data (EthCList *clist, gint row); /* givin a data pointer, find the first (and hopefully only!) * row that points to that data, or -1 if none do */ -gint gtk_clist_find_row_from_data (GtkCList *clist, +gint eth_clist_find_row_from_data (EthCList *clist, gpointer data); /* force selection of a row */ -void gtk_clist_select_row (GtkCList *clist, +void eth_clist_select_row (EthCList *clist, gint row, gint column); /* force unselection of a row */ -void gtk_clist_unselect_row (GtkCList *clist, +void eth_clist_unselect_row (EthCList *clist, gint row, gint column); /* undo the last select/unselect operation */ -void gtk_clist_undo_selection (GtkCList *clist); +void eth_clist_undo_selection (EthCList *clist); /* clear the entire list -- this is much faster than removing - * each item with gtk_clist_remove + * each item with eth_clist_remove */ -void gtk_clist_clear (GtkCList *clist); +void eth_clist_clear (EthCList *clist); /* return the row column corresponding to the x and y coordinates, * the returned values are only valid if the x and y coordinates * are respectively to a window == clist->clist_window */ -gint gtk_clist_get_selection_info (GtkCList *clist, +gint eth_clist_get_selection_info (EthCList *clist, gint x, gint y, gint *row, gint *column); /* in multiple or extended mode, select all rows */ -void gtk_clist_select_all (GtkCList *clist); +void eth_clist_select_all (EthCList *clist); /* in all modes except browse mode, deselect all rows */ -void gtk_clist_unselect_all (GtkCList *clist); +void eth_clist_unselect_all (EthCList *clist); /* swap the position of two rows */ -void gtk_clist_swap_rows (GtkCList *clist, +void eth_clist_swap_rows (EthCList *clist, gint row1, gint row2); /* move row from source_row position to dest_row position */ -void gtk_clist_row_move (GtkCList *clist, +void eth_clist_row_move (EthCList *clist, gint source_row, gint dest_row); /* sets a compare function different to the default */ -void gtk_clist_set_compare_func (GtkCList *clist, - GtkCListCompareFunc cmp_func); +void eth_clist_set_compare_func (EthCList *clist, + EthCListCompareFunc cmp_func); /* the column to sort by */ -void gtk_clist_set_sort_column (GtkCList *clist, +void eth_clist_set_sort_column (EthCList *clist, gint column); /* how to sort : ascending or descending */ -void gtk_clist_set_sort_type (GtkCList *clist, +void eth_clist_set_sort_type (EthCList *clist, GtkSortType sort_type); /* sort the list with the current compare function */ -void gtk_clist_sort (GtkCList *clist); +void eth_clist_sort (EthCList *clist); /* Automatically sort upon insertion */ -void gtk_clist_set_auto_sort (GtkCList *clist, +void eth_clist_set_auto_sort (EthCList *clist, gboolean auto_sort); @@ -782,4 +782,4 @@ void gtk_clist_set_auto_sort (GtkCList *clist, } #endif /* __cplusplus */ -#endif /* __GTK_CLIST_H__ */ +#endif /* __ETH_CLIST_H__ */ diff --git a/gtk/gtkglobals.h b/gtk/gtkglobals.h index 64d09ab105..b95dbe0c71 100644 --- a/gtk/gtkglobals.h +++ b/gtk/gtkglobals.h @@ -1,7 +1,7 @@ /* gtkglobals.h * GTK-related Global defines, etc. * - * $Id: gtkglobals.h,v 1.23 2003/12/24 01:21:32 guy Exp $ + * $Id: gtkglobals.h,v 1.24 2004/01/09 08:36:23 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -31,14 +31,9 @@ extern GdkFont *m_r_font, *m_b_font; extern guint m_font_height, m_font_width; extern GtkStyle *item_style; - -void set_plist_font(GdkFont *font); #else extern PangoFontDescription *m_r_font, *m_b_font; - -void set_plist_font(PangoFontDescription *font); #endif -void set_plist_sel_browse(gboolean); #if GTK_MAJOR_VERSION >= 2 || GTK_MINOR_VERSION >= 3 /* diff --git a/gtk/gui_prefs.c b/gtk/gui_prefs.c index b3190fc7ed..52e99f63e8 100644 --- a/gtk/gui_prefs.c +++ b/gtk/gui_prefs.c @@ -1,7 +1,7 @@ /* gui_prefs.c * Dialog box for GUI preferences * - * $Id: gui_prefs.c,v 1.49 2004/01/01 13:16:40 ulfl Exp $ + * $Id: gui_prefs.c,v 1.50 2004/01/09 08:36:23 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -45,6 +45,7 @@ #include "dlg_utils.h" #include "proto_draw.h" #include "main.h" +#include "packet_list.h" #include "compat_macros.h" #include "toolbar.h" diff --git a/gtk/main.c b/gtk/main.c index ffbfd1fd08..bbd26618d3 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -1,6 +1,6 @@ /* main.c * - * $Id: main.c,v 1.350 2004/01/09 02:57:54 obiot Exp $ + * $Id: main.c,v 1.351 2004/01/09 08:36:23 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -113,14 +113,14 @@ #include "register.h" #include <prefs-int.h> #include "ringbuffer.h" +#include "../ui_util.h" #include "ui_util.h" #include "toolbar.h" -#include "image/clist_ascend.xpm" -#include "image/clist_descend.xpm" #include "../tap.h" #include "../util.h" #include "compat_macros.h" #include "find_dlg.h" +#include "packet_list.h" #ifdef WIN32 #include "capture-wpcap.h" @@ -134,8 +134,7 @@ typedef struct column_arrows { capture_file cfile; GtkWidget *main_display_filter_widget=NULL; -GtkWidget *top_level = NULL, *packet_list, *tree_view, *byte_nb_ptr, - *tv_scrollw, *pkt_scrollw; +GtkWidget *top_level = NULL, *tree_view, *byte_nb_ptr, *tv_scrollw; static GtkWidget *info_bar; #if GTK_MAJOR_VERSION < 2 GdkFont *m_r_font, *m_b_font; @@ -479,7 +478,7 @@ get_text_from_packet_list(gpointer data) { gint row = (gint)OBJECT_GET_DATA(data, E_MPACKET_LIST_ROW_KEY); gint column = (gint)OBJECT_GET_DATA(data, E_MPACKET_LIST_COL_KEY); - frame_data *fdata = (frame_data *)gtk_clist_get_row_data(GTK_CLIST(packet_list), row); + frame_data *fdata = (frame_data *)packet_list_get_row_data(row); epan_dissect_t *edt; gchar *buf=NULL; int len; @@ -830,84 +829,6 @@ filter_reset_cb(GtkWidget *w, gpointer data _U_) filter_packets(&cfile, NULL); } -/* GTKClist compare routine, overrides default to allow numeric comparison */ -static gint -packet_list_compare(GtkCList *clist, gconstpointer ptr1, gconstpointer ptr2) -{ - /* Get row text strings */ - char *text1 = GTK_CELL_TEXT (((const GtkCListRow *)ptr1)->cell[clist->sort_column])->text; - char *text2 = GTK_CELL_TEXT (((const GtkCListRow *)ptr2)->cell[clist->sort_column])->text; - - /* Attempt to convert to numbers */ - double num1 = atof(text1); - double num2 = atof(text2); - - gint col_fmt = cfile.cinfo.col_fmt[clist->sort_column]; - - if ((col_fmt == COL_NUMBER) || (col_fmt == COL_REL_TIME) || (col_fmt == COL_DELTA_TIME) || - ((col_fmt == COL_CLS_TIME) && (timestamp_type == RELATIVE)) || - ((col_fmt == COL_CLS_TIME) && (timestamp_type == DELTA)) || - (col_fmt == COL_UNRES_SRC_PORT) || (col_fmt == COL_UNRES_DST_PORT) || - ((num1 != 0) && (num2 != 0) && ((col_fmt == COL_DEF_SRC_PORT) || (col_fmt == COL_RES_SRC_PORT) || - (col_fmt == COL_DEF_DST_PORT) || (col_fmt == COL_RES_DST_PORT))) || - (col_fmt == COL_PACKET_LENGTH) || (col_fmt == COL_CULMULATIVE_BYTES)) { - - /* Compare numeric column */ - - if (num1 < num2) - return -1; - else if (num1 > num2) - return 1; - else - return 0; - } - - else { - - /* Compare text column */ - if (!text2) - return (text1 != NULL); - - if (!text1) - return -1; - - return strcmp(text1, text2); - } -} - -/* What to do when a column is clicked */ -static void -packet_list_click_column_cb(GtkCList *clist, gint column, gpointer data) -{ - column_arrows *col_arrows = (column_arrows *) data; - int i; - - gtk_clist_freeze(clist); - - for (i = 0; i < cfile.cinfo.num_cols; i++) { - gtk_widget_hide(col_arrows[i].ascend_pm); - gtk_widget_hide(col_arrows[i].descend_pm); - } - - if (column == clist->sort_column) { - if (clist->sort_type == GTK_SORT_ASCENDING) { - clist->sort_type = GTK_SORT_DESCENDING; - gtk_widget_show(col_arrows[column].descend_pm); - } else { - clist->sort_type = GTK_SORT_ASCENDING; - gtk_widget_show(col_arrows[column].ascend_pm); - } - } - else { - clist->sort_type = GTK_SORT_ASCENDING; - gtk_widget_show(col_arrows[column].ascend_pm); - gtk_clist_set_sort_column(clist, column); - } - gtk_clist_thaw(clist); - - gtk_clist_sort(clist); -} - /* mark as reference time frame */ static void set_frame_reftime(gboolean set, frame_data *frame, gint row) { @@ -921,79 +842,6 @@ set_frame_reftime(gboolean set, frame_data *frame, gint row) { reftime_packets(&cfile); } -/* mark packets */ -static void -set_frame_mark(gboolean set, frame_data *frame, gint row) { - GdkColor fg, bg; - - if (row == -1) - return; - if (set) { - mark_frame(&cfile, frame); - color_t_to_gdkcolor(&fg, &prefs.gui_marked_fg); - color_t_to_gdkcolor(&bg, &prefs.gui_marked_bg); - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg); - gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg); - } else { - color_filter_t *cfilter = frame->color_filter; - unmark_frame(&cfile, frame); - /* Restore the color from the matching color filter if any */ - if (cfilter) { /* The packet matches a color filter */ - color_t_to_gdkcolor(&fg, &cfilter->fg_color); - color_t_to_gdkcolor(&bg, &cfilter->bg_color); - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg); - gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg); - } else { /* No color filter match */ - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, NULL); - gtk_clist_set_background(GTK_CLIST(packet_list), row, NULL); - } - } - file_set_save_marked_sensitive(); -} - -#if GTK_MAJOR_VERSION < 2 -static void -packet_list_button_pressed_cb(GtkWidget *w, GdkEvent *event, gpointer data _U_) -{ - GdkEventButton *event_button = (GdkEventButton *)event; - gint row, column; - - if (w == NULL || event == NULL) - return; - - if (event->type == GDK_BUTTON_PRESS && event_button->button == 2 && - event_button->window == GTK_CLIST(w)->clist_window && - gtk_clist_get_selection_info(GTK_CLIST(w), - (gint) event_button->x, (gint) event_button->y, - &row, &column)) { - frame_data *fdata = (frame_data *) gtk_clist_get_row_data(GTK_CLIST(w), - row); - set_frame_mark(!fdata->flags.marked, fdata, row); - } -} -#else -static gint -packet_list_button_pressed_cb(GtkWidget *w, GdkEvent *event, gpointer data _U_) -{ - GdkEventButton *event_button = (GdkEventButton *)event; - gint row, column; - - if (w == NULL || event == NULL) - return FALSE; - - if (event->type == GDK_BUTTON_PRESS && event_button->button == 2 && - event_button->window == GTK_CLIST(w)->clist_window && - gtk_clist_get_selection_info(GTK_CLIST(w), (gint) event_button->x, - (gint) event_button->y, &row, &column)) { - frame_data *fdata = (frame_data *)gtk_clist_get_row_data(GTK_CLIST(w), - row); - set_frame_mark(!fdata->flags.marked, fdata, row); - return TRUE; - } - return FALSE; -} -#endif - /* 0: toggle ref time status for the selected frame * 1: find next ref time frame * 2: find previous reftime frame @@ -1008,8 +856,7 @@ reftime_frame_cb(GtkWidget *w _U_, gpointer data _U_, guint action) /* XXX hum, should better have a "cfile->current_row" here ... */ set_frame_reftime(!cfile.current_frame->flags.ref_time, cfile.current_frame, - gtk_clist_find_row_from_data(GTK_CLIST(packet_list), - cfile.current_frame)); + packet_list_find_row_from_data(cfile.current_frame)); } break; case 1: /* find next ref frame */ @@ -1021,67 +868,6 @@ reftime_frame_cb(GtkWidget *w _U_, gpointer data _U_, guint action) } } -void mark_frame_cb(GtkWidget *w _U_, gpointer data _U_) { - if (cfile.current_frame) { - /* XXX hum, should better have a "cfile->current_row" here ... */ - set_frame_mark(!cfile.current_frame->flags.marked, - cfile.current_frame, - gtk_clist_find_row_from_data(GTK_CLIST(packet_list), - cfile.current_frame)); - } -} - -static void mark_all_frames(gboolean set) { - frame_data *fdata; - - cfile.marked_count = 0; - for (fdata = cfile.plist; fdata != NULL; fdata = fdata->next) { - set_frame_mark(set, - fdata, - gtk_clist_find_row_from_data(GTK_CLIST(packet_list), fdata)); - } -} - -void update_marked_frames(void) { - frame_data *fdata; - if (cfile.plist == NULL) return; - for (fdata = cfile.plist; fdata != NULL; fdata = fdata->next) { - if (fdata->flags.marked) - set_frame_mark(TRUE, - fdata, - gtk_clist_find_row_from_data(GTK_CLIST(packet_list), - fdata)); - } -} - -void mark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) { - mark_all_frames(TRUE); -} - -void unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) { - mark_all_frames(FALSE); -} - -/* What to do when a list item is selected/unselected */ -static void -packet_list_select_cb(GtkWidget *w _U_, gint row, gint col _U_, gpointer evt _U_) { - -/* Remove the hex display tabbed pages */ - while( (gtk_notebook_get_nth_page( GTK_NOTEBOOK(byte_nb_ptr), 0))) - gtk_notebook_remove_page( GTK_NOTEBOOK(byte_nb_ptr), 0); - - select_packet(&cfile, row); - gtk_widget_grab_focus(packet_list); -} - - -static void -packet_list_unselect_cb(GtkWidget *w _U_, gint row _U_, gint col _U_, gpointer evt _U_) { - - unselect_packet(&cfile); -} - - #if GTK_MAJOR_VERSION < 2 static void tree_view_select_row_cb(GtkCTree *ctree, GList *node, gint column _U_, @@ -1244,86 +1030,6 @@ void resolve_name_cb(GtkWidget *widget _U_, gpointer data _U_) { } } -/* Set the selection mode of the packet list window. */ -void -set_plist_sel_browse(gboolean val) -{ - GtkSelectionMode new_mode; - /* initialize with a mode we don't use, so that the mode == new_mode - * test will fail the first time */ - static GtkSelectionMode mode = GTK_SELECTION_MULTIPLE; - - /* Yeah, GTK uses "browse" in the case where we do not, but oh well. I - * think "browse" in Ethereal makes more sense than "SINGLE" in GTK+ */ - new_mode = val ? GTK_SELECTION_SINGLE : GTK_SELECTION_BROWSE; - - if (mode == new_mode) { - /* - * The mode isn't changing, so don't do anything. - * In particular, don't gratuitiously unselect the - * current packet. - * - * XXX - why do we have to unselect the current packet - * ourselves? The documentation for the GtkCList at - * - * http://developer.gnome.org/doc/API/gtk/gtkclist.html - * - * says "Note that setting the widget's selection mode to - * one of GTK_SELECTION_BROWSE or GTK_SELECTION_SINGLE will - * cause all the items in the GtkCList to become deselected." - */ - return; - } - - if (cfile.finfo_selected) - unselect_packet(&cfile); - - mode = new_mode; - gtk_clist_set_selection_mode(GTK_CLIST(packet_list), mode); -} - -/* Set the font of the packet list window. */ -#if GTK_MAJOR_VERSION < 2 -void -set_plist_font(GdkFont *font) -#else -void -set_plist_font(PangoFontDescription *font) -#endif -{ - int i; - gint col_width; -#if GTK_MAJOR_VERSION < 2 - GtkStyle *style; - - style = gtk_style_new(); - gdk_font_unref(style->font); - style->font = font; - gdk_font_ref(font); - - gtk_widget_set_style(packet_list, style); -#else - PangoLayout *layout; - - gtk_widget_modify_font(packet_list, font); -#endif - - /* Compute default column sizes. */ - for (i = 0; i < cfile.cinfo.num_cols; i++) { -#if GTK_MAJOR_VERSION < 2 - col_width = gdk_string_width(font, - get_column_longest_string(get_column_format(i))); -#else - layout = gtk_widget_create_pango_layout(packet_list, - get_column_longest_string(get_column_format(i))); - pango_layout_get_pixel_size(layout, &col_width, NULL); - g_object_unref(G_OBJECT(layout)); -#endif - gtk_clist_set_column_width(GTK_CLIST(packet_list), i, - col_width); - } -} - /* * Push a message referring to file access onto the statusbar. */ @@ -3067,17 +2773,12 @@ static void create_main_window (gint pl_size, gint tv_size, gint bv_size, e_prefs *prefs) { GtkWidget *main_vbox, *menubar, *u_pane, *l_pane, - *stat_hbox, *column_lb, + *stat_hbox, *filter_bt, *filter_cm, *filter_te, *filter_apply, *filter_reset; GList *filter_list = NULL; GtkAccelGroup *accel; - GtkStyle *win_style; - GdkBitmap *ascend_bm, *descend_bm; - GdkPixmap *ascend_pm, *descend_pm; - column_arrows *col_arrows; - int i; /* Display filter construct dialog has an Apply button, and "OK" not only sets our text widget, it activates it (i.e., it causes us to filter the capture). */ @@ -3135,44 +2836,7 @@ create_main_window (gint pl_size, gint tv_size, gint bv_size, e_prefs *prefs) gtk_widget_show(u_pane); /* Packet list */ - pkt_scrollw = scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(pkt_scrollw), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_widget_show(pkt_scrollw); - gtk_paned_add1(GTK_PANED(u_pane), pkt_scrollw); - - packet_list = gtk_clist_new(cfile.cinfo.num_cols); - /* Column titles are filled in below */ - gtk_container_add(GTK_CONTAINER(pkt_scrollw), packet_list); - - col_arrows = (column_arrows *) g_malloc(sizeof(column_arrows) * - cfile.cinfo.num_cols); - - set_plist_sel_browse(prefs->gui_plist_sel_browse); - set_plist_font(m_r_font); - gtk_widget_set_name(packet_list, "packet list"); - SIGNAL_CONNECT(packet_list, "click-column", packet_list_click_column_cb, - col_arrows); - SIGNAL_CONNECT(packet_list, "select-row", packet_list_select_cb, NULL); - SIGNAL_CONNECT(packet_list, "unselect-row", packet_list_unselect_cb, NULL); - for (i = 0; i < cfile.cinfo.num_cols; i++) { - /* Columns do not automatically resize, but are resizeable by - the user. */ - gtk_clist_set_column_auto_resize(GTK_CLIST(packet_list), i, FALSE); - gtk_clist_set_column_resizeable(GTK_CLIST(packet_list), i, TRUE); - - /* Right-justify the packet number column. */ - if (cfile.cinfo.col_fmt[i] == COL_NUMBER) - gtk_clist_set_column_justification(GTK_CLIST(packet_list), i, - GTK_JUSTIFY_RIGHT); - } - WIDGET_SET_SIZE(packet_list, -1, pl_size); - SIGNAL_CONNECT(packet_list, "button_press_event", popup_menu_handler, - OBJECT_GET_DATA(popup_menu_object, PM_PACKET_LIST_KEY)); - SIGNAL_CONNECT(packet_list, "button_press_event", - packet_list_button_pressed_cb, NULL); - gtk_clist_set_compare_func(GTK_CLIST(packet_list), packet_list_compare); - gtk_widget_show(packet_list); + packet_list_new(u_pane, prefs, pl_size); /* Tree view */ #if GTK_MAJOR_VERSION < 2 @@ -3292,37 +2956,10 @@ create_main_window (gint pl_size, gint tv_size, gint bv_size, e_prefs *prefs) gtk_widget_show(top_level); /* Fill in column titles. This must be done after the top level window - is displayed. */ - win_style = gtk_widget_get_style(top_level); - ascend_pm = gdk_pixmap_create_from_xpm_d(top_level->window, &ascend_bm, - &win_style->bg[GTK_STATE_NORMAL], - (gchar **)clist_ascend_xpm); - descend_pm = gdk_pixmap_create_from_xpm_d(top_level->window, &descend_bm, - &win_style->bg[GTK_STATE_NORMAL], - (gchar **)clist_descend_xpm); - for (i = 0; i < cfile.cinfo.num_cols; i++) { - col_arrows[i].table = gtk_table_new(2, 2, FALSE); - gtk_table_set_col_spacings(GTK_TABLE(col_arrows[i].table), 5); - column_lb = gtk_label_new(cfile.cinfo.col_title[i]); - gtk_table_attach(GTK_TABLE(col_arrows[i].table), column_lb, 0, 1, 0, 2, - GTK_SHRINK, GTK_SHRINK, 0, 0); - gtk_widget_show(column_lb); - col_arrows[i].ascend_pm = gtk_pixmap_new(ascend_pm, ascend_bm); - gtk_table_attach(GTK_TABLE(col_arrows[i].table), - col_arrows[i].ascend_pm, - 1, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); - if (i == 0) { - gtk_widget_show(col_arrows[i].ascend_pm); - } - col_arrows[i].descend_pm = gtk_pixmap_new(descend_pm, descend_bm); - gtk_table_attach(GTK_TABLE(col_arrows[i].table), - col_arrows[i].descend_pm, - 1, 2, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); - gtk_clist_set_column_widget(GTK_CLIST(packet_list), i, - col_arrows[i].table); - gtk_widget_show(col_arrows[i].table); - } - gtk_clist_column_titles_show(GTK_CLIST(packet_list)); + is displayed. + + XXX - is that still true, with fixed-width columns? */ + packet_list_set_column_titles(); } diff --git a/gtk/main.h b/gtk/main.h index 8a96ecfe21..d4db4865f5 100644 --- a/gtk/main.h +++ b/gtk/main.h @@ -1,7 +1,7 @@ /* main.h * Global defines, etc. * - * $Id: main.h,v 1.34 2003/12/13 18:01:30 ulfl Exp $ + * $Id: main.h,v 1.35 2004/01/09 08:36:23 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -95,10 +95,6 @@ void expand_all_cb(GtkWidget *, gpointer); void collapse_all_cb(GtkWidget *, gpointer); void resolve_name_cb(GtkWidget *, gpointer); void reftime_frame_cb(GtkWidget *, gpointer, guint); -void mark_frame_cb(GtkWidget *, gpointer); -void mark_all_frames_cb(GtkWidget *w, gpointer); -void unmark_all_frames_cb(GtkWidget *w, gpointer); -void update_marked_frames(void); #define RECENT_KEY_CAPTURE_FILE "recent.capture_file" #define RECENT_KEY_DISPLAY_FILTER "recent.display_filter" diff --git a/gtk/menu.c b/gtk/menu.c index 4294868b6a..72c2e2dc8c 100644 --- a/gtk/menu.c +++ b/gtk/menu.c @@ -1,7 +1,7 @@ /* menu.c * Menu routines * - * $Id: menu.c,v 1.135 2004/01/06 22:38:07 guy Exp $ + * $Id: menu.c,v 1.136 2004/01/09 08:36:23 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -64,6 +64,8 @@ #include "../tap.h" #include "../menu.h" #include "../ipproto.h" +#include "packet_list.h" +#include "ethclist.h" GtkWidget *popup_menu_object; @@ -888,7 +890,6 @@ popup_menu_handler(GtkWidget *widget, GdkEvent *event, gpointer data) { GtkWidget *menu = NULL; GdkEventButton *event_button = NULL; - GtkCList *packet_list = NULL; gint row, column; if(widget == NULL || event == NULL || data == NULL) { @@ -897,18 +898,15 @@ popup_menu_handler(GtkWidget *widget, GdkEvent *event, gpointer data) /* * If we ever want to make the menu differ based on what row - * and/or column we're above, we'd use "gtk_clist_get_selection_info()" + * and/or column we're above, we'd use "eth_clist_get_selection_info()" * to find the row and column number for the coordinates; a CTree is, * I guess, like a CList with one column(?) and the expander widget * as a pixmap. */ /* Check if we are on packet_list object */ if (widget == OBJECT_GET_DATA(popup_menu_object, E_MPACKET_LIST_KEY)) { - packet_list=GTK_CLIST(widget); - if (gtk_clist_get_selection_info(GTK_CLIST(packet_list), - (gint) (((GdkEventButton *)event)->x), - (gint) (((GdkEventButton *)event)->y), - &row,&column)) { + if (packet_list_get_event_row_column(widget, (GdkEventButton *)event, + &row, &column)) { OBJECT_SET_DATA(popup_menu_object, E_MPACKET_LIST_ROW_KEY, GINT_TO_POINTER(row)); OBJECT_SET_DATA(popup_menu_object, E_MPACKET_LIST_COL_KEY, diff --git a/gtk/packet_list.c b/gtk/packet_list.c index 38efaf5aeb..012c9dca8b 100644 --- a/gtk/packet_list.c +++ b/gtk/packet_list.c @@ -1,7 +1,7 @@ /* packet_list.c * packet list related functions 2002 Olivier Abad * - * $Id: packet_list.c,v 1.7 2003/12/09 06:48:40 guy Exp $ + * $Id: packet_list.c,v 1.8 2004/01/09 08:36:23 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -28,31 +28,475 @@ #include <gtk/gtk.h> +#include "globals.h" #include "gtkglobals.h" #include "epan/epan.h" #include "color.h" #include "../ui_util.h" +#include "ui_util.h" +#include "menu.h" #include "color_utils.h" #include "column.h" #include "epan/column_info.h" #include "compat_macros.h" +#include "../prefs.h" +#include "file_dlg.h" +#include "packet_list.h" +#include "keys.h" + +#include "image/clist_ascend.xpm" +#include "image/clist_descend.xpm" + +/* + * XXX - gross hack. + * This lets us use GtkCList in GTK+ 1.3[.x] and later, and EthCList on + * GTK+ 1.2[.x], at least until we either use GTK+ 2.x's native widgets + * or make EthCList work on 1.3[.x] and 2.x. + */ +#if GTK_MAJOR_VERSION >= 2 || GTK_MINOR_VERSION >= 3 +#define EthCList GtkCList +#define EthCListRow GtkCListRow +#define eth_clist_append gtk_clist_append +#define eth_clist_clear gtk_clist_clear +#define eth_clist_column_titles_show gtk_clist_column_titles_show +#define eth_clist_find_row_from_data gtk_clist_find_row_from_data +#define eth_clist_freeze gtk_clist_freeze +#define eth_clist_get_row_data gtk_clist_get_row_data +#define eth_clist_get_selection_info gtk_clist_get_selection_info +#define eth_clist_moveto gtk_clist_moveto +#define eth_clist_new gtk_clist_new +#define eth_clist_row_is_visible gtk_clist_row_is_visible +#define eth_clist_select_row gtk_clist_select_row +#define eth_clist_set_background gtk_clist_set_background +#define eth_clist_set_column_auto_resize gtk_clist_set_column_auto_resize +#define eth_clist_set_column_justification gtk_clist_set_column_justification +#define eth_clist_set_column_resizeable gtk_clist_set_column_resizeable +#define eth_clist_set_column_width gtk_clist_set_column_width +#define eth_clist_set_column_widget gtk_clist_set_column_widget +#define eth_clist_set_compare_func gtk_clist_set_compare_func +#define eth_clist_set_foreground gtk_clist_set_foreground +#define eth_clist_set_row_data gtk_clist_set_row_data +#define eth_clist_set_selection_mode gtk_clist_set_selection_mode +#define eth_clist_set_sort_column gtk_clist_set_sort_column +#define eth_clist_set_text gtk_clist_set_text +#define eth_clist_sort gtk_clist_sort +#define eth_clist_thaw gtk_clist_thaw +#define ETH_CLIST GTK_CLIST +#else +#include "ethclist.h" +#endif + +typedef struct column_arrows { + GtkWidget *table; + GtkWidget *ascend_pm; + GtkWidget *descend_pm; +} column_arrows; + +GtkWidget *packet_list; + +/* GTKClist compare routine, overrides default to allow numeric comparison */ +static gint +packet_list_compare(EthCList *clist, gconstpointer ptr1, gconstpointer ptr2) +{ + /* Get row text strings */ + char *text1 = GTK_CELL_TEXT (((const EthCListRow *)ptr1)->cell[clist->sort_column])->text; + char *text2 = GTK_CELL_TEXT (((const EthCListRow *)ptr2)->cell[clist->sort_column])->text; + + /* Attempt to convert to numbers */ + double num1 = atof(text1); + double num2 = atof(text2); + + gint col_fmt = cfile.cinfo.col_fmt[clist->sort_column]; + + if ((col_fmt == COL_NUMBER) || (col_fmt == COL_REL_TIME) || (col_fmt == COL_DELTA_TIME) || + ((col_fmt == COL_CLS_TIME) && (timestamp_type == RELATIVE)) || + ((col_fmt == COL_CLS_TIME) && (timestamp_type == DELTA)) || + (col_fmt == COL_UNRES_SRC_PORT) || (col_fmt == COL_UNRES_DST_PORT) || + ((num1 != 0) && (num2 != 0) && ((col_fmt == COL_DEF_SRC_PORT) || (col_fmt == COL_RES_SRC_PORT) || + (col_fmt == COL_DEF_DST_PORT) || (col_fmt == COL_RES_DST_PORT))) || + (col_fmt == COL_PACKET_LENGTH) || (col_fmt == COL_CULMULATIVE_BYTES)) { + + /* Compare numeric column */ + + if (num1 < num2) + return -1; + else if (num1 > num2) + return 1; + else + return 0; + } + + else { + + /* Compare text column */ + if (!text2) + return (text1 != NULL); + + if (!text1) + return -1; + + return strcmp(text1, text2); + } +} + +/* What to do when a column is clicked */ +static void +packet_list_click_column_cb(EthCList *clist, gint column, gpointer data) +{ + column_arrows *col_arrows = (column_arrows *) data; + int i; + + eth_clist_freeze(clist); + + for (i = 0; i < cfile.cinfo.num_cols; i++) { + gtk_widget_hide(col_arrows[i].ascend_pm); + gtk_widget_hide(col_arrows[i].descend_pm); + } + + if (column == clist->sort_column) { + if (clist->sort_type == GTK_SORT_ASCENDING) { + clist->sort_type = GTK_SORT_DESCENDING; + gtk_widget_show(col_arrows[column].descend_pm); + } else { + clist->sort_type = GTK_SORT_ASCENDING; + gtk_widget_show(col_arrows[column].ascend_pm); + } + } + else { + clist->sort_type = GTK_SORT_ASCENDING; + gtk_widget_show(col_arrows[column].ascend_pm); + eth_clist_set_sort_column(clist, column); + } + eth_clist_thaw(clist); + + eth_clist_sort(clist); +} + +/* What to do when a list item is selected/unselected */ +static void +packet_list_select_cb(GtkWidget *w _U_, gint row, gint col _U_, gpointer evt _U_) { + +/* Remove the hex display tabbed pages */ + while( (gtk_notebook_get_nth_page( GTK_NOTEBOOK(byte_nb_ptr), 0))) + gtk_notebook_remove_page( GTK_NOTEBOOK(byte_nb_ptr), 0); + + select_packet(&cfile, row); + gtk_widget_grab_focus(packet_list); +} + +static void +packet_list_unselect_cb(GtkWidget *w _U_, gint row _U_, gint col _U_, gpointer evt _U_) { + + unselect_packet(&cfile); +} + +/* mark packets */ +static void +set_frame_mark(gboolean set, frame_data *frame, gint row) { + GdkColor fg, bg; + + if (row == -1) + return; + if (set) { + mark_frame(&cfile, frame); + color_t_to_gdkcolor(&fg, &prefs.gui_marked_fg); + color_t_to_gdkcolor(&bg, &prefs.gui_marked_bg); + eth_clist_set_foreground(ETH_CLIST(packet_list), row, &fg); + eth_clist_set_background(ETH_CLIST(packet_list), row, &bg); + } else { + color_filter_t *cfilter = frame->color_filter; + + unmark_frame(&cfile, frame); + /* Restore the color from the matching color filter if any */ + if (cfilter) { /* The packet matches a color filter */ + color_t_to_gdkcolor(&fg, &cfilter->fg_color); + color_t_to_gdkcolor(&bg, &cfilter->bg_color); + eth_clist_set_foreground(ETH_CLIST(packet_list), row, &fg); + eth_clist_set_background(ETH_CLIST(packet_list), row, &bg); + } else { /* No color filter match */ + eth_clist_set_foreground(ETH_CLIST(packet_list), row, NULL); + eth_clist_set_background(ETH_CLIST(packet_list), row, NULL); + } + } + file_set_save_marked_sensitive(); +} + +void mark_frame_cb(GtkWidget *w _U_, gpointer data _U_) { + if (cfile.current_frame) { + /* XXX hum, should better have a "cfile->current_row" here ... */ + set_frame_mark(!cfile.current_frame->flags.marked, + cfile.current_frame, + eth_clist_find_row_from_data(ETH_CLIST(packet_list), + cfile.current_frame)); + } +} + +static void mark_all_frames(gboolean set) { + frame_data *fdata; + + cfile.marked_count = 0; + for (fdata = cfile.plist; fdata != NULL; fdata = fdata->next) { + set_frame_mark(set, + fdata, + eth_clist_find_row_from_data(ETH_CLIST(packet_list), fdata)); + } +} + +void update_marked_frames(void) { + frame_data *fdata; + if (cfile.plist == NULL) return; + for (fdata = cfile.plist; fdata != NULL; fdata = fdata->next) { + if (fdata->flags.marked) + set_frame_mark(TRUE, + fdata, + eth_clist_find_row_from_data(ETH_CLIST(packet_list), + fdata)); + } +} + +void mark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) { + mark_all_frames(TRUE); +} + +void unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_) { + mark_all_frames(FALSE); +} + +gboolean +packet_list_get_event_row_column(GtkWidget *w, GdkEventButton *event_button, + gint *row, gint *column) +{ + return eth_clist_get_selection_info(ETH_CLIST(w), + (gint) event_button->x, (gint) event_button->y, + row, column); +} + +#if GTK_MAJOR_VERSION < 2 +static void +packet_list_button_pressed_cb(GtkWidget *w, GdkEvent *event, gpointer data _U_) +{ + GdkEventButton *event_button = (GdkEventButton *)event; + gint row, column; + + if (w == NULL || event == NULL) + return; + + if (event->type == GDK_BUTTON_PRESS && event_button->button == 2 && + event_button->window == ETH_CLIST(w)->clist_window && + packet_list_get_event_row_column(w, event_button, &row, &column)) { + frame_data *fdata = (frame_data *) eth_clist_get_row_data(ETH_CLIST(w), + row); + set_frame_mark(!fdata->flags.marked, fdata, row); + } +} +#else +static gint +packet_list_button_pressed_cb(GtkWidget *w, GdkEvent *event, gpointer data _U_) +{ + GdkEventButton *event_button = (GdkEventButton *)event; + gint row, column; + + if (w == NULL || event == NULL) + return FALSE; + + if (event->type == GDK_BUTTON_PRESS && event_button->button == 2 && + event_button->window == ETH_CLIST(w)->clist_window && + eth_clist_get_selection_info(ETH_CLIST(w), (gint) event_button->x, + (gint) event_button->y, &row, &column)) { + frame_data *fdata = (frame_data *)eth_clist_get_row_data(ETH_CLIST(w), + row); + set_frame_mark(!fdata->flags.marked, fdata, row); + return TRUE; + } + return FALSE; +} +#endif + +/* Set the selection mode of the packet list window. */ +void +set_plist_sel_browse(gboolean val) +{ + GtkSelectionMode new_mode; + /* initialize with a mode we don't use, so that the mode == new_mode + * test will fail the first time */ + static GtkSelectionMode mode = GTK_SELECTION_MULTIPLE; + + /* Yeah, GTK uses "browse" in the case where we do not, but oh well. I + * think "browse" in Ethereal makes more sense than "SINGLE" in GTK+ */ + new_mode = val ? GTK_SELECTION_SINGLE : GTK_SELECTION_BROWSE; + + if (mode == new_mode) { + /* + * The mode isn't changing, so don't do anything. + * In particular, don't gratuitiously unselect the + * current packet. + * + * XXX - why do we have to unselect the current packet + * ourselves? The documentation for the GtkCList at + * + * http://developer.gnome.org/doc/API/gtk/gtkclist.html + * + * says "Note that setting the widget's selection mode to + * one of GTK_SELECTION_BROWSE or GTK_SELECTION_SINGLE will + * cause all the items in the GtkCList to become deselected." + */ + return; + } + + if (cfile.finfo_selected) + unselect_packet(&cfile); + + mode = new_mode; + eth_clist_set_selection_mode(ETH_CLIST(packet_list), mode); +} + +/* Set the font of the packet list window. */ +#if GTK_MAJOR_VERSION < 2 +void +set_plist_font(GdkFont *font) +#else +void +set_plist_font(PangoFontDescription *font) +#endif +{ + int i; + gint col_width; +#if GTK_MAJOR_VERSION < 2 + GtkStyle *style; + + style = gtk_style_new(); + gdk_font_unref(style->font); + style->font = font; + gdk_font_ref(font); + + gtk_widget_set_style(packet_list, style); +#else + PangoLayout *layout; + + gtk_widget_modify_font(packet_list, font); +#endif + + /* Compute default column sizes. */ + for (i = 0; i < cfile.cinfo.num_cols; i++) { +#if GTK_MAJOR_VERSION < 2 + col_width = gdk_string_width(font, + get_column_longest_string(get_column_format(i))); +#else + layout = gtk_widget_create_pango_layout(packet_list, + get_column_longest_string(get_column_format(i))); + pango_layout_get_pixel_size(layout, &col_width, NULL); + g_object_unref(G_OBJECT(layout)); +#endif + eth_clist_set_column_width(ETH_CLIST(packet_list), i, + col_width); + } +} + +void +packet_list_new(GtkWidget *u_pane, e_prefs *prefs, gint pl_size) +{ + GtkWidget *pkt_scrollw; + int i; + + /* Packet list */ + pkt_scrollw = scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(pkt_scrollw), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_widget_show(pkt_scrollw); + gtk_paned_add1(GTK_PANED(u_pane), pkt_scrollw); + + packet_list = eth_clist_new(cfile.cinfo.num_cols); + /* Column titles are filled in below */ + gtk_container_add(GTK_CONTAINER(pkt_scrollw), packet_list); + + set_plist_sel_browse(prefs->gui_plist_sel_browse); + set_plist_font(m_r_font); + gtk_widget_set_name(packet_list, "packet list"); + SIGNAL_CONNECT(packet_list, "select-row", packet_list_select_cb, NULL); + SIGNAL_CONNECT(packet_list, "unselect-row", packet_list_unselect_cb, NULL); + for (i = 0; i < cfile.cinfo.num_cols; i++) { + /* Columns do not automatically resize, but are resizeable by + the user. */ + eth_clist_set_column_auto_resize(ETH_CLIST(packet_list), i, FALSE); + eth_clist_set_column_resizeable(ETH_CLIST(packet_list), i, TRUE); + + /* Right-justify the packet number column. */ + if (cfile.cinfo.col_fmt[i] == COL_NUMBER) + eth_clist_set_column_justification(ETH_CLIST(packet_list), i, + GTK_JUSTIFY_RIGHT); + } + WIDGET_SET_SIZE(packet_list, -1, pl_size); + SIGNAL_CONNECT(packet_list, "button_press_event", popup_menu_handler, + OBJECT_GET_DATA(popup_menu_object, PM_PACKET_LIST_KEY)); + SIGNAL_CONNECT(packet_list, "button_press_event", + packet_list_button_pressed_cb, NULL); + eth_clist_set_compare_func(ETH_CLIST(packet_list), packet_list_compare); + gtk_widget_show(packet_list); +} + +void +packet_list_set_column_titles(void) +{ + GtkStyle *win_style; + GdkPixmap *ascend_pm, *descend_pm; + GdkBitmap *ascend_bm, *descend_bm; + column_arrows *col_arrows; + int i; + GtkWidget *column_lb; + + win_style = gtk_widget_get_style(top_level); + ascend_pm = gdk_pixmap_create_from_xpm_d(top_level->window, &ascend_bm, + &win_style->bg[GTK_STATE_NORMAL], + (gchar **)clist_ascend_xpm); + descend_pm = gdk_pixmap_create_from_xpm_d(top_level->window, &descend_bm, + &win_style->bg[GTK_STATE_NORMAL], + (gchar **)clist_descend_xpm); + + col_arrows = (column_arrows *) g_malloc(sizeof(column_arrows) * + cfile.cinfo.num_cols); + for (i = 0; i < cfile.cinfo.num_cols; i++) { + col_arrows[i].table = gtk_table_new(2, 2, FALSE); + gtk_table_set_col_spacings(GTK_TABLE(col_arrows[i].table), 5); + column_lb = gtk_label_new(cfile.cinfo.col_title[i]); + gtk_table_attach(GTK_TABLE(col_arrows[i].table), column_lb, 0, 1, 0, 2, + GTK_SHRINK, GTK_SHRINK, 0, 0); + gtk_widget_show(column_lb); + col_arrows[i].ascend_pm = gtk_pixmap_new(ascend_pm, ascend_bm); + gtk_table_attach(GTK_TABLE(col_arrows[i].table), + col_arrows[i].ascend_pm, + 1, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); + if (i == 0) { + gtk_widget_show(col_arrows[i].ascend_pm); + } + col_arrows[i].descend_pm = gtk_pixmap_new(descend_pm, descend_bm); + gtk_table_attach(GTK_TABLE(col_arrows[i].table), + col_arrows[i].descend_pm, + 1, 2, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); + eth_clist_set_column_widget(ETH_CLIST(packet_list), i, + col_arrows[i].table); + gtk_widget_show(col_arrows[i].table); + } + eth_clist_column_titles_show(ETH_CLIST(packet_list)); + SIGNAL_CONNECT(packet_list, "click-column", packet_list_click_column_cb, + col_arrows); +} void packet_list_clear(void) { - gtk_clist_clear(GTK_CLIST(packet_list)); + eth_clist_clear(ETH_CLIST(packet_list)); } void packet_list_freeze(void) { - gtk_clist_freeze(GTK_CLIST(packet_list)); + eth_clist_freeze(ETH_CLIST(packet_list)); } void packet_list_thaw(void) { - gtk_clist_thaw(GTK_CLIST(packet_list)); + eth_clist_thaw(ETH_CLIST(packet_list)); } void @@ -64,8 +508,8 @@ packet_list_select_row(gint row) void packet_list_moveto_end(void) { - gtk_clist_moveto(GTK_CLIST(packet_list), - GTK_CLIST(packet_list)->rows - 1, -1, 1.0, 1.0); + eth_clist_moveto(ETH_CLIST(packet_list), + ETH_CLIST(packet_list)->rows - 1, -1, 1.0, 1.0); } gint @@ -73,8 +517,8 @@ packet_list_append(gchar *text[], gpointer data) { gint row; - row = gtk_clist_append(GTK_CLIST(packet_list), text); - gtk_clist_set_row_data(GTK_CLIST(packet_list), row, data); + row = eth_clist_append(ETH_CLIST(packet_list), text); + eth_clist_set_row_data(ETH_CLIST(packet_list), row, data); return row; } @@ -86,25 +530,25 @@ packet_list_set_colors(gint row, color_t *fg, color_t *bg) if (fg) { color_t_to_gdkcolor(&gdkfg, fg); - gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &gdkfg); + eth_clist_set_foreground(ETH_CLIST(packet_list), row, &gdkfg); } if (bg) { color_t_to_gdkcolor(&gdkbg, bg); - gtk_clist_set_background(GTK_CLIST(packet_list), row, &gdkbg); + eth_clist_set_background(ETH_CLIST(packet_list), row, &gdkbg); } } gint packet_list_find_row_from_data(gpointer data) { - return gtk_clist_find_row_from_data(GTK_CLIST(packet_list), data); + return eth_clist_find_row_from_data(ETH_CLIST(packet_list), data); } void packet_list_set_text(gint row, gint column, const gchar *text) { - gtk_clist_set_text(GTK_CLIST(packet_list), row, column, text); + eth_clist_set_text(ETH_CLIST(packet_list), row, column, text); } /* Set the column widths of those columns that show the time in @@ -127,13 +571,13 @@ packet_list_set_cls_time_width(gint column) pango_layout_get_pixel_size(layout, &width, NULL); g_object_unref(G_OBJECT(layout)); #endif - gtk_clist_set_column_width(GTK_CLIST(packet_list), column, width); + eth_clist_set_column_width(ETH_CLIST(packet_list), column, width); } gpointer packet_list_get_row_data(gint row) { - return gtk_clist_get_row_data(GTK_CLIST(packet_list), row); + return eth_clist_get_row_data(ETH_CLIST(packet_list), row); } /* Set the selected row and the focus row of the packet list to the specified @@ -141,23 +585,23 @@ packet_list_get_row_data(gint row) void packet_list_set_selected_row(gint row) { - if (gtk_clist_row_is_visible(GTK_CLIST(packet_list), row) != + if (eth_clist_row_is_visible(ETH_CLIST(packet_list), row) != GTK_VISIBILITY_FULL) - gtk_clist_moveto(GTK_CLIST(packet_list), row, -1, 0.0, 0.0); + eth_clist_moveto(ETH_CLIST(packet_list), row, -1, 0.0, 0.0); - /* XXX - why is there no "gtk_clist_set_focus_row()", so that we + /* XXX - why is there no "eth_clist_set_focus_row()", so that we * can make the row for the frame we found the focus row? * * See http://www.gnome.org/mailing-lists/archives/gtk-list/2000-January/0038.shtml */ - GTK_CLIST(packet_list)->focus_row = row; + ETH_CLIST(packet_list)->focus_row = row; - gtk_clist_select_row(GTK_CLIST(packet_list), row, -1); + eth_clist_select_row(ETH_CLIST(packet_list), row, -1); } /* Return the column number that the clist is currently sorted by */ gint packet_list_get_sort_column(void) { - return GTK_CLIST(packet_list)->sort_column; + return ETH_CLIST(packet_list)->sort_column; } diff --git a/gtk/packet_list.h b/gtk/packet_list.h new file mode 100644 index 0000000000..9ffb03df57 --- /dev/null +++ b/gtk/packet_list.h @@ -0,0 +1,47 @@ +/* packet_list.h + * Declarations of GTK+-specific routines for managing the packet list. + * + * $Id: packet_list.h,v 1.1 2004/01/09 08:36:23 guy Exp $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __PACKET_LIST_H__ +#define __PACKET_LIST_H__ + +extern void packet_list_new(GtkWidget *u_pane, e_prefs *prefs, gint pl_size); +extern void packet_list_set_column_titles(void); + +extern void mark_frame_cb(GtkWidget *, gpointer); +extern void mark_all_frames_cb(GtkWidget *w, gpointer); +extern void unmark_all_frames_cb(GtkWidget *w, gpointer); +extern void update_marked_frames(void); + +extern gboolean packet_list_get_event_row_column(GtkWidget *w, + GdkEventButton *event_button, gint *row, gint *column); + +#if GTK_MAJOR_VERSION < 2 +extern void set_plist_font(GdkFont *font); +#else +extern void set_plist_font(PangoFontDescription *font); +#endif + +extern void set_plist_sel_browse(gboolean); + +#endif /* __PACKET_LIST_H__ */ |