1 | /* gtktreeview.h |
2 | * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford <jrb@redhat.com> |
3 | * |
4 | * This library is free software; you can redistribute it and/or |
5 | * modify it under the terms of the GNU Library General Public |
6 | * License as published by the Free Software Foundation; either |
7 | * version 2 of the License, or (at your option) any later version. |
8 | * |
9 | * This library is distributed in the hope that it will be useful, |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | * Library General Public License for more details. |
13 | * |
14 | * You should have received a copy of the GNU Library General Public |
15 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. |
16 | */ |
17 | |
18 | #ifndef __GTK_TREE_VIEW_H__ |
19 | #define __GTK_TREE_VIEW_H__ |
20 | |
21 | #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) |
22 | #error "Only <gtk/gtk.h> can be included directly." |
23 | #endif |
24 | |
25 | #include <gtk/gtkwidget.h> |
26 | #include <gtk/gtktreemodel.h> |
27 | #include <gtk/gtktreeviewcolumn.h> |
28 | #include <gtk/gtkentry.h> |
29 | |
30 | G_BEGIN_DECLS |
31 | |
32 | /** |
33 | * GtkTreeViewDropPosition: |
34 | * @GTK_TREE_VIEW_DROP_BEFORE: dropped row is inserted before |
35 | * @GTK_TREE_VIEW_DROP_AFTER: dropped row is inserted after |
36 | * @GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: dropped row becomes a child or is inserted before |
37 | * @GTK_TREE_VIEW_DROP_INTO_OR_AFTER: dropped row becomes a child or is inserted after |
38 | * |
39 | * An enum for determining where a dropped row goes. |
40 | */ |
41 | typedef enum |
42 | { |
43 | /* drop before/after this row */ |
44 | GTK_TREE_VIEW_DROP_BEFORE, |
45 | GTK_TREE_VIEW_DROP_AFTER, |
46 | /* drop as a child of this row (with fallback to before or after |
47 | * if into is not possible) |
48 | */ |
49 | GTK_TREE_VIEW_DROP_INTO_OR_BEFORE, |
50 | GTK_TREE_VIEW_DROP_INTO_OR_AFTER |
51 | } GtkTreeViewDropPosition; |
52 | |
53 | #define GTK_TYPE_TREE_VIEW (gtk_tree_view_get_type ()) |
54 | #define GTK_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_VIEW, GtkTreeView)) |
55 | #define GTK_IS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_VIEW)) |
56 | #define GTK_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_VIEW, GtkTreeViewClass)) |
57 | #define GTK_IS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_VIEW)) |
58 | #define GTK_TREE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_VIEW, GtkTreeViewClass)) |
59 | |
60 | typedef struct _GtkTreeView GtkTreeView; |
61 | typedef struct _GtkTreeViewClass GtkTreeViewClass; |
62 | typedef struct _GtkTreeSelection GtkTreeSelection; |
63 | |
64 | /** |
65 | * GtkTreeViewColumnDropFunc: |
66 | * @tree_view: A `GtkTreeView` |
67 | * @column: The `GtkTreeViewColumn` being dragged |
68 | * @prev_column: A `GtkTreeViewColumn` on one side of @column |
69 | * @next_column: A `GtkTreeViewColumn` on the other side of @column |
70 | * @data: (closure): user data |
71 | * |
72 | * Function type for determining whether @column can be dropped in a |
73 | * particular spot (as determined by @prev_column and @next_column). In |
74 | * left to right locales, @prev_column is on the left of the potential drop |
75 | * spot, and @next_column is on the right. In right to left mode, this is |
76 | * reversed. This function should return %TRUE if the spot is a valid drop |
77 | * spot. Please note that returning %TRUE does not actually indicate that |
78 | * the column drop was made, but is meant only to indicate a possible drop |
79 | * spot to the user. |
80 | * |
81 | * Returns: %TRUE, if @column can be dropped in this spot |
82 | */ |
83 | typedef gboolean (* GtkTreeViewColumnDropFunc) (GtkTreeView *tree_view, |
84 | GtkTreeViewColumn *column, |
85 | GtkTreeViewColumn *prev_column, |
86 | GtkTreeViewColumn *next_column, |
87 | gpointer data); |
88 | |
89 | /** |
90 | * GtkTreeViewMappingFunc: |
91 | * @tree_view: A `GtkTreeView` |
92 | * @path: The path that’s expanded |
93 | * @user_data: user data |
94 | * |
95 | * Function used for gtk_tree_view_map_expanded_rows(). |
96 | */ |
97 | typedef void (* GtkTreeViewMappingFunc) (GtkTreeView *tree_view, |
98 | GtkTreePath *path, |
99 | gpointer user_data); |
100 | |
101 | /** |
102 | * GtkTreeViewSearchEqualFunc: |
103 | * @model: the `GtkTreeModel` being searched |
104 | * @column: the search column set by gtk_tree_view_set_search_column() |
105 | * @key: the key string to compare with |
106 | * @iter: a `GtkTreeIter` pointing the row of @model that should be compared |
107 | * with @key. |
108 | * @search_data: (closure): user data from gtk_tree_view_set_search_equal_func() |
109 | * |
110 | * A function used for checking whether a row in @model matches |
111 | * a search key string entered by the user. Note the return value |
112 | * is reversed from what you would normally expect, though it |
113 | * has some similarity to strcmp() returning 0 for equal strings. |
114 | * |
115 | * Returns: %FALSE if the row matches, %TRUE otherwise. |
116 | */ |
117 | typedef gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model, |
118 | int column, |
119 | const char *key, |
120 | GtkTreeIter *iter, |
121 | gpointer search_data); |
122 | |
123 | /** |
124 | * GtkTreeViewRowSeparatorFunc: |
125 | * @model: the `GtkTreeModel` |
126 | * @iter: a `GtkTreeIter` pointing at a row in @model |
127 | * @data: (closure): user data |
128 | * |
129 | * Function type for determining whether the row pointed to by @iter should |
130 | * be rendered as a separator. A common way to implement this is to have a |
131 | * boolean column in the model, whose values the `GtkTreeViewRowSeparatorFunc` |
132 | * returns. |
133 | * |
134 | * Returns: %TRUE if the row is a separator |
135 | */ |
136 | typedef gboolean (*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model, |
137 | GtkTreeIter *iter, |
138 | gpointer data); |
139 | |
140 | struct _GtkTreeView |
141 | { |
142 | GtkWidget parent_instance; |
143 | }; |
144 | |
145 | struct _GtkTreeViewClass |
146 | { |
147 | GtkWidgetClass parent_class; |
148 | |
149 | void (* row_activated) (GtkTreeView *tree_view, |
150 | GtkTreePath *path, |
151 | GtkTreeViewColumn *column); |
152 | gboolean (* test_expand_row) (GtkTreeView *tree_view, |
153 | GtkTreeIter *iter, |
154 | GtkTreePath *path); |
155 | gboolean (* test_collapse_row) (GtkTreeView *tree_view, |
156 | GtkTreeIter *iter, |
157 | GtkTreePath *path); |
158 | void (* row_expanded) (GtkTreeView *tree_view, |
159 | GtkTreeIter *iter, |
160 | GtkTreePath *path); |
161 | void (* row_collapsed) (GtkTreeView *tree_view, |
162 | GtkTreeIter *iter, |
163 | GtkTreePath *path); |
164 | void (* columns_changed) (GtkTreeView *tree_view); |
165 | void (* cursor_changed) (GtkTreeView *tree_view); |
166 | |
167 | /* Key Binding signals */ |
168 | gboolean (* move_cursor) (GtkTreeView *tree_view, |
169 | GtkMovementStep step, |
170 | int count, |
171 | gboolean extend, |
172 | gboolean modify); |
173 | gboolean (* select_all) (GtkTreeView *tree_view); |
174 | gboolean (* unselect_all) (GtkTreeView *tree_view); |
175 | gboolean (* select_cursor_row) (GtkTreeView *tree_view, |
176 | gboolean start_editing); |
177 | gboolean (* toggle_cursor_row) (GtkTreeView *tree_view); |
178 | gboolean (* expand_collapse_cursor_row) (GtkTreeView *tree_view, |
179 | gboolean logical, |
180 | gboolean expand, |
181 | gboolean open_all); |
182 | gboolean (* select_cursor_parent) (GtkTreeView *tree_view); |
183 | gboolean (* start_interactive_search) (GtkTreeView *tree_view); |
184 | |
185 | /*< private >*/ |
186 | gpointer _reserved[16]; |
187 | }; |
188 | |
189 | GDK_AVAILABLE_IN_ALL |
190 | GType gtk_tree_view_get_type (void) G_GNUC_CONST; |
191 | |
192 | /* Creators */ |
193 | GDK_AVAILABLE_IN_ALL |
194 | GtkWidget *gtk_tree_view_new (void); |
195 | GDK_AVAILABLE_IN_ALL |
196 | GtkWidget *gtk_tree_view_new_with_model (GtkTreeModel *model); |
197 | |
198 | /* Accessors */ |
199 | GDK_AVAILABLE_IN_ALL |
200 | GtkTreeModel *gtk_tree_view_get_model (GtkTreeView *tree_view); |
201 | GDK_AVAILABLE_IN_ALL |
202 | void gtk_tree_view_set_model (GtkTreeView *tree_view, |
203 | GtkTreeModel *model); |
204 | GDK_AVAILABLE_IN_ALL |
205 | GtkTreeSelection *gtk_tree_view_get_selection (GtkTreeView *tree_view); |
206 | |
207 | GDK_AVAILABLE_IN_ALL |
208 | gboolean (GtkTreeView *tree_view); |
209 | GDK_AVAILABLE_IN_ALL |
210 | void (GtkTreeView *tree_view, |
211 | gboolean ); |
212 | GDK_AVAILABLE_IN_ALL |
213 | void gtk_tree_view_columns_autosize (GtkTreeView *tree_view); |
214 | GDK_AVAILABLE_IN_ALL |
215 | gboolean (GtkTreeView *tree_view); |
216 | GDK_AVAILABLE_IN_ALL |
217 | void (GtkTreeView *tree_view, |
218 | gboolean setting); |
219 | GDK_AVAILABLE_IN_ALL |
220 | gboolean gtk_tree_view_get_activate_on_single_click (GtkTreeView *tree_view); |
221 | GDK_AVAILABLE_IN_ALL |
222 | void gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view, |
223 | gboolean single); |
224 | |
225 | /* Column functions */ |
226 | GDK_AVAILABLE_IN_ALL |
227 | int gtk_tree_view_append_column (GtkTreeView *tree_view, |
228 | GtkTreeViewColumn *column); |
229 | GDK_AVAILABLE_IN_ALL |
230 | int gtk_tree_view_remove_column (GtkTreeView *tree_view, |
231 | GtkTreeViewColumn *column); |
232 | GDK_AVAILABLE_IN_ALL |
233 | int gtk_tree_view_insert_column (GtkTreeView *tree_view, |
234 | GtkTreeViewColumn *column, |
235 | int position); |
236 | GDK_AVAILABLE_IN_ALL |
237 | int gtk_tree_view_insert_column_with_attributes (GtkTreeView *tree_view, |
238 | int position, |
239 | const char *title, |
240 | GtkCellRenderer *cell, |
241 | ...) G_GNUC_NULL_TERMINATED; |
242 | GDK_AVAILABLE_IN_ALL |
243 | int gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view, |
244 | int position, |
245 | const char *title, |
246 | GtkCellRenderer *cell, |
247 | GtkTreeCellDataFunc func, |
248 | gpointer data, |
249 | GDestroyNotify dnotify); |
250 | |
251 | GDK_AVAILABLE_IN_ALL |
252 | guint gtk_tree_view_get_n_columns (GtkTreeView *tree_view); |
253 | GDK_AVAILABLE_IN_ALL |
254 | GtkTreeViewColumn *gtk_tree_view_get_column (GtkTreeView *tree_view, |
255 | int n); |
256 | GDK_AVAILABLE_IN_ALL |
257 | GList *gtk_tree_view_get_columns (GtkTreeView *tree_view); |
258 | GDK_AVAILABLE_IN_ALL |
259 | void gtk_tree_view_move_column_after (GtkTreeView *tree_view, |
260 | GtkTreeViewColumn *column, |
261 | GtkTreeViewColumn *base_column); |
262 | GDK_AVAILABLE_IN_ALL |
263 | void gtk_tree_view_set_expander_column (GtkTreeView *tree_view, |
264 | GtkTreeViewColumn *column); |
265 | GDK_AVAILABLE_IN_ALL |
266 | GtkTreeViewColumn *gtk_tree_view_get_expander_column (GtkTreeView *tree_view); |
267 | GDK_AVAILABLE_IN_ALL |
268 | void gtk_tree_view_set_column_drag_function (GtkTreeView *tree_view, |
269 | GtkTreeViewColumnDropFunc func, |
270 | gpointer user_data, |
271 | GDestroyNotify destroy); |
272 | |
273 | /* Actions */ |
274 | GDK_AVAILABLE_IN_ALL |
275 | void gtk_tree_view_scroll_to_point (GtkTreeView *tree_view, |
276 | int tree_x, |
277 | int tree_y); |
278 | GDK_AVAILABLE_IN_ALL |
279 | void gtk_tree_view_scroll_to_cell (GtkTreeView *tree_view, |
280 | GtkTreePath *path, |
281 | GtkTreeViewColumn *column, |
282 | gboolean use_align, |
283 | float row_align, |
284 | float col_align); |
285 | GDK_AVAILABLE_IN_ALL |
286 | void gtk_tree_view_row_activated (GtkTreeView *tree_view, |
287 | GtkTreePath *path, |
288 | GtkTreeViewColumn *column); |
289 | GDK_AVAILABLE_IN_ALL |
290 | void gtk_tree_view_expand_all (GtkTreeView *tree_view); |
291 | GDK_AVAILABLE_IN_ALL |
292 | void gtk_tree_view_collapse_all (GtkTreeView *tree_view); |
293 | GDK_AVAILABLE_IN_ALL |
294 | void gtk_tree_view_expand_to_path (GtkTreeView *tree_view, |
295 | GtkTreePath *path); |
296 | GDK_AVAILABLE_IN_ALL |
297 | gboolean gtk_tree_view_expand_row (GtkTreeView *tree_view, |
298 | GtkTreePath *path, |
299 | gboolean open_all); |
300 | GDK_AVAILABLE_IN_ALL |
301 | gboolean gtk_tree_view_collapse_row (GtkTreeView *tree_view, |
302 | GtkTreePath *path); |
303 | GDK_AVAILABLE_IN_ALL |
304 | void gtk_tree_view_map_expanded_rows (GtkTreeView *tree_view, |
305 | GtkTreeViewMappingFunc func, |
306 | gpointer data); |
307 | GDK_AVAILABLE_IN_ALL |
308 | gboolean gtk_tree_view_row_expanded (GtkTreeView *tree_view, |
309 | GtkTreePath *path); |
310 | GDK_AVAILABLE_IN_ALL |
311 | void gtk_tree_view_set_reorderable (GtkTreeView *tree_view, |
312 | gboolean reorderable); |
313 | GDK_AVAILABLE_IN_ALL |
314 | gboolean gtk_tree_view_get_reorderable (GtkTreeView *tree_view); |
315 | GDK_AVAILABLE_IN_ALL |
316 | void gtk_tree_view_set_cursor (GtkTreeView *tree_view, |
317 | GtkTreePath *path, |
318 | GtkTreeViewColumn *focus_column, |
319 | gboolean start_editing); |
320 | GDK_AVAILABLE_IN_ALL |
321 | void gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view, |
322 | GtkTreePath *path, |
323 | GtkTreeViewColumn *focus_column, |
324 | GtkCellRenderer *focus_cell, |
325 | gboolean start_editing); |
326 | GDK_AVAILABLE_IN_ALL |
327 | void gtk_tree_view_get_cursor (GtkTreeView *tree_view, |
328 | GtkTreePath **path, |
329 | GtkTreeViewColumn **focus_column); |
330 | |
331 | |
332 | /* Layout information */ |
333 | GDK_AVAILABLE_IN_ALL |
334 | gboolean gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view, |
335 | int x, |
336 | int y, |
337 | GtkTreePath **path, |
338 | GtkTreeViewColumn **column, |
339 | int *cell_x, |
340 | int *cell_y); |
341 | GDK_AVAILABLE_IN_ALL |
342 | void gtk_tree_view_get_cell_area (GtkTreeView *tree_view, |
343 | GtkTreePath *path, |
344 | GtkTreeViewColumn *column, |
345 | GdkRectangle *rect); |
346 | GDK_AVAILABLE_IN_ALL |
347 | void gtk_tree_view_get_background_area (GtkTreeView *tree_view, |
348 | GtkTreePath *path, |
349 | GtkTreeViewColumn *column, |
350 | GdkRectangle *rect); |
351 | GDK_AVAILABLE_IN_ALL |
352 | void gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, |
353 | GdkRectangle *visible_rect); |
354 | GDK_AVAILABLE_IN_ALL |
355 | gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view, |
356 | GtkTreePath **start_path, |
357 | GtkTreePath **end_path); |
358 | GDK_AVAILABLE_IN_ALL |
359 | gboolean gtk_tree_view_is_blank_at_pos (GtkTreeView *tree_view, |
360 | int x, |
361 | int y, |
362 | GtkTreePath **path, |
363 | GtkTreeViewColumn **column, |
364 | int *cell_x, |
365 | int *cell_y); |
366 | |
367 | /* Drag-and-Drop support */ |
368 | GDK_AVAILABLE_IN_ALL |
369 | void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view, |
370 | GdkModifierType start_button_mask, |
371 | GdkContentFormats *formats, |
372 | GdkDragAction actions); |
373 | GDK_AVAILABLE_IN_ALL |
374 | void gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view, |
375 | GdkContentFormats *formats, |
376 | GdkDragAction actions); |
377 | GDK_AVAILABLE_IN_ALL |
378 | void gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view); |
379 | GDK_AVAILABLE_IN_ALL |
380 | void gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view); |
381 | |
382 | |
383 | /* These are useful to implement your own custom stuff. */ |
384 | GDK_AVAILABLE_IN_ALL |
385 | void gtk_tree_view_set_drag_dest_row (GtkTreeView *tree_view, |
386 | GtkTreePath *path, |
387 | GtkTreeViewDropPosition pos); |
388 | GDK_AVAILABLE_IN_ALL |
389 | void gtk_tree_view_get_drag_dest_row (GtkTreeView *tree_view, |
390 | GtkTreePath **path, |
391 | GtkTreeViewDropPosition *pos); |
392 | GDK_AVAILABLE_IN_ALL |
393 | gboolean gtk_tree_view_get_dest_row_at_pos (GtkTreeView *tree_view, |
394 | int drag_x, |
395 | int drag_y, |
396 | GtkTreePath **path, |
397 | GtkTreeViewDropPosition *pos); |
398 | GDK_AVAILABLE_IN_ALL |
399 | GdkPaintable *gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, |
400 | GtkTreePath *path); |
401 | |
402 | /* Interactive search */ |
403 | GDK_AVAILABLE_IN_ALL |
404 | void gtk_tree_view_set_enable_search (GtkTreeView *tree_view, |
405 | gboolean enable_search); |
406 | GDK_AVAILABLE_IN_ALL |
407 | gboolean gtk_tree_view_get_enable_search (GtkTreeView *tree_view); |
408 | GDK_AVAILABLE_IN_ALL |
409 | int gtk_tree_view_get_search_column (GtkTreeView *tree_view); |
410 | GDK_AVAILABLE_IN_ALL |
411 | void gtk_tree_view_set_search_column (GtkTreeView *tree_view, |
412 | int column); |
413 | GDK_AVAILABLE_IN_ALL |
414 | GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func (GtkTreeView *tree_view); |
415 | GDK_AVAILABLE_IN_ALL |
416 | void gtk_tree_view_set_search_equal_func (GtkTreeView *tree_view, |
417 | GtkTreeViewSearchEqualFunc search_equal_func, |
418 | gpointer search_user_data, |
419 | GDestroyNotify search_destroy); |
420 | |
421 | GDK_AVAILABLE_IN_ALL |
422 | GtkEditable *gtk_tree_view_get_search_entry (GtkTreeView *tree_view); |
423 | GDK_AVAILABLE_IN_ALL |
424 | void gtk_tree_view_set_search_entry (GtkTreeView *tree_view, |
425 | GtkEditable *entry); |
426 | |
427 | /* Convert between the different coordinate systems */ |
428 | GDK_AVAILABLE_IN_ALL |
429 | void gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view, |
430 | int wx, |
431 | int wy, |
432 | int *tx, |
433 | int *ty); |
434 | GDK_AVAILABLE_IN_ALL |
435 | void gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view, |
436 | int tx, |
437 | int ty, |
438 | int *wx, |
439 | int *wy); |
440 | GDK_AVAILABLE_IN_ALL |
441 | void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view, |
442 | int wx, |
443 | int wy, |
444 | int *bx, |
445 | int *by); |
446 | GDK_AVAILABLE_IN_ALL |
447 | void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view, |
448 | int bx, |
449 | int by, |
450 | int *wx, |
451 | int *wy); |
452 | GDK_AVAILABLE_IN_ALL |
453 | void gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view, |
454 | int tx, |
455 | int ty, |
456 | int *bx, |
457 | int *by); |
458 | GDK_AVAILABLE_IN_ALL |
459 | void gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view, |
460 | int bx, |
461 | int by, |
462 | int *tx, |
463 | int *ty); |
464 | |
465 | GDK_AVAILABLE_IN_ALL |
466 | void gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view, |
467 | gboolean enable); |
468 | GDK_AVAILABLE_IN_ALL |
469 | gboolean gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view); |
470 | GDK_AVAILABLE_IN_ALL |
471 | void gtk_tree_view_set_hover_selection (GtkTreeView *tree_view, |
472 | gboolean hover); |
473 | GDK_AVAILABLE_IN_ALL |
474 | gboolean gtk_tree_view_get_hover_selection (GtkTreeView *tree_view); |
475 | GDK_AVAILABLE_IN_ALL |
476 | void gtk_tree_view_set_hover_expand (GtkTreeView *tree_view, |
477 | gboolean expand); |
478 | GDK_AVAILABLE_IN_ALL |
479 | gboolean gtk_tree_view_get_hover_expand (GtkTreeView *tree_view); |
480 | GDK_AVAILABLE_IN_ALL |
481 | void gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view, |
482 | gboolean enable); |
483 | GDK_AVAILABLE_IN_ALL |
484 | gboolean gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view); |
485 | |
486 | GDK_AVAILABLE_IN_ALL |
487 | gboolean gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view); |
488 | |
489 | GDK_AVAILABLE_IN_ALL |
490 | GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view); |
491 | GDK_AVAILABLE_IN_ALL |
492 | void gtk_tree_view_set_row_separator_func (GtkTreeView *tree_view, |
493 | GtkTreeViewRowSeparatorFunc func, |
494 | gpointer data, |
495 | GDestroyNotify destroy); |
496 | |
497 | GDK_AVAILABLE_IN_ALL |
498 | GtkTreeViewGridLines gtk_tree_view_get_grid_lines (GtkTreeView *tree_view); |
499 | GDK_AVAILABLE_IN_ALL |
500 | void gtk_tree_view_set_grid_lines (GtkTreeView *tree_view, |
501 | GtkTreeViewGridLines grid_lines); |
502 | GDK_AVAILABLE_IN_ALL |
503 | gboolean gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view); |
504 | GDK_AVAILABLE_IN_ALL |
505 | void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view, |
506 | gboolean enabled); |
507 | GDK_AVAILABLE_IN_ALL |
508 | void gtk_tree_view_set_show_expanders (GtkTreeView *tree_view, |
509 | gboolean enabled); |
510 | GDK_AVAILABLE_IN_ALL |
511 | gboolean gtk_tree_view_get_show_expanders (GtkTreeView *tree_view); |
512 | GDK_AVAILABLE_IN_ALL |
513 | void gtk_tree_view_set_level_indentation (GtkTreeView *tree_view, |
514 | int indentation); |
515 | GDK_AVAILABLE_IN_ALL |
516 | int gtk_tree_view_get_level_indentation (GtkTreeView *tree_view); |
517 | |
518 | /* Convenience functions for setting tooltips */ |
519 | GDK_AVAILABLE_IN_ALL |
520 | void gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view, |
521 | GtkTooltip *tooltip, |
522 | GtkTreePath *path); |
523 | GDK_AVAILABLE_IN_ALL |
524 | void gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view, |
525 | GtkTooltip *tooltip, |
526 | GtkTreePath *path, |
527 | GtkTreeViewColumn *column, |
528 | GtkCellRenderer *cell); |
529 | GDK_AVAILABLE_IN_ALL |
530 | gboolean gtk_tree_view_get_tooltip_context(GtkTreeView *tree_view, |
531 | int x, |
532 | int y, |
533 | gboolean keyboard_tip, |
534 | GtkTreeModel **model, |
535 | GtkTreePath **path, |
536 | GtkTreeIter *iter); |
537 | GDK_AVAILABLE_IN_ALL |
538 | void gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view, |
539 | int column); |
540 | GDK_AVAILABLE_IN_ALL |
541 | int gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view); |
542 | |
543 | G_END_DECLS |
544 | |
545 | |
546 | #endif /* __GTK_TREE_VIEW_H__ */ |
547 | |