Reference

Gtk_CList(3)

NAME - Gtk_CList

Multi-column list widget designed to handle very much data without performance problems

HEADER REQUIRED

#include <gtk--/clist.h&gt;>

BASE CLASSES

Gtk_Container(3)

DERIVED BY

Gtk_CTree(3)

PROPERTIES

flags

Type: guint16

row_mem_chunk

Type: GMemChunk*

mem chunks

cell_mem_chunk

Type: GMemChunk*

freeze_count

Type: guint

internal_allocation

Type: GdkRectangle

allocation rectangle after the conatiner_border_width * and the width of the shadow border

rows

Type: gint

rows

row_center_offset

Type: gint

row_height

Type: gint

row_list

Type: GList*

row_list_end

Type: GList*

columns

Type: gint

columns

column_title_area

Type: GdkRectangle

title_window

Type: GdkWindow*

column

Type: GtkCListColumn*

dynamicly allocated array of column structures

clist_window

Type: GdkWindow*

the scrolling window and it's height and width to * make things a little speedier

clist_window_width

Type: gint

clist_window_height

Type: gint

hoffset

Type: gint

offsets for scrolling

voffset

Type: gint

shadow_type

Type: GtkShadowType

border shadow style

selection_mode

Type: GtkSelectionMode

the list's selection mode (gtkenums.h)

selection

Type: GList*

list of selected rows

selection_end

Type: GList*

undo_selection

Type: GList*

undo_unselection

Type: GList*

undo_anchor

Type: gint

button_actions

mouse buttons

drag_button

Type: guint8

click_cell

Type: GtkCListCellInfo

dnd

hadjustment

Type: GtkAdjustment*

scroll adjustments

vadjustment

Type: GtkAdjustment*

xor_gc

Type: GdkGC*

xor GC for the vertical drag line

fg_gc

Type: GdkGC*

gc for drawing unselected cells

bg_gc

Type: GdkGC*

cursor_drag

Type: GdkCursor*

cursor used to indicate dragging

x_drag

Type: gint

the current x-pixel location of the xor-drag line

focus_row

Type: gint

focus handling

anchor

Type: gint

dragging the selection

anchor_state

Type: GtkStateType

drag_pos

Type: gint

htimer

Type: gint

vtimer

Type: gint

sort_type

Type: GtkSortType

compare

Type: GtkCListCompareFunc

sort_column

Type: gint

.IP

PUBLIC MEMBER INDEX

typedef G_List_Iterator  iterator;
  iterator for traversing over the rows
typedef G_IntList_Iterator  seliterator;
  iterator for traversing through selected items
Gtk_CList(int columns, const gchar * titles[] = 0);
Gtk_CList( const vector &titles );
Gtk_CList(GtkCList *castitem);
void  set_selection_mode(GtkSelectionMode mode);
  set the clist's selection mode
void  freeze();
  freeze all visual updates of the list
void  thaw();
  thaw the list (see freeze)
void  column_titles_show();
  show the column title buttons
void  column_titles_hide();
  hide the column title buttons
void  column_title_active(gint column);
  activate title 
void  column_title_passive(gint column);
  set the column title to be passive where it acts as just a title
void  column_titles_active();
  set all column titles to be a active 
void  column_titles_passive();
  set all column titles to be passive where they act as just a title
void  set_column_title(gint column, const string &title);
  set the title in the column title button
void  set_column_widget(gint column, Gtk_Widget &widget);
  set a widget instead of a title for the column title button
void  set_column_widget(gint column, const Gtk_ObjectHandle &widget);
  set a widget instead of a title for the column title button
void  set_column_justification(gint column, GtkJustification justification);
  set the justification on a column
void  set_column_width(gint column, gint width);
  set the pixel width of a column
void  set_row_height(gint height);
  change the height of one row
void  moveto(gint row, gint column, gfloat row_align, gfloat col_align);
  scroll the viewing area of the list
bool  row_is_visible(gint row) const;
  whether the row is visible
GtkCellType  get_cell_type(gint row, gint column) const;
  returns the cell type
void  set_text(gint row, gint column, const string &text);
  sets a given cell's text, replacing it's current contents
bool  get_text(gint row, gint column, _gtk_string *text) const;
  get cell's text
