#include "claws-marshal.h"
#include "gtkcmclist.h"
#include <gdk/gdkkeysyms.h>
+#include "utils.h"
+#include "gtkutils.h"
/* length of button_actions array */
#define MAX_BUTTON 5
+/* the number rows memchunk expands at a time */
+#define CMCLIST_OPTIMUM_SIZE 64
+
/* the width of the column resize windows */
#define DRAG_WIDTH 6
GtkStyle **style,
GdkGC **fg_gc,
GdkGC **bg_gc);
-static gint draw_cell_pixmap (GdkWindow *window,
+static gint draw_cell_pixbuf (GdkWindow *window,
GdkRectangle *clip_rectangle,
GdkGC *fg_gc,
- GdkPixmap *pixmap,
- GdkBitmap *mask,
+ GdkPixbuf *pixbuf,
gint x,
gint y,
gint width,
GtkCMCellType type,
const gchar *text,
guint8 spacing,
- GdkPixmap *pixmap,
- GdkBitmap *mask);
+ GdkPixbuf *pixbuf);
static gint real_insert_row (GtkCMCList *clist,
gint row,
gchar *text[]);
widget_class = (GtkWidgetClass *) klass;
container_class = (GtkContainerClass *) klass;
- parent_class = gtk_type_class (GTK_TYPE_CONTAINER);
+ parent_class = g_type_class_peek (GTK_TYPE_CONTAINER);
object_class->finalize = gtk_cmclist_finalize;
gtk_object_class->destroy = gtk_cmclist_destroy;
g_value_set_boolean(value, TRUE);
for (i = 0; i < clist->columns; i++)
if (clist->column[i].button &&
- !GTK_WIDGET_SENSITIVE (clist->column[i].button))
+ !gtkut_widget_get_sensitive (clist->column[i].button))
{
g_value_set_boolean(value, FALSE);
break;
GTK_CMCLIST_SET_FLAG (clist, CMCLIST_DRAW_DRAG_LINE);
GTK_CMCLIST_SET_FLAG (clist, CMCLIST_USE_DRAG_ICONS);
+
+#if !GLIB_CHECK_VERSION(2,10,0)
+ clist->row_mem_chunk = NULL;
+ clist->cell_mem_chunk = NULL;
+#endif
+
clist->freeze_count = 0;
clist->rows = 0;
construct_properties);
GtkCMCList *clist = GTK_CMCLIST (object);
+#if !GLIB_CHECK_VERSION(2,10,0)
+ if (!clist->row_mem_chunk)
+ clist->row_mem_chunk = g_mem_chunk_new ("clist row mem chunk",
+ sizeof (GtkCMCListRow),
+ sizeof (GtkCMCListRow) *
+ CMCLIST_OPTIMUM_SIZE,
+ G_ALLOC_AND_FREE);
+
+ if (!clist->cell_mem_chunk)
+ clist->cell_mem_chunk = g_mem_chunk_new ("clist cell mem chunk",
+ sizeof (GtkCMCell) * clist->columns,
+ sizeof (GtkCMCell) * clist->columns *
+ CMCLIST_OPTIMUM_SIZE,
+ G_ALLOC_AND_FREE);
+#endif
+
/* allocate memory for columns */
clist->column = columns_new (clist);
{
GtkAdjustment *old_adjustment;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (adjustment)
- g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
+ cm_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
if (clist->hadjustment == adjustment)
return;
if (clist->hadjustment)
{
- g_signal_handlers_disconnect_matched(GTK_OBJECT (clist->hadjustment), G_SIGNAL_MATCH_DATA,
+ g_signal_handlers_disconnect_matched(G_OBJECT (clist->hadjustment), G_SIGNAL_MATCH_DATA,
0, 0, 0, 0, clist);
- g_object_unref (GTK_OBJECT (clist->hadjustment));
+ g_object_unref (G_OBJECT (clist->hadjustment));
}
clist->hadjustment = adjustment;
if (clist->hadjustment)
{
+#if GLIB_CHECK_VERSION(2,10,0)
g_object_ref_sink (clist->hadjustment);
-
+#else
+ gtk_object_ref (G_OBJECT (clist->hadjustment));
+ gtk_object_sink (G_OBJECT (clist->hadjustment));
+#endif
g_signal_connect (G_OBJECT (clist->hadjustment), "changed",
G_CALLBACK( hadjustment_changed),
(gpointer) clist);
GtkAdjustment *
gtk_cmclist_get_hadjustment (GtkCMCList *clist)
{
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
return clist->hadjustment;
}
{
GtkAdjustment *old_adjustment;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (adjustment)
- g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
+ cm_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
if (clist->vadjustment == adjustment)
return;
if (clist->vadjustment)
{
- g_signal_handlers_disconnect_matched(GTK_OBJECT (clist->vadjustment), G_SIGNAL_MATCH_DATA,
+ g_signal_handlers_disconnect_matched(G_OBJECT (clist->vadjustment), G_SIGNAL_MATCH_DATA,
0, 0, 0, 0, clist);
- g_object_unref (GTK_OBJECT (clist->vadjustment));
+ g_object_unref (G_OBJECT (clist->vadjustment));
}
clist->vadjustment = adjustment;
if (clist->vadjustment)
{
+#if GLIB_CHECK_VERSION(2,10,0)
g_object_ref_sink (clist->vadjustment);
+#else
+ gtk_object_ref (G_OBJECT (clist->vadjustment));
+ gtk_object_sink (G_OBJECT (clist->vadjustment));
+#endif
- g_signal_connect (GTK_OBJECT (clist->vadjustment), "changed",
+ g_signal_connect (G_OBJECT (clist->vadjustment), "changed",
G_CALLBACK(vadjustment_changed),
(gpointer) clist);
- g_signal_connect (GTK_OBJECT (clist->vadjustment), "value_changed",
+ g_signal_connect (G_OBJECT (clist->vadjustment), "value_changed",
G_CALLBACK(vadjustment_value_changed),
(gpointer) clist);
}
GtkAdjustment *
gtk_cmclist_get_vadjustment (GtkCMCList *clist)
{
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
return clist->vadjustment;
}
gtk_cmclist_set_shadow_type (GtkCMCList *clist,
GtkShadowType type)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
clist->shadow_type = type;
- if (GTK_WIDGET_VISIBLE (clist))
+ if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
gtk_widget_queue_resize (GTK_WIDGET (clist));
}
gtk_cmclist_set_selection_mode (GtkCMCList *clist,
GtkSelectionMode mode)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
- g_return_if_fail (mode != GTK_SELECTION_NONE);
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (mode != GTK_SELECTION_NONE);
if (mode == clist->selection_mode)
return;
void
gtk_cmclist_freeze (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
clist->freeze_count++;
}
void
gtk_cmclist_thaw (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist->freeze_count)
{
void
gtk_cmclist_column_titles_show (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (!GTK_CMCLIST_SHOW_TITLES(clist))
{
void
gtk_cmclist_column_titles_hide (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (GTK_CMCLIST_SHOW_TITLES(clist))
{
gtk_cmclist_column_title_active (GtkCMCList *clist,
gint column)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
clist->column[column].button_passive = FALSE;
- g_signal_handlers_disconnect_matched(GTK_OBJECT (clist->column[column].button), G_SIGNAL_MATCH_FUNC,
+ g_signal_handlers_disconnect_matched(G_OBJECT (clist->column[column].button), G_SIGNAL_MATCH_FUNC,
0, 0, 0, column_title_passive_func, 0);
GTK_WIDGET_SET_FLAGS (clist->column[column].button, GTK_CAN_FOCUS);
- if (GTK_WIDGET_VISIBLE (clist))
+ if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
gtk_widget_queue_draw (clist->column[column].button);
}
{
GtkButton *button;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
clist->column[column].button_passive = TRUE;
if (button->button_down)
- gtk_button_released (button);
+ g_signal_connect(G_OBJECT (clist->column[column].button),
+ "button-release-event",
+ G_CALLBACK(column_title_passive_func),
+ NULL);
if (button->in_button)
- gtk_button_leave (button);
+ g_signal_connect(G_OBJECT (clist->column[column].button),
+ "leave-notify-event",
+ G_CALLBACK(column_title_passive_func),
+ NULL);
g_signal_connect (G_OBJECT (clist->column[column].button), "event",
G_CALLBACK(column_title_passive_func), NULL);
GTK_WIDGET_UNSET_FLAGS (clist->column[column].button, GTK_CAN_FOCUS);
- if (GTK_WIDGET_VISIBLE (clist))
+ if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
gtk_widget_queue_draw (clist->column[column].button);
}
{
gint i;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
for (i = 0; i < clist->columns; i++)
gtk_cmclist_column_title_active (clist, i);
{
gint i;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
for (i = 0; i < clist->columns; i++)
gtk_cmclist_column_title_passive (clist, i);
GtkWidget *alignment = NULL;
GtkWidget *label;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
/* if this button didn't previously exist, then the
* column button positions have to be re-computed */
- if (GTK_WIDGET_VISIBLE (clist) && new_button)
+ if (gtkut_widget_get_visible (GTK_WIDGET(clist)) && new_button)
size_allocate_title_buttons (clist);
}
gtk_cmclist_get_column_title (GtkCMCList *clist,
gint column)
{
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
if (column < 0 || column >= clist->columns)
return NULL;
gint new_button = 0;
GtkWidget *old_widget;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
/* if this button didn't previously exist, then the
* column button positions have to be re-computed */
- if (GTK_WIDGET_VISIBLE (clist) && new_button)
+ if (gtkut_widget_get_visible (GTK_WIDGET(clist)) && new_button)
size_allocate_title_buttons (clist);
}
gtk_cmclist_get_column_widget (GtkCMCList *clist,
gint column)
{
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
if (column < 0 || column >= clist->columns)
return NULL;
{
GtkWidget *alignment;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
gint column,
gboolean visible)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
gint column,
gboolean resizeable)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
if (resizeable)
clist->column[column].auto_resize = FALSE;
- if (GTK_WIDGET_VISIBLE (clist))
+ if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
size_allocate_title_buttons (clist);
}
gint column,
gboolean auto_resize)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
}
}
- if (GTK_WIDGET_VISIBLE (clist))
+ if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
size_allocate_title_buttons (clist);
}
gint i;
gint width;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
gtk_cmclist_freeze (clist);
width = 0;
GList *list;
gint width;
- g_return_val_if_fail (GTK_CMCLIST (clist), 0);
+ cm_return_val_if_fail (GTK_CMCLIST (clist), 0);
if (column < 0 || column >= clist->columns)
return 0;
gint column,
gint width)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
- g_signal_emit (GTK_OBJECT (clist), clist_signals[RESIZE_COLUMN], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[RESIZE_COLUMN], 0,
column, width);
}
gint column,
gint min_width)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
gint column,
gint max_width)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
gint column,
gint width)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
static void
abort_column_resize (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (!GTK_CMCLIST_IN_DRAG(clist))
return;
gint last_button = 0;
gint i;
- if (!GTK_WIDGET_REALIZED (clist))
+ if (!gtkut_widget_get_realized (GTK_WIDGET(clist)))
return;
button_allocation.x = clist->hoffset;
gtk_widget_push_composite_child ();
button = clist->column[column].button = gtk_button_new ();
+ GtkRcStyle *style = gtk_rc_style_new();
+ style->ythickness = 0;
+ gtk_widget_modify_style(clist->column[column].button, style);
+ g_object_unref(style);
gtk_container_set_border_width(GTK_CONTAINER(button), 0);
gtk_widget_pop_composite_child ();
- if (GTK_WIDGET_REALIZED (clist) && clist->title_window)
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)) && clist->title_window)
gtk_widget_set_parent_window (clist->column[column].button,
clist->title_window);
gtk_widget_set_parent (button, GTK_WIDGET (clist));
- g_signal_connect (GTK_OBJECT (button), "clicked",
+ g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK(column_button_clicked),
(gpointer) clist);
gtk_widget_show (button);
gint i;
GtkCMCList *clist;
- g_return_if_fail (widget != NULL);
- g_return_if_fail (GTK_IS_CMCLIST (data));
+ cm_return_if_fail (widget != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (data));
clist = GTK_CMCLIST (data);
if (clist->column[i].button == widget)
break;
- g_signal_emit (GTK_OBJECT (clist), clist_signals[CLICK_COLUMN], 0, i);
+ g_signal_emit (G_OBJECT (clist), clist_signals[CLICK_COLUMN], 0, i);
}
static gint
GdkEvent *event,
gpointer data)
{
- g_return_val_if_fail (event != NULL, FALSE);
+ cm_return_val_if_fail (event != NULL, FALSE);
switch (event->type)
{
* gtk_cmclist_get_cell_type
* gtk_cmclist_set_text
* gtk_cmclist_get_text
- * gtk_cmclist_set_pixmap
- * gtk_cmclist_get_pixmap
+ * gtk_cmclist_set_pixbuf
+ * gtk_cmclist_get_pixbuf
* gtk_cmclist_set_pixtext
* gtk_cmclist_get_pixtext
* gtk_cmclist_set_shift
{
GtkCMCListRow *clist_row;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
if (row < 0 || row >= clist->rows)
return -1;
{
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
/* if text is null, then the cell is empty */
GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
- (clist, clist_row, column, GTK_CMCELL_TEXT, text, 0, NULL, NULL);
+ (clist, clist_row, column, GTK_CMCELL_TEXT, text, 0, NULL);
/* redraw the list if it's not frozen */
if (CLIST_UNFROZEN (clist))
{
GtkCMCListRow *clist_row;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
if (row < 0 || row >= clist->rows)
return 0;
}
void
-gtk_cmclist_set_pixmap (GtkCMCList *clist,
+gtk_cmclist_set_pixbuf (GtkCMCList *clist,
gint row,
gint column,
- GdkPixmap *pixmap,
- GdkBitmap *mask)
+ GdkPixbuf *pixbuf)
{
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
clist_row = ROW_ELEMENT (clist, row)->data;
- g_object_ref (pixmap);
-
- if (mask) g_object_ref (mask);
+ g_object_ref (pixbuf);
GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
- (clist, clist_row, column, GTK_CMCELL_PIXMAP, NULL, 0, pixmap, mask);
+ (clist, clist_row, column, GTK_CMCELL_PIXBUF, NULL, 0, pixbuf);
/* redraw the list if it's not frozen */
if (CLIST_UNFROZEN (clist))
}
gint
-gtk_cmclist_get_pixmap (GtkCMCList *clist,
+gtk_cmclist_get_pixbuf (GtkCMCList *clist,
gint row,
gint column,
- GdkPixmap **pixmap,
- GdkBitmap **mask)
+ GdkPixbuf **pixbuf)
{
GtkCMCListRow *clist_row;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
if (row < 0 || row >= clist->rows)
return 0;
clist_row = ROW_ELEMENT (clist, row)->data;
- if (clist_row->cell[column].type != GTK_CMCELL_PIXMAP)
+ if (clist_row->cell[column].type != GTK_CMCELL_PIXBUF)
return 0;
- if (pixmap)
+ if (pixbuf)
{
- *pixmap = GTK_CMCELL_PIXMAP (clist_row->cell[column])->pixmap;
- /* mask can be NULL */
- *mask = GTK_CMCELL_PIXMAP (clist_row->cell[column])->mask;
+ *pixbuf = GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf;
}
return 1;
gint column,
const gchar *text,
guint8 spacing,
- GdkPixmap *pixmap,
- GdkBitmap *mask)
+ GdkPixbuf *pixbuf)
{
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
clist_row = ROW_ELEMENT (clist, row)->data;
- g_object_ref (pixmap);
- if (mask) g_object_ref (mask);
+ g_object_ref (pixbuf);
GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
- (clist, clist_row, column, GTK_CMCELL_PIXTEXT, text, spacing, pixmap, mask);
+ (clist, clist_row, column, GTK_CMCELL_PIXTEXT, text, spacing, pixbuf);
/* redraw the list if it's not frozen */
if (CLIST_UNFROZEN (clist))
gint column,
gchar **text,
guint8 *spacing,
- GdkPixmap **pixmap,
- GdkBitmap **mask)
+ GdkPixbuf **pixbuf)
{
GtkCMCListRow *clist_row;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
if (row < 0 || row >= clist->rows)
return 0;
*text = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->text;
if (spacing)
*spacing = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->spacing;
- if (pixmap)
- *pixmap = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixmap;
-
- /* mask can be NULL */
- if (mask)
- *mask = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->mask;
+ if (pixbuf)
+ *pixbuf = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf;
return 1;
}
GtkRequisition requisition = { 0 };
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
GtkCMCellType type,
const gchar *text,
guint8 spacing,
- GdkPixmap *pixmap,
- GdkBitmap *mask)
+ GdkPixbuf *pixbuf)
{
GtkRequisition requisition;
gchar *old_text = NULL;
- GdkPixmap *old_pixmap = NULL;
- GdkBitmap *old_mask = NULL;
+ GdkPixbuf *old_pixbuf = NULL;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
- g_return_if_fail (clist_row != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (clist_row != NULL);
if (clist->column[column].auto_resize &&
!GTK_CMCLIST_AUTO_RESIZE_BLOCKED (clist))
case GTK_CMCELL_TEXT:
old_text = GTK_CMCELL_TEXT (clist_row->cell[column])->text;
break;
- case GTK_CMCELL_PIXMAP:
- old_pixmap = GTK_CMCELL_PIXMAP (clist_row->cell[column])->pixmap;
- old_mask = GTK_CMCELL_PIXMAP (clist_row->cell[column])->mask;
+ case GTK_CMCELL_PIXBUF:
+ old_pixbuf = GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf;
break;
case GTK_CMCELL_PIXTEXT:
old_text = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->text;
- old_pixmap = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixmap;
- old_mask = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->mask;
+ old_pixbuf = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf;
break;
case GTK_CMCELL_WIDGET:
/* unimplemented */
clist_row->cell[column].type = GTK_CMCELL_EMPTY;
- /* Note that pixmap and mask were already ref'ed by the caller
+ /* Note that pixbuf and mask were already ref'ed by the caller
*/
switch (type)
{
GTK_CMCELL_TEXT (clist_row->cell[column])->text = g_strdup (text);
}
break;
- case GTK_CMCELL_PIXMAP:
- if (pixmap)
+ case GTK_CMCELL_PIXBUF:
+ if (pixbuf)
{
- clist_row->cell[column].type = GTK_CMCELL_PIXMAP;
- GTK_CMCELL_PIXMAP (clist_row->cell[column])->pixmap = pixmap;
- /* We set the mask even if it is NULL */
- GTK_CMCELL_PIXMAP (clist_row->cell[column])->mask = mask;
+ clist_row->cell[column].type = GTK_CMCELL_PIXBUF;
+ GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf = pixbuf;
}
break;
case GTK_CMCELL_PIXTEXT:
- if (text && pixmap)
+ if (text && pixbuf)
{
clist_row->cell[column].type = GTK_CMCELL_PIXTEXT;
GTK_CMCELL_PIXTEXT (clist_row->cell[column])->text = g_strdup (text);
GTK_CMCELL_PIXTEXT (clist_row->cell[column])->spacing = spacing;
- GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixmap = pixmap;
- GTK_CMCELL_PIXTEXT (clist_row->cell[column])->mask = mask;
+ GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf = pixbuf;
}
break;
default:
column_auto_resize (clist, clist_row, column, requisition.width);
g_free (old_text);
- if (old_pixmap)
- g_object_unref (old_pixmap);
- if (old_mask)
- g_object_unref (old_mask);
+ if (old_pixbuf)
+ g_object_unref (old_pixbuf);
}
PangoLayout *
PangoLayout *layout;
PangoRectangle logical_rect;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
- g_return_if_fail (requisition != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (requisition != NULL);
layout = _gtk_cmclist_create_cell_layout (clist, clist_row, column);
if (layout)
switch (clist_row->cell[column].type)
{
case GTK_CMCELL_PIXTEXT:
- gdk_drawable_get_size (GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixmap,
- &width, &height);
+ width = gdk_pixbuf_get_width(GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf);
+ height = gdk_pixbuf_get_height(GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf);
requisition->width += width;
requisition->height = MAX (requisition->height, height);
break;
- case GTK_CMCELL_PIXMAP:
- gdk_drawable_get_size (GTK_CMCELL_PIXMAP (clist_row->cell[column])->pixmap,
- &width, &height);
+ case GTK_CMCELL_PIXBUF:
+ width = gdk_pixbuf_get_width(GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf);
+ height = gdk_pixbuf_get_height(GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf);
requisition->width += width;
requisition->height = MAX (requisition->height, height);
break;
gtk_cmclist_prepend (GtkCMCList *clist,
gchar *text[])
{
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
- g_return_val_if_fail (text != NULL, -1);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+ cm_return_val_if_fail (text != NULL, -1);
return GTK_CMCLIST_GET_CLASS (clist)->insert_row (clist, 0, text);
}
gtk_cmclist_append (GtkCMCList *clist,
gchar *text[])
{
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
- g_return_val_if_fail (text != NULL, -1);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+ cm_return_val_if_fail (text != NULL, -1);
return GTK_CMCLIST_GET_CLASS (clist)->insert_row (clist, clist->rows, text);
}
gint row,
gchar *text[])
{
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
- g_return_val_if_fail (text != NULL, -1);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+ cm_return_val_if_fail (text != NULL, -1);
if (row < 0 || row > clist->rows)
row = clist->rows;
void
gtk_cmclist_clear (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
GTK_CMCLIST_GET_CLASS (clist)->clear (clist);
}
gint i;
GtkCMCListRow *clist_row;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
- g_return_val_if_fail (text != NULL, -1);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+ cm_return_val_if_fail (text != NULL, -1);
/* return if out of bounds */
if (row < 0 || row > clist->rows)
for (i = 0; i < clist->columns; i++)
if (text[i])
GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
- (clist, clist_row, i, GTK_CMCELL_TEXT, text[i], 0, NULL ,NULL);
+ (clist, clist_row, i, GTK_CMCELL_TEXT, text[i], 0, NULL);
if (!clist->rows)
{
GList *list;
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
/* return if out of bounds */
if (row < 0 || row > (clist->rows - 1))
* list to reflect the deincrimented indexies of rows after the
* removal */
if (clist_row->state == GTK_STATE_SELECTED)
- g_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
row, -1, NULL);
sync_selection (clist, row, SYNC_REMOVE);
if (clist->selection_mode == GTK_SELECTION_BROWSE && !clist->selection &&
clist->focus_row >= 0)
- g_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[SELECT_ROW], 0,
clist->focus_row, -1, NULL);
/* toast the row */
GList *free_list;
gint i;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
/* free up the selection list */
g_list_free (clist->selection);
gint first, last;
gint d;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (GTK_CMCLIST_AUTO_SORT(clist))
return;
gfloat row_align,
gfloat col_align)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < -1 || row >= clist->rows)
return;
{
GtkWidget *widget;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
widget = GTK_WIDGET (clist);
gtk_cmclist_set_row_data_full (GtkCMCList *clist,
gint row,
gpointer data,
- GtkDestroyNotify destroy)
+ GDestroyNotify destroy)
{
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row > (clist->rows - 1))
return;
{
GtkCMCListRow *clist_row;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
if (row < 0 || row > (clist->rows - 1))
return NULL;
GList *list;
gint n;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
for (n = 0, list = clist->row_list; list; n++, list = list->next)
if (GTK_CMCLIST_ROW (list)->data == data)
{
gint first, last;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
- g_return_if_fail (row1 != row2);
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (row1 != row2);
if (GTK_CMCLIST_AUTO_SORT(clist))
return;
gint source_row,
gint dest_row)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (GTK_CMCLIST_AUTO_SORT(clist))
return;
source_row == dest_row)
return;
- g_signal_emit (GTK_OBJECT (clist), clist_signals[ROW_MOVE], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[ROW_MOVE], 0,
source_row, dest_row);
}
{
gint top;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
if (row < 0 || row >= clist->rows)
return GTK_VISIBILITY_NONE;
{
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
{
clist_row->foreground = *color;
clist_row->fg_set = TRUE;
- if (GTK_WIDGET_REALIZED (clist))
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (clist)),
&clist_row->foreground, TRUE, TRUE);
}
{
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
{
clist_row->background = *color;
clist_row->bg_set = TRUE;
- if (GTK_WIDGET_REALIZED (clist))
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (clist)),
&clist_row->background, TRUE, TRUE);
}
GtkRequisition requisition = { 0 };
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
if (clist_row->cell[column].style)
{
- if (GTK_WIDGET_REALIZED (clist))
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
gtk_style_detach (clist_row->cell[column].style);
g_object_unref (clist_row->cell[column].style);
}
{
g_object_ref (clist_row->cell[column].style);
- if (GTK_WIDGET_REALIZED (clist))
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
clist_row->cell[column].style =
gtk_style_attach (clist_row->cell[column].style,
clist->clist_window);
{
GtkCMCListRow *clist_row;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
if (row < 0 || row >= clist->rows || column < 0 || column >= clist->columns)
return NULL;
gint *old_width;
gint i;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
if (clist_row->style)
{
- if (GTK_WIDGET_REALIZED (clist))
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
gtk_style_detach (clist_row->style);
g_object_unref (clist_row->style);
}
{
g_object_ref (clist_row->style);
- if (GTK_WIDGET_REALIZED (clist))
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
clist_row->style = gtk_style_attach (clist_row->style,
clist->clist_window);
}
{
GtkCMCListRow *clist_row;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
if (row < 0 || row >= clist->rows)
return NULL;
{
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
remove_grab (clist);
GTK_CMCLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
}
- g_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
row, -1, NULL);
}
}
gtk_cmclist_get_selectable (GtkCMCList *clist,
gint row)
{
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), FALSE);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), FALSE);
if (row < 0 || row >= clist->rows)
return FALSE;
gint row,
gint column)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
if (column < -1 || column >= clist->columns)
return;
- g_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[SELECT_ROW], 0,
row, column, NULL);
}
gint row,
gint column)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row >= clist->rows)
return;
if (column < -1 || column >= clist->columns)
return;
- g_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
row, column, NULL);
}
void
gtk_cmclist_select_all (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
GTK_CMCLIST_GET_CLASS (clist)->select_all (clist);
}
void
gtk_cmclist_unselect_all (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
GTK_CMCLIST_GET_CLASS (clist)->unselect_all (clist);
}
void
gtk_cmclist_undo_selection (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist->selection_mode == GTK_SELECTION_MULTIPLE &&
(clist->undo_selection || clist->undo_unselection))
- g_signal_emit (GTK_OBJECT (clist), clist_signals[UNDO_SELECTION], 0);
+ g_signal_emit (G_OBJECT (clist), clist_signals[UNDO_SELECTION], 0);
}
/* PRIVATE SELECTION FUNCTIONS
if (clist_row->state == GTK_STATE_SELECTED)
{
- g_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
row, column, event);
return;
}
case GTK_SELECTION_BROWSE:
- g_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[SELECT_ROW], 0,
row, column, event);
break;
default:
static gboolean
clist_has_grab (GtkCMCList *clist)
{
- return (GTK_WIDGET_HAS_GRAB (clist) &&
+ return (gtkut_widget_has_grab (GTK_WIDGET(clist)) &&
gdk_display_pointer_is_grabbed (gtk_widget_get_display (GTK_WIDGET (clist))));
}
static void
toggle_focus_row (GtkCMCList *clist)
{
- g_return_if_fail (clist != 0);
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (clist != 0);
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist_has_grab (clist) ||
clist->focus_row < 0 || clist->focus_row >= clist->rows)
static void
toggle_add_mode (GtkCMCList *clist)
{
- g_return_if_fail (clist != 0);
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (clist != 0);
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist_has_grab (clist) ||
clist->selection_mode != GTK_SELECTION_MULTIPLE)
gint sel_row;
gboolean row_selected;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row > (clist->rows - 1))
return;
if (row == sel_row)
row_selected = TRUE;
else
- g_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
sel_row, column, event);
}
{
GtkCMCListRow *clist_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (row < 0 || row > (clist->rows - 1))
return;
static void
real_select_all (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist_has_grab (clist))
return;
GList *list;
gint i;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist_has_grab (clist))
return;
case GTK_SELECTION_BROWSE:
if (clist->focus_row >= 0)
{
- g_signal_emit (GTK_OBJECT (clist),
+ g_signal_emit (G_OBJECT (clist),
clist_signals[SELECT_ROW], 0,
clist->focus_row, -1, NULL);
return;
{
i = GPOINTER_TO_INT (list->data);
list = list->next;
- g_signal_emit (GTK_OBJECT (clist),
+ g_signal_emit (G_OBJECT (clist),
clist_signals[UNSELECT_ROW], 0, i, -1, NULL);
}
}
{
GList *work;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist_has_grab (clist) ||
clist->selection_mode != GTK_SELECTION_MULTIPLE)
}
for (work = clist->undo_selection; work; work = work->next)
- g_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[SELECT_ROW], 0,
GPOINTER_TO_INT (work->data), -1, NULL);
for (work = clist->undo_unselection; work; work = work->next)
{
/* g_print ("unselect %d\n",GPOINTER_TO_INT (work->data)); */
- g_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
GPOINTER_TO_INT (work->data), -1, NULL);
}
- if (GTK_WIDGET_HAS_FOCUS(clist) && clist->focus_row != clist->undo_anchor)
+ if (gtkut_widget_has_focus(GTK_WIDGET(clist)) && clist->focus_row != clist->undo_anchor)
{
gtk_cmclist_draw_focus (GTK_WIDGET (clist));
clist->focus_row = clist->undo_anchor;
gint anchor,
gint undo_anchor)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist->selection_mode != GTK_SELECTION_MULTIPLE || clist->anchor >= 0)
return;
if (clist_row->selectable)
{
clist_row->state = GTK_STATE_SELECTED;
- g_signal_emit (GTK_OBJECT (clist),
+ g_signal_emit (G_OBJECT (clist),
clist_signals[UNSELECT_ROW], 0,
row, -1, event);
clist->undo_selection = g_list_prepend
if (GTK_CMCLIST_ROW (list)->state == GTK_STATE_NORMAL)
{
GTK_CMCLIST_ROW (list)->state = GTK_STATE_SELECTED;
- g_signal_emit (GTK_OBJECT (clist),
+ g_signal_emit (G_OBJECT (clist),
clist_signals[UNSELECT_ROW], 0,
i, -1, event);
clist->undo_selection =
if (GTK_CMCLIST_ROW (list)->state == GTK_STATE_NORMAL)
{
GTK_CMCLIST_ROW (list)->state = GTK_STATE_SELECTED;
- g_signal_emit (GTK_OBJECT (clist),
+ g_signal_emit (G_OBJECT (clist),
clist_signals[UNSELECT_ROW], 0,
e, -1, event);
clist->undo_selection =
clist->undo_unselection = g_list_reverse (clist->undo_unselection);
for (list = clist->undo_unselection; list; list = list->next)
- g_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[SELECT_ROW], 0,
GPOINTER_TO_INT (list->data), -1, event);
clist->anchor = -1;
static void
start_selection (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist_has_grab (clist))
return;
static void
end_selection (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (gdk_display_pointer_is_grabbed (gtk_widget_get_display (GTK_WIDGET (clist))) &&
- GTK_WIDGET_HAS_FOCUS (clist))
+ gtkut_widget_has_focus (GTK_WIDGET(clist)))
return;
GTK_CMCLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
gfloat position,
gboolean auto_start_selection)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist_has_grab (clist) ||
clist->selection_mode != GTK_SELECTION_MULTIPLE)
gint i;
GtkCMCList *clist;
- g_return_if_fail (GTK_IS_CMCLIST (object));
+ cm_return_if_fail (GTK_IS_CMCLIST (object));
clist = GTK_CMCLIST (object);
/* unref adjustments */
if (clist->hadjustment)
{
- g_signal_handlers_disconnect_matched(GTK_OBJECT (clist->hadjustment), G_SIGNAL_MATCH_DATA,
+ g_signal_handlers_disconnect_matched(G_OBJECT (clist->hadjustment), G_SIGNAL_MATCH_DATA,
0, 0, 0, 0, clist);
- g_object_unref (GTK_OBJECT (clist->hadjustment));
+ g_object_unref (G_OBJECT (clist->hadjustment));
clist->hadjustment = NULL;
}
if (clist->vadjustment)
{
- g_signal_handlers_disconnect_matched(GTK_OBJECT (clist->vadjustment), G_SIGNAL_MATCH_DATA,
+ g_signal_handlers_disconnect_matched(G_OBJECT (clist->vadjustment), G_SIGNAL_MATCH_DATA,
0, 0, 0, 0, clist);
- g_object_unref (GTK_OBJECT (clist->vadjustment));
+ g_object_unref (G_OBJECT (clist->vadjustment));
clist->vadjustment = NULL;
}
{
GtkCMCList *clist;
- g_return_if_fail (GTK_IS_CMCLIST (object));
+ cm_return_if_fail (GTK_IS_CMCLIST (object));
clist = GTK_CMCLIST (object);
columns_delete (clist);
+#if !GLIB_CHECK_VERSION(2,10,0)
+ g_mem_chunk_destroy (clist->cell_mem_chunk);
+ g_mem_chunk_destroy (clist->row_mem_chunk);
+#endif
G_OBJECT_CLASS (parent_class)->finalize (object);
}
gint i;
gint j;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
clist = GTK_CMCLIST (widget);
gint i;
GtkCMCList *clist;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
clist = GTK_CMCLIST (widget);
/* freeze the list */
clist->freeze_count++;
- if (GTK_WIDGET_MAPPED (widget))
+ if (gtkut_widget_get_mapped (widget))
gtk_cmclist_unmap (widget);
GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);
/* detach optional row/cell styles */
- if (GTK_WIDGET_REALIZED (widget))
+ if (gtkut_widget_get_realized (widget))
{
GtkCMCListRow *clist_row;
GList *list;
gint i;
GtkCMCList *clist;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
clist = GTK_CMCLIST (widget);
- if (!GTK_WIDGET_MAPPED (widget))
+ if (!gtkut_widget_get_mapped (widget))
{
GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
for (i = 0; i < clist->columns; i++)
{
if (clist->column[i].button &&
- GTK_WIDGET_VISIBLE (clist->column[i].button) &&
- !GTK_WIDGET_MAPPED (clist->column[i].button))
+ gtkut_widget_get_visible (clist->column[i].button) &&
+ !gtkut_widget_get_mapped (clist->column[i].button))
gtk_widget_map (clist->column[i].button);
}
gint i;
GtkCMCList *clist;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
clist = GTK_CMCLIST (widget);
- if (GTK_WIDGET_MAPPED (widget))
+ if (gtkut_widget_get_mapped (widget))
{
GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);
/* unmap column buttons */
for (i = 0; i < clist->columns; i++)
if (clist->column[i].button &&
- GTK_WIDGET_MAPPED (clist->column[i].button))
+ gtkut_widget_get_mapped (clist->column[i].button))
gtk_widget_unmap (clist->column[i].button);
/* freeze the list */
{
GtkCMCList *clist;
- g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+ cm_return_val_if_fail (event != NULL, FALSE);
- if (GTK_WIDGET_DRAWABLE (widget))
+ if (gtkut_widget_is_drawable (widget))
{
clist = GTK_CMCLIST (widget);
for (i = 0; i < clist->columns; i++)
{
- if (clist->column[i].button)
+ if (clist->column[i].button) {
gtk_container_propagate_expose (GTK_CONTAINER (clist),
clist->column[i].button,
event);
+ }
}
}
}
{
GtkCMCList *clist;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
if (GTK_WIDGET_CLASS (parent_class)->style_set)
(*GTK_WIDGET_CLASS (parent_class)->style_set) (widget, previous_style);
clist = GTK_CMCLIST (widget);
- if (GTK_WIDGET_REALIZED (widget))
+ if (gtkut_widget_get_realized (widget))
{
gtk_style_set_background (widget->style, widget->window, widget->state);
gtk_style_set_background (widget->style, clist->title_window, GTK_STATE_NORMAL);
gint column;
gint button_actions;
- g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+ cm_return_val_if_fail (event != NULL, FALSE);
clist = GTK_CMCLIST (widget);
if (GTK_CMCLIST_ADD_MODE(clist))
{
GTK_CMCLIST_UNSET_FLAG (clist, CMCLIST_ADD_MODE);
- if (GTK_WIDGET_HAS_FOCUS(widget))
+ if (gtkut_widget_has_focus(widget))
{
gtk_cmclist_draw_focus (widget);
gdk_gc_set_line_attributes (clist->xor_gc, 1,
}
else if (row != clist->focus_row)
{
- if (GTK_WIDGET_HAS_FOCUS(widget))
+ if (gtkut_widget_has_focus(widget))
{
gtk_cmclist_draw_focus (widget);
clist->focus_row = row;
}
}
- if (!GTK_WIDGET_HAS_FOCUS(widget))
+ if (!gtkut_widget_has_focus(widget))
gtk_widget_grab_focus (widget);
if (button_actions & GTK_CMBUTTON_SELECTS)
case GTK_SELECTION_SINGLE:
if (event->type != GDK_BUTTON_PRESS)
{
- g_signal_emit (GTK_OBJECT (clist),
+ g_signal_emit (G_OBJECT (clist),
clist_signals[SELECT_ROW], 0,
row, column, event);
clist->anchor = -1;
clist->anchor = row;
break;
case GTK_SELECTION_BROWSE:
- g_signal_emit (GTK_OBJECT (clist),
+ g_signal_emit (G_OBJECT (clist),
clist_signals[SELECT_ROW], 0,
row, column, event);
break;
GTK_CMCLIST_GET_CLASS (clist)->resync_selection
(clist, (GdkEvent *) event);
}
- g_signal_emit (GTK_OBJECT (clist),
+ g_signal_emit (G_OBJECT (clist),
clist_signals[SELECT_ROW], 0,
row, column, event);
break;
g_signal_handlers_block_matched(G_OBJECT(clist), G_SIGNAL_MATCH_DATA,
0, 0, 0, 0, drag_data);
- if (!GTK_WIDGET_HAS_FOCUS(widget))
+ if (!gtkut_widget_has_focus(widget))
gtk_widget_grab_focus (widget);
clist->drag_pos = i;
GtkCMCList *clist;
gint button_actions;
- g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+ cm_return_val_if_fail (event != NULL, FALSE);
clist = GTK_CMCLIST (widget);
{
case GTK_SELECTION_MULTIPLE:
if (!(event->state & GDK_SHIFT_MASK) ||
- !GTK_WIDGET_CAN_FOCUS (widget) ||
+ !gtkut_widget_get_can_focus (widget) ||
event->x < 0 || event->x >= clist->clist_window_width ||
event->y < 0 || event->y >= clist->clist_window_height)
GTK_CMCLIST_GET_CLASS (clist)->resync_selection
gint new_width;
gint button_actions = 0;
- g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
clist = GTK_CMCLIST (widget);
if (!clist_has_grab (clist))
switch (clist->selection_mode)
{
case GTK_SELECTION_BROWSE:
- g_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[SELECT_ROW], 0,
clist->focus_row, -1, event);
break;
case GTK_SELECTION_MULTIPLE:
GtkCMCList *clist;
gint i;
gint font_height = 0;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
- g_return_if_fail (requisition != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (requisition != NULL);
clist = GTK_CMCLIST (widget);
&child_requisition);
clist->column_title_area.height =
MAX (clist->column_title_area.height,
- child_requisition.height - 2);
+ child_requisition.height);
}
- clist->column_title_area.height = font_height;
+ //clist->column_title_area.height = font_height;
}
requisition->width += (widget->style->xthickness +
GTK_CONTAINER (widget)->border_width) * 2;
GtkAllocation clist_allocation;
gint border_width;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
- g_return_if_fail (allocation != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (allocation != NULL);
clist = GTK_CMCLIST (widget);
widget->allocation = *allocation;
border_width = GTK_CONTAINER (widget)->border_width;
- if (GTK_WIDGET_REALIZED (widget))
+ if (gtkut_widget_get_realized (widget))
{
gdk_window_move_resize (widget->window,
allocation->x + border_width,
clist->clist_window_width = clist_allocation.width;
clist->clist_window_height = clist_allocation.height;
- if (GTK_WIDGET_REALIZED (widget))
+ if (gtkut_widget_get_realized (widget))
{
gdk_window_move_resize (clist->clist_window,
clist_allocation.x,
clist->column_title_area.y = widget->style->ythickness;
clist->column_title_area.width = clist_allocation.width;
- if (GTK_WIDGET_REALIZED (widget))
+ if (gtkut_widget_get_realized (widget))
{
gdk_window_move_resize (clist->title_window,
clist->column_title_area.x,
GtkCMCList *clist;
guint i;
- g_return_if_fail (GTK_IS_CMCLIST (container));
- g_return_if_fail (callback != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (container));
+ cm_return_if_fail (callback != NULL);
if (!include_internals)
return;
/* PRIVATE DRAWING FUNCTIONS
* get_cell_style
- * draw_cell_pixmap
+ * draw_cell_pixbuf
* draw_row
* draw_rows
* draw_xor_line
}
static gint
-draw_cell_pixmap (GdkWindow *window,
+draw_cell_pixbuf (GdkWindow *window,
GdkRectangle *clip_rectangle,
GdkGC *fg_gc,
- GdkPixmap *pixmap,
- GdkBitmap *mask,
+ GdkPixbuf *pixbuf,
gint x,
gint y,
gint width,
gint xsrc = 0;
gint ysrc = 0;
- if (mask)
- {
- gdk_gc_set_clip_mask (fg_gc, mask);
- gdk_gc_set_clip_origin (fg_gc, x, y);
- }
+ gdk_gc_set_clip_origin (fg_gc, x, y);
if (x < clip_rectangle->x)
{
if (y + height > clip_rectangle->y + clip_rectangle->height)
height = clip_rectangle->y + clip_rectangle->height - y;
- gdk_draw_drawable (window, fg_gc, pixmap, xsrc, ysrc, x, y, width, height);
+ gdk_draw_pixbuf (window, fg_gc, pixbuf, xsrc, ysrc, x, y, width, height, GDK_RGB_DITHER_NONE, 0, 0);
gdk_gc_set_clip_origin (fg_gc, 0, 0);
- if (mask)
- gdk_gc_set_clip_mask (fg_gc, NULL);
return x + MAX (width, 0);
}
gint state;
gint i;
- g_return_if_fail (clist != NULL);
+ cm_return_if_fail (clist != NULL);
/* bail now if we arn't drawable yet */
- if (!GTK_WIDGET_DRAWABLE (clist) || row < 0 || row >= clist->rows)
+ if (!gtkut_widget_is_drawable (GTK_WIDGET(clist)) || row < 0 || row >= clist->rows)
return;
widget = GTK_WIDGET (clist);
gint width;
gint height;
- gint pixmap_width;
+ gint pixbuf_width;
gint offset = 0;
if (!clist->column[i].visible)
else
width = 0;
- pixmap_width = 0;
+ pixbuf_width = 0;
+ height = 0;
offset = 0;
switch (clist_row->cell[i].type)
{
- case GTK_CMCELL_PIXMAP:
- gdk_drawable_get_size (GTK_CMCELL_PIXMAP (clist_row->cell[i])->pixmap,
- &pixmap_width, &height);
- width += pixmap_width;
+ case GTK_CMCELL_PIXBUF:
+ pixbuf_width = gdk_pixbuf_get_width(GTK_CMCELL_PIXBUF (clist_row->cell[i])->pixbuf);
+ height = gdk_pixbuf_get_height(GTK_CMCELL_PIXBUF (clist_row->cell[i])->pixbuf);
+ width += pixbuf_width;
break;
case GTK_CMCELL_PIXTEXT:
- gdk_drawable_get_size (GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixmap,
- &pixmap_width, &height);
- width += pixmap_width + GTK_CMCELL_PIXTEXT (clist_row->cell[i])->spacing;
+ pixbuf_width = gdk_pixbuf_get_width(GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixbuf);
+ height = gdk_pixbuf_get_height(GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixbuf);
+ width += pixbuf_width + GTK_CMCELL_PIXTEXT (clist_row->cell[i])->spacing;
break;
default:
break;
break;
};
- /* Draw Text and/or Pixmap */
+ /* Draw Text and/or Pixbuf */
switch (clist_row->cell[i].type)
{
- case GTK_CMCELL_PIXMAP:
- draw_cell_pixmap (clist->clist_window, &clip_rectangle, fg_gc,
- GTK_CMCELL_PIXMAP (clist_row->cell[i])->pixmap,
- GTK_CMCELL_PIXMAP (clist_row->cell[i])->mask,
+ case GTK_CMCELL_PIXBUF:
+ draw_cell_pixbuf (clist->clist_window, &clip_rectangle, fg_gc,
+ GTK_CMCELL_PIXBUF (clist_row->cell[i])->pixbuf,
offset,
clip_rectangle.y + clist_row->cell[i].vertical +
(clip_rectangle.height - height) / 2,
- pixmap_width, height);
+ pixbuf_width, height);
break;
case GTK_CMCELL_PIXTEXT:
offset =
- draw_cell_pixmap (clist->clist_window, &clip_rectangle, fg_gc,
- GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixmap,
- GTK_CMCELL_PIXTEXT (clist_row->cell[i])->mask,
+ draw_cell_pixbuf (clist->clist_window, &clip_rectangle, fg_gc,
+ GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixbuf,
offset,
clip_rectangle.y + clist_row->cell[i].vertical+
(clip_rectangle.height - height) / 2,
- pixmap_width, height);
+ pixbuf_width, height);
offset += GTK_CMCELL_PIXTEXT (clist_row->cell[i])->spacing;
/* Fall through */
/* draw focus rectangle */
if (clist->focus_row == row &&
- GTK_WIDGET_CAN_FOCUS (widget) && GTK_WIDGET_HAS_FOCUS(widget))
+ gtkut_widget_get_can_focus (widget) && gtkut_widget_has_focus(widget))
{
if (!area)
gdk_draw_rectangle (clist->clist_window, clist->xor_gc, FALSE,
gint first_row;
gint last_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist->row_height == 0 ||
- !GTK_WIDGET_DRAWABLE (clist))
+ !gtkut_widget_is_drawable (GTK_WIDGET(clist)))
return;
if (area)
i++;
}
- if (!area)
- gdk_window_clear_area (clist->clist_window, 0,
- ROW_TOP_YPIXEL (clist, i), 0, 0);
+ if (!area) {
+ int w, h, y;
+ gdk_drawable_get_size (GDK_DRAWABLE (clist->clist_window), &w, &h);
+ y = ROW_TOP_YPIXEL (clist, i);
+ gdk_window_clear_area (clist->clist_window,
+ 0, y,
+ w, h - y);
+ }
}
static void
{
GtkWidget *widget;
- g_return_if_fail (clist != NULL);
+ cm_return_if_fail (clist != NULL);
widget = GTK_WIDGET (clist);
static void
clist_refresh (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (CLIST_UNFROZEN (clist))
{
{
gint trow, tcol;
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
/* bounds checking, return false if the user clicked
* on a blank area */
gint *row,
gint *column)
{
- g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
return get_selection_info (clist, x, y, row, column);
}
{
clist->vadjustment->value = MAX (0, (LIST_HEIGHT (clist) -
clist->clist_window_height));
- g_signal_emit_by_name (GTK_OBJECT (clist->vadjustment),
+ g_signal_emit_by_name (G_OBJECT (clist->vadjustment),
"value_changed");
}
- g_signal_emit_by_name (GTK_OBJECT (clist->vadjustment), "changed");
+ g_signal_emit_by_name (G_OBJECT (clist->vadjustment), "changed");
}
if (clist->hadjustment)
{
clist->hadjustment->value = MAX (0, (LIST_WIDTH (clist) -
clist->clist_window_width));
- g_signal_emit_by_name (GTK_OBJECT (clist->hadjustment),
+ g_signal_emit_by_name (G_OBJECT (clist->hadjustment),
"value_changed");
}
- g_signal_emit_by_name (GTK_OBJECT (clist->hadjustment), "changed");
+ g_signal_emit_by_name (G_OBJECT (clist->hadjustment), "changed");
}
if (!block_resize && (!clist->vadjustment || !clist->hadjustment))
{
GtkCMCList *clist;
- g_return_if_fail (adjustment != NULL);
- g_return_if_fail (data != NULL);
+ cm_return_if_fail (adjustment != NULL);
+ cm_return_if_fail (data != NULL);
clist = GTK_CMCLIST (data);
}
{
GtkCMCList *clist;
- g_return_if_fail (adjustment != NULL);
- g_return_if_fail (data != NULL);
+ cm_return_if_fail (adjustment != NULL);
+ cm_return_if_fail (data != NULL);
clist = GTK_CMCLIST (data);
}
GtkCMCList *clist;
gint dy, value;
- g_return_if_fail (adjustment != NULL);
- g_return_if_fail (GTK_IS_CMCLIST (data));
+ cm_return_if_fail (adjustment != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (data));
clist = GTK_CMCLIST (data);
dy = value - clist->voffset;
clist->voffset = value;
- if (GTK_WIDGET_DRAWABLE (clist))
+ if (gtkut_widget_is_drawable (GTK_WIDGET(clist)))
{
gdk_window_scroll (clist->clist_window, 0, dy);
gdk_window_process_updates (clist->clist_window, FALSE);
/* The window to which widget->window is relative */
#define ALLOCATION_WINDOW(widget) \
- (GTK_WIDGET_NO_WINDOW (widget) ? \
+ (!gtkut_widget_get_has_window (widget) ? \
(widget)->window : \
gdk_window_get_parent ((widget)->window))
{
ScrollData *scroll_data = data;
- if (!GTK_WIDGET_REALIZED (widget))
+ if (!gtkut_widget_get_realized (widget))
{
- if (GTK_WIDGET_VISIBLE (widget))
+ if (gtkut_widget_get_visible (widget))
{
GdkRectangle tmp_rectangle = widget->allocation;
tmp_rectangle.x += scroll_data->dx;
{
ScrollData scroll_data;
- if (GTK_WIDGET_REALIZED (widget))
+ if (gtkut_widget_get_realized (widget))
scroll_data.window = ALLOCATION_WINDOW (widget);
else
scroll_data.window = NULL;
gint value;
gint dx;
- g_return_if_fail (adjustment != NULL);
- g_return_if_fail (GTK_IS_CMCLIST (data));
+ cm_return_if_fail (adjustment != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (data));
clist = GTK_CMCLIST (data);
container = GTK_CONTAINER (data);
dx = -value - clist->hoffset;
- if (GTK_WIDGET_REALIZED (clist))
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
gdk_window_scroll (clist->title_window, dx, 0);
/* adjust the column button's allocations */
clist->hoffset = -value;
- if (GTK_WIDGET_DRAWABLE (clist))
+ if (gtkut_widget_is_drawable (GTK_WIDGET(clist)))
{
- if (GTK_WIDGET_CAN_FOCUS(clist) && GTK_WIDGET_HAS_FOCUS(clist) &&
+ if (gtkut_widget_get_can_focus(GTK_WIDGET(clist)) &&
+ gtkut_widget_has_focus(GTK_WIDGET(clist)) &&
!container->focus_child && GTK_CMCLIST_ADD_MODE(clist))
{
y = ROW_TOP_YPIXEL (clist, clist->focus_row);
gdk_window_scroll (clist->clist_window, dx, 0);
gdk_window_process_updates (clist->clist_window, FALSE);
- if (GTK_WIDGET_CAN_FOCUS(clist) && GTK_WIDGET_HAS_FOCUS(clist) &&
+ if (gtkut_widget_get_can_focus(GTK_WIDGET(clist)) &&
+ gtkut_widget_has_focus(GTK_WIDGET(clist)) &&
!container->focus_child)
{
if (GTK_CMCLIST_ADD_MODE(clist))
int i;
GtkCMCListRow *clist_row;
+#if GLIB_CHECK_VERSION(2,10,0)
clist_row = g_slice_new (GtkCMCListRow);
clist_row->cell = g_slice_alloc (sizeof (GtkCMCell) * clist->columns);
+#else
+ clist_row = g_chunk_new (GtkCMCListRow, (GMemChunk *)clist->row_mem_chunk);
+ clist_row->cell = g_chunk_new (GtkCMCell, (GMemChunk *)clist->cell_mem_chunk);
+#endif
for (i = 0; i < clist->columns; i++)
{
for (i = 0; i < clist->columns; i++)
{
GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
- (clist, clist_row, i, GTK_CMCELL_EMPTY, NULL, 0, NULL, NULL);
+ (clist, clist_row, i, GTK_CMCELL_EMPTY, NULL, 0, NULL);
if (clist_row->cell[i].style)
{
- if (GTK_WIDGET_REALIZED (clist))
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
gtk_style_detach (clist_row->cell[i].style);
g_object_unref (clist_row->cell[i].style);
}
if (clist_row->style)
{
- if (GTK_WIDGET_REALIZED (clist))
+ if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
gtk_style_detach (clist_row->style);
g_object_unref (clist_row->style);
}
if (clist_row->destroy)
clist_row->destroy (clist_row->data);
+#if GLIB_CHECK_VERSION(2,10,0)
g_slice_free1 (sizeof (GtkCMCell) * clist->columns, clist_row->cell);
g_slice_free (GtkCMCListRow, clist_row);
+#else
+ g_mem_chunk_free ((GMemChunk *)clist->cell_mem_chunk, clist_row->cell);
+ g_mem_chunk_free ((GMemChunk *)clist->row_mem_chunk, clist_row);
+#endif
}
/* FOCUS FUNCTIONS
if ((clist->selection_mode == GTK_SELECTION_BROWSE ||
clist->selection_mode == GTK_SELECTION_MULTIPLE) &&
!clist->selection)
- g_signal_emit (GTK_OBJECT (clist),
+ g_signal_emit (G_OBJECT (clist),
clist_signals[SELECT_ROW], 0,
clist->focus_row, -1, NULL);
}
GtkWidget *focus_child;
gboolean is_current_focus;
- if (!GTK_WIDGET_IS_SENSITIVE (widget))
+ if (!gtkut_widget_is_sensitive (widget))
return FALSE;
focus_child = GTK_CONTAINER (widget)->focus_child;
{
GtkCMCList *clist;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
- if (!GTK_WIDGET_DRAWABLE (widget) || !GTK_WIDGET_CAN_FOCUS (widget))
+ if (!gtkut_widget_is_drawable (widget) || !gtkut_widget_get_can_focus (widget))
return;
clist = GTK_CMCLIST (widget);
list = g_list_nth (clist->row_list, clist->focus_row);
if (list && GTK_CMCLIST_ROW (list)->selectable)
- g_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[SELECT_ROW], 0,
clist->focus_row, -1, event);
else
gtk_cmclist_draw_focus (widget);
{
return TRUE;
}
- else if (GTK_WIDGET_CAN_FOCUS (child))
+ else if (gtkut_widget_get_can_focus (child))
{
gtk_widget_grab_focus (child);
return TRUE;
while (!return_val && j >= 0 && j < clist->columns)
{
if (clist->column[j].button &&
- GTK_WIDGET_VISIBLE (clist->column[j].button))
+ gtkut_widget_get_visible (clist->column[j].button))
{
if (focus_column (clist, j, dir))
{
while (!return_val && j != i)
{
if (clist->column[j].button &&
- GTK_WIDGET_VISIBLE (clist->column[j].button))
+ gtkut_widget_get_visible (clist->column[j].button))
{
if (focus_column (clist, j, dir))
{
{
GtkWidget *widget;
- g_return_if_fail (clist != 0);
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (clist != 0);
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
widget = GTK_WIDGET (clist);
gint column = 0;
gint last_column;
- g_return_if_fail (clist != 0);
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (clist != 0);
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist_has_grab (clist))
return;
{
gint old_focus_row;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist_has_grab (clist))
return;
if (old_focus_row != clist->focus_row)
{
if (clist->selection_mode == GTK_SELECTION_BROWSE)
- g_signal_emit (GTK_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
old_focus_row, -1, NULL);
else if (!GTK_CMCLIST_ADD_MODE(clist))
{
if (old_focus_row != clist->focus_row &&
!(clist->selection_mode == GTK_SELECTION_MULTIPLE &&
GTK_CMCLIST_ADD_MODE(clist)))
- g_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[SELECT_ROW], 0,
clist->focus_row, -1, NULL);
switch (scroll_type)
{
if (old_focus_row != clist->focus_row &&
!(clist->selection_mode == GTK_SELECTION_MULTIPLE &&
GTK_CMCLIST_ADD_MODE(clist)))
- g_signal_emit (GTK_OBJECT (clist), clist_signals[SELECT_ROW], 0,
+ g_signal_emit (G_OBJECT (clist), clist_signals[SELECT_ROW], 0,
clist->focus_row, -1, NULL);
break;
}
{
GtkWidget *widget = GTK_WIDGET (clist);
- if (GTK_WIDGET_HAS_GRAB (clist))
+ if (gtkut_widget_has_grab (widget))
{
GdkDisplay *display = gtk_widget_get_display (widget);
void
gtk_cmclist_sort (GtkCMCList *clist)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
GTK_CMCLIST_GET_CLASS (clist)->sort_list (clist);
}
gtk_cmclist_set_compare_func (GtkCMCList *clist,
GtkCMCListCompareFunc cmp_func)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
clist->compare = (cmp_func) ? cmp_func : default_compare;
}
gtk_cmclist_set_auto_sort (GtkCMCList *clist,
gboolean auto_sort)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (GTK_CMCLIST_AUTO_SORT(clist) && !auto_sort)
GTK_CMCLIST_UNSET_FLAG (clist, CMCLIST_AUTO_SORT);
gtk_cmclist_set_sort_type (GtkCMCList *clist,
GtkSortType sort_type)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
clist->sort_type = sort_type;
}
gtk_cmclist_set_sort_column (GtkCMCList *clist,
gint column)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (column < 0 || column >= clist->columns)
return;
GList *work;
gint i;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (clist->rows <= 1)
return;
GtkCMCList *clist;
GtkCMCListCellInfo *info;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
- g_return_if_fail (context != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (context != NULL);
clist = GTK_CMCLIST (widget);
{
GtkCMCList *clist;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
- g_return_if_fail (context != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (context != NULL);
clist = GTK_CMCLIST (widget);
GtkCMCList *clist;
GtkCMCListDestInfo *dest_info;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
- g_return_if_fail (context != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (context != NULL);
clist = GTK_CMCLIST (widget);
GtkCMCListDestInfo new_info;
GtkCMCListDestInfo *dest_info;
- g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
clist = GTK_CMCLIST (widget);
gint y,
guint time)
{
- g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
- g_return_val_if_fail (context != NULL, FALSE);
+ cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+ cm_return_val_if_fail (context != NULL, FALSE);
if (GTK_CMCLIST_REORDERABLE (widget) &&
gtk_drag_get_source_widget (context) == widget)
{
GtkCMCList *clist;
- g_return_if_fail (GTK_IS_CMCLIST (widget));
- g_return_if_fail (context != NULL);
- g_return_if_fail (selection_data != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (context != NULL);
+ cm_return_if_fail (selection_data != NULL);
clist = GTK_CMCLIST (widget);
guint info,
guint time)
{
- g_return_if_fail (GTK_IS_CMCLIST (widget));
- g_return_if_fail (context != NULL);
- g_return_if_fail (selection_data != NULL);
+ cm_return_if_fail (GTK_IS_CMCLIST (widget));
+ cm_return_if_fail (context != NULL);
+ cm_return_if_fail (selection_data != NULL);
if (selection_data->target == gdk_atom_intern_static_string ("gtk-clist-drag-reorder"))
{
{
GtkWidget *widget;
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if ((GTK_CMCLIST_REORDERABLE(clist) != 0) == reorderable)
return;
gtk_cmclist_set_use_drag_icons (GtkCMCList *clist,
gboolean use_icons)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (use_icons != 0)
GTK_CMCLIST_SET_FLAG (clist, CMCLIST_USE_DRAG_ICONS);
guint button,
guint8 button_actions)
{
- g_return_if_fail (GTK_IS_CMCLIST (clist));
+ cm_return_if_fail (GTK_IS_CMCLIST (clist));
if (button < MAX_BUTTON)
{
if (gdk_display_pointer_is_grabbed (gtk_widget_get_display (GTK_WIDGET (clist))) ||
- GTK_WIDGET_HAS_GRAB (clist))
+ gtkut_widget_has_grab (GTK_WIDGET(clist)))
{
remove_grab (clist);
clist->drag_button = 0;