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