bool  get_text(gint row, gint column, string& text) const;
_gtk_string  get_text(gint row, gint column) const;
void  set_pixmap(gint row, gint column, const Gdk_Pixmap &pixmap, const Gdk_Bitmap &mask);
  sets a given cell's pixmap, replacing it's current contents
gint  get_pixmap(gint row, gint column, Gdk_Pixmap &pixmap, Gdk_Bitmap &mask) const;
  get cell's pixmap
void  set_pixtext(gint row, gint column, const string &text, guint8 spacing, const Gdk_Pixmap &pixmap, const Gdk_Bitmap &mask);
  sets a given cell's pixmap and text, replacing it's current contents
bool  get_pixtext(gint row, gint column, _gtk_string *text, guint8 *spacing, Gdk_Pixmap &pixmap, Gdk_Bitmap &mask) const;
bool  get_pixtext(gint row, gint column, string &text, guint8 *spacing, Gdk_Pixmap &pixmap, Gdk_Bitmap &mask) const;
void  set_foreground(gint row, const Gdk_Color &color);
void  set_background(gint row, const Gdk_Color &color);
void  set_shift(gint row, gint column, gint vertical, gint horizontal);
gint  append(const gchar* text[]);
gint  append(const vector text);
gint  prepend(const gchar *text[]);
gint  prepend(const vector text);
gint  insert_row(gint row, const gchar* text[]);
gint  insert_row(gint row, const vector &text);
void  remove_row(gint row);
iterator  begin();
iterator  end();
seliterator  selbegin() const;
seliterator  selend() const;
gint  drop_calibrate( gint y_in ) const;
void  set_row_data(gint row, gpointer data);
gpointer  get_row_data(gint row) const;
void  set_row_data_full(gint row, gpointer data, GtkDestroyNotify destroy);
gint  find_row_from_data(gpointer data) const;
void  cause_select_row(gint row, gint column);
void  cause_unselect_row(gint row, gint column);
gint  get_selection_info(gint x, gint y, gint *row, gint *column) const;
const Gtk_Adjustment*  get_hadjustment() const;
const Gtk_Adjustment*  get_vadjustment() const;
Gtk_Adjustment*  get_hadjustment();
Gtk_Adjustment*  get_vadjustment();
void  set_hadjustment(Gtk_Adjustment &adjustment);
void  set_vadjustment(Gtk_Adjustment &adjustment);
void  set_shadow_type(GtkShadowType type);
void  set_reorderable(bool reorderable);
void  set_use_drag_icons(bool use_icons);
void  set_button_actions(guint button, guint8 button_actions);
void  set_column_visibility(gint column, bool visible);
void  set_column_resizeable(gint column, bool resizeable);
void  set_column_auto_resize(gint column, bool auto_resize);
string  get_column_title(gint column) const;
gint  get_column_width( gint column ) const;
const Gtk_Widget*  get_column_widget(gint column) const;
gint  optimal_column_width(gint column) const;
void  clist_set_column_width(gint column, gint width);
void  set_column_min_width(gint column, gint min_width);
void  set_column_max_width(gint column, gint max_width);
void  set_cell_style(gint row, gint column, const Gtk_Style &style);
Gtk_ObjectHandle  get_cell_style(gint row, gint column) const;
void  set_row_style(gint row, const Gtk_Style &style);
Gtk_ObjectHandle  get_row_style(gint row) const;
void  set_selectable(gint row, bool selectable);
bool  get_selectable(gint row) const;
void  undo_selection();
void  swap_rows(gint row1, gint row2);
void  set_compare_func(GtkCListCompareFunc cmp_func);
void  set_sort_column(gint column);
void  set_sort_type(GtkSortType sort_type);
void  sort();
void  set_auto_sort(bool auto_sort);
gint  columns_autosize();
gint  rows();
gint  columns();
signal void  refresh(BaseObjectType);
signal void  resize_column(gint, gint);
signal void  toggle_focus_row(BaseObjectType);
signal void  select_all(BaseObjectType);
signal void  unselect_all(BaseObjectType);
signal void  start_selection(BaseObjectType);
signal void  end_selection(BaseObjectType);
signal void  extend_selection(GtkScrollType, gfloat, gboolean);
signal void  scroll_horizontal(GtkScrollType, gfloat);
signal void  scroll_vertical(GtkScrollType, gfloat);
signal void  toggle_add_mode(BaseObjectType);
signal void  abort_column_resize(BaseObjectType);
signal void  resync_selection(GdkEvent*);
signal void  clear(BaseObjectType);
signal void  fake_unselect_all(gint);
signal void  sort_list(BaseObjectType);
signal void  row_move(gint, gint);
signal void  select_row(gint, gint, GdkEvent*);
signal void  unselect_row(gint, gint, GdkEvent*);
signal void  click_column(gint);
GtkCList*  gtkobj();
const GtkCList*  gtkobj() const;
static bool  isGtkCList(Gtk_Object *checkcast);

