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);
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), "value_changed",
G_CALLBACK( hadjustment_value_changed),
(gpointer) clist);
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 (G_OBJECT (clist->vadjustment), "value_changed",
G_CALLBACK(vadjustment_value_changed),
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 (gtk_cmclist_parent_class)->finalize (object);
}
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++)
{
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
move_focus_row (clist, scroll_type, position);
if (old_focus_row != clist->focus_row)
- {
- if (clist->selection_mode == GTK_SELECTION_BROWSE)
- g_signal_emit (G_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
- old_focus_row, -1, NULL);
- else if (!GTK_CMCLIST_ADD_MODE(clist))
- {
- gtk_cmclist_unselect_all (clist);
- clist->undo_anchor = old_focus_row;
- }
- }
+ g_signal_emit (G_OBJECT (clist), clist_signals[UNSELECT_ROW], 0,
+ old_focus_row, -1, NULL);
switch (gtk_cmclist_row_is_visible (clist, clist->focus_row))
{