summaryrefslogtreecommitdiff
path: root/gtk/gtkclist.h
diff options
context:
space:
mode:
authorLars Hamann <lars@gtk.org>1998-10-19 22:46:38 +0000
committerLars Hamann <lars@src.gnome.org>1998-10-19 22:46:38 +0000
commite45890a6165e4a7551ec1c7d4844ee1347be4047 (patch)
treed22ba0b8caf0989341fa7cf2117001a22aa97c90 /gtk/gtkclist.h
parentb443f453ed98199b054b761383d5ac917c0ccc63 (diff)
downloadgdk-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.h180
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;