PROTECTED MEMBER INDEX

friend  CppClassType;
typedef GtkCList  BaseObjectType;
typedef GtkCListClass  BaseClassType;
virtual void * get_parent_class();
virtual void  refresh_impl();
virtual void  resize_column_impl(gint p1, gint p2);
virtual void  toggle_focus_row_impl();
virtual void  select_all_impl();
virtual void  unselect_all_impl();
virtual void  start_selection_impl();
virtual void  end_selection_impl();
virtual void  extend_selection_impl(GtkScrollType p1, gfloat p2, gboolean p3);
virtual void  scroll_horizontal_impl(GtkScrollType p1, gfloat p2);
virtual void  scroll_vertical_impl(GtkScrollType p1, gfloat p2);
virtual void  toggle_add_mode_impl();
virtual void  abort_column_resize_impl();
virtual void  resync_selection_impl(GdkEvent* p1);
virtual void  clear_impl();
virtual void  fake_unselect_all_impl(gint p1);
virtual void  sort_list_impl();
virtual void  remove_row_impl(gint p1);
virtual void  row_move_impl(gint p1, gint p2);
virtual void  select_row_impl(gint p1, gint p2, GdkEvent* p3);
virtual void  unselect_row_impl(gint p1, gint p2, GdkEvent* p3);
virtual void  click_column_impl(gint p1);
Gtk_Adjustment * vadjustment_, *hadjustment_;

PRIVATE MEMBER INDEX

static CppClassType  clist_class;
GtkType  get_type();
virtual bool  check_seliterator_type() const;

PUBLIC MEMBER DESCRIPTIONS

void Gtk_CList::freeze ();

freeze all visual updates of the list.
and then thaw the list after you have made a number of changes and the updates wil occure in a more efficent manner than if you made them on a unfrozen list

void Gtk_CList::column_title_active (gint column);

activate title .
(responds to button presses, prelights, and grabs keyboard focus)

void Gtk_CList::column_titles_active ();

set all column titles to be a active .
(respond to button presses, prelight, and grab keyboard focus)

void Gtk_CList::set_column_justification (gint column, GtkJustification justification);

set the justification on a column.
valid choices are: GTK_JUSTIFY_LEFT, GTK_JUSTIFY_RIGHT, GTK_JUSTIFY_CENTER, GTK_JUSTIFY_FILL

void Gtk_CList::set_column_width (gint column, gint width);

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_row_height (gint height);

change the height of one row.
the default is the hight of the current font

void Gtk_CList::moveto (gint row, gint column, gfloat row_align, gfloat col_align);

scroll the viewing area of the list.
to the given column and row; row_align and col_align are between 0-1 representing the location the 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

GtkCellType Gtk_CList::get_cell_type (gint row, gint column) const;

returns the cell type.
which is one of GTK_CELL_EMPTY, GTK_CELL_TEXT, GTK_CELL_PIXMAP, GTK_CELL_PIXTEXT,

GTK_CELL_WIDGET

bool Gtk_CList::get_text (gint row, gint column, _gtk_string *text) const;

get cell's text.
returns true on success

gint Gtk_CList::get_pixmap (gint row, gint column, Gdk_Pixmap &pixmap, Gdk_Bitmap &mask) const;

get cell's pixmap.
returns 1 on success any of the return pointer can be NULL if you are not interested

PROTECTED MEMBER DESCRIPTIONS

PRIVATE MEMBER DESCRIPTIONS