diff options
author | Lars Hamann <lars@gtk.org> | 1998-10-19 22:46:38 +0000 |
---|---|---|
committer | Lars Hamann <lars@src.gnome.org> | 1998-10-19 22:46:38 +0000 |
commit | e45890a6165e4a7551ec1c7d4844ee1347be4047 (patch) | |
tree | d22ba0b8caf0989341fa7cf2117001a22aa97c90 /gtk/gtkclist.h | |
parent | b443f453ed98199b054b761383d5ac917c0ccc63 (diff) | |
download | gdk-pixbuf-e45890a6165e4a7551ec1c7d4844ee1347be4047.tar.gz |
rearranged some functions (gtk_clist_set_column_auto_resize): new
Mon Oct 19 23:44:41 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c: rearranged some functions
(gtk_clist_set_column_auto_resize): new function. toggle auto_resize
flag of column
(gtk_clist_set_column_resizeable): if resizeable disable auto_resize
(gtk_clist_set_border): deprecated function, use
gtk_clist_set_shadow_type instead.
(gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
(adjust_scrollbars): some cleanups
(select_row) (unselect_row): removed. replaced by equivalent
gtk_signal_emit calls
(add_style_data): removed, use gtk_clist_style_set instead
(gtk_clist_style_set): fill in size data, after style was set.
(set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
(gtk_clist_set_cell_style): auto_resize columns if needed
(column_auto_resize): resize column if needed for auto_resize
(real_clear): disable auto_resize while list destroy
(resize_column): removed
* gtk/gtkctree.c : (gtk_ctree_remove_node)
(gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
(gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
(set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
(real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
(real_tree_collapse) (real_tree_expand) (column_auto_resize):
auto_resize columns if needed
(gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
(real_clear): disable auto_resize while processing the tree
* gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
for one column
Diffstat (limited to 'gtk/gtkclist.h')
-rw-r--r-- | gtk/gtkclist.h | 180 |
1 files changed, 100 insertions, 80 deletions
diff --git a/gtk/gtkclist.h b/gtk/gtkclist.h index 0e56a7892..bbc23c762 100644 --- a/gtk/gtkclist.h +++ b/gtk/gtkclist.h @@ -36,15 +36,16 @@ extern "C" { /* clist flags */ enum { - GTK_CLIST_FROZEN = 1 << 0, - GTK_CLIST_IN_DRAG = 1 << 1, - GTK_CLIST_DRAG_SELECTION = 1 << 2, - GTK_CLIST_ROW_HEIGHT_SET = 1 << 3, - GTK_CLIST_SHOW_TITLES = 1 << 4, - GTK_CLIST_CONSTRUCTED = 1 << 5, - GTK_CLIST_CHILD_HAS_FOCUS = 1 << 6, - GTK_CLIST_ADD_MODE = 1 << 7, - GTK_CLIST_AUTO_SORT = 1 << 8 + GTK_CLIST_FROZEN = 1 << 0, + GTK_CLIST_IN_DRAG = 1 << 1, + GTK_CLIST_DRAG_SELECTION = 1 << 2, + GTK_CLIST_ROW_HEIGHT_SET = 1 << 3, + GTK_CLIST_SHOW_TITLES = 1 << 4, + GTK_CLIST_CONSTRUCTED = 1 << 5, + GTK_CLIST_CHILD_HAS_FOCUS = 1 << 6, + GTK_CLIST_ADD_MODE = 1 << 7, + GTK_CLIST_AUTO_SORT = 1 << 8, + GTK_CLIST_AUTO_RESIZE_BLOCKED = 1 << 9 }; /* cell types */ @@ -76,6 +77,7 @@ typedef enum #define GTK_CLIST_DRAG_SELECTION(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_DRAG_SELECTION) #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_ROW(_glist_) ((GtkCListRow *)((_glist_)->data)) @@ -191,64 +193,68 @@ struct _GtkCListClass { GtkContainerClass parent_class; - void (*select_row) (GtkCList *clist, - gint row, - gint column, - GdkEvent *event); - void (*unselect_row) (GtkCList *clist, - gint row, - gint column, - GdkEvent *event); - void (*click_column) (GtkCList *clist, - gint column); - void (*resize_column) (GtkCList *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, - GtkScrollType scroll_type, - gfloat position, - gboolean auto_start_selection); - void (*scroll_horizontal) (GtkCList *clist, - GtkScrollType scroll_type, - gfloat position); - void (*scroll_vertical) (GtkCList *clist, - GtkScrollType scroll_type, - gfloat position); - void (*toggle_add_mode) (GtkCList *clist); - void (*abort_column_resize) (GtkCList *clist); - void (*resync_selection) (GtkCList *clist, - GdkEvent *event); - GList* (*selection_find) (GtkCList *clist, - gint row_number, - GList *row_list_element); - void (*draw_row) (GtkCList *clist, - GdkRectangle *area, - gint row, - GtkCListRow *clist_row); - void (*clear) (GtkCList *clist); - void (*fake_unselect_all) (GtkCList *clist, - gint row); - void (*sort_list) (GtkCList *clist); - gint (*insert_row) (GtkCList *clist, - gint row, - gchar *text[]); - void (*remove_row) (GtkCList *clist, - gint row); - void (*set_cell_contents) (GtkCList *clist, - GtkCListRow *clist_row, - gint column, - GtkCellType type, - const gchar *text, - guint8 spacing, - GdkPixmap *pixmap, - GdkBitmap *mask); - + void (*select_row) (GtkCList *clist, + gint row, + gint column, + GdkEvent *event); + void (*unselect_row) (GtkCList *clist, + gint row, + gint column, + GdkEvent *event); + void (*click_column) (GtkCList *clist, + gint column); + void (*resize_column) (GtkCList *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, + GtkScrollType scroll_type, + gfloat position, + gboolean auto_start_selection); + void (*scroll_horizontal) (GtkCList *clist, + GtkScrollType scroll_type, + gfloat position); + void (*scroll_vertical) (GtkCList *clist, + GtkScrollType scroll_type, + gfloat position); + void (*toggle_add_mode) (GtkCList *clist); + void (*abort_column_resize) (GtkCList *clist); + void (*resync_selection) (GtkCList *clist, + GdkEvent *event); + GList* (*selection_find) (GtkCList *clist, + gint row_number, + GList *row_list_element); + void (*draw_row) (GtkCList *clist, + GdkRectangle *area, + gint row, + GtkCListRow *clist_row); + void (*clear) (GtkCList *clist); + void (*fake_unselect_all) (GtkCList *clist, + gint row); + void (*sort_list) (GtkCList *clist); + gint (*insert_row) (GtkCList *clist, + gint row, + gchar *text[]); + void (*remove_row) (GtkCList *clist, + gint row); + void (*set_cell_contents) (GtkCList *clist, + GtkCListRow *clist_row, + gint column, + GtkCellType type, + const gchar *text, + guint8 spacing, + GdkPixmap *pixmap, + GdkBitmap *mask); + void (*cell_size_request) (GtkCList *clist, + GtkCListRow *clist_row, + gint column, + GtkRequisition *requisition); + gint scrollbar_spacing; }; @@ -265,9 +271,10 @@ struct _GtkCListColumn gint max_width; GtkJustification justification; - gint visible : 1; - gint width_set : 1; - gint resizeable : 1; + guint visible : 1; + guint width_set : 1; + guint resizeable : 1; + guint auto_resize : 1; }; struct _GtkCListRow @@ -283,9 +290,9 @@ struct _GtkCListRow gpointer data; GtkDestroyNotify destroy; - gint fg_set : 1; - gint bg_set : 1; - gint selectable : 1; + guint fg_set : 1; + guint bg_set : 1; + guint selectable : 1; }; /* Cell Structures */ @@ -381,10 +388,14 @@ GtkWidget *gtk_clist_new (gint columns); GtkWidget *gtk_clist_new_with_titles (gint columns, gchar *titles[]); -/* set the border style of the clist */ +/* deprecated function, use gtk_clist_set_shadow_type instead. */ void gtk_clist_set_border (GtkCList *clist, GtkShadowType border); +/* set the border style of the clist */ +void gtk_clist_set_shadow_type (GtkCList *clist, + GtkShadowType type); + /* set the clist's selection mode */ void gtk_clist_set_selection_mode (GtkCList *clist, GtkSelectionMode mode); @@ -444,6 +455,15 @@ void gtk_clist_set_column_resizeable (GtkCList *clist, gint column, gboolean resizeable); +/* resize column automatically to its optimal width */ +void gtk_clist_set_column_auto_resize (GtkCList *clist, + gint column, + gboolean auto_resize); + +/* return the optimal column width, i.e. maximum of all cell widths */ +gint gtk_clist_optimal_column_width (GtkCList *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 @@ -546,20 +566,20 @@ void gtk_clist_set_background (GtkCList *clist, /* set / get cell styles */ void gtk_clist_set_cell_style (GtkCList *clist, - gint row, - gint column, + gint row, + gint column, GtkStyle *style); GtkStyle *gtk_clist_get_cell_style (GtkCList *clist, - gint row, - gint column); + gint row, + gint column); void gtk_clist_set_row_style (GtkCList *clist, - gint row, + gint row, GtkStyle *style); GtkStyle *gtk_clist_get_row_style (GtkCList *clist, - gint row); + gint row); /* this sets a horizontal and vertical shift for drawing * the contents of a cell; it can be positive or negitive; |