1 /* 2 * Copyright © 2019 Benjamin Otte 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 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 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 16 * 17 * Authors: Benjamin Otte <otte@gnome.org> 18 */ 19 20 #ifndef __GTK_COLUMN_VIEW_COLUMN_H__ 21 #define __GTK_COLUMN_VIEW_COLUMN_H__ 22 23 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) 24 #error "Only <gtk/gtk.h> can be included directly." 25 #endif 26 27 #include <gtk/gtkcolumnview.h> 28 #include <gtk/gtksorter.h> 29 30 G_BEGIN_DECLS 31 32 #define GTK_TYPE_COLUMN_VIEW_COLUMN (gtk_column_view_column_get_type ()) 33 #define GTK_COLUMN_VIEW_COLUMN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_COLUMN_VIEW_COLUMN, GtkColumnViewColumn)) 34 #define GTK_COLUMN_VIEW_COLUMN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_COLUMN_VIEW_COLUMN, GtkColumnViewColumnClass)) 35 #define GTK_IS_COLUMN_VIEW_COLUMN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_COLUMN_VIEW_COLUMN)) 36 #define GTK_IS_COLUMN_VIEW_COLUMN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_COLUMN_VIEW_COLUMN)) 37 #define GTK_COLUMN_VIEW_COLUMN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_COLUMN_VIEW_COLUMN, GtkColumnViewColumnClass)) 38 39 typedef struct _GtkColumnViewColumnClass GtkColumnViewColumnClass; 40 41 GDK_AVAILABLE_IN_ALL 42 GType gtk_column_view_column_get_type (void) G_GNUC_CONST; 43 44 GDK_AVAILABLE_IN_ALL 45 GtkColumnViewColumn * gtk_column_view_column_new (const char *title, 46 GtkListItemFactory *factory); 47 48 GDK_AVAILABLE_IN_ALL 49 GtkColumnView * gtk_column_view_column_get_column_view (GtkColumnViewColumn *self); 50 GDK_AVAILABLE_IN_ALL 51 void gtk_column_view_column_set_factory (GtkColumnViewColumn *self, 52 GtkListItemFactory *factory); 53 GDK_AVAILABLE_IN_ALL 54 GtkListItemFactory * gtk_column_view_column_get_factory (GtkColumnViewColumn *self); 55 56 GDK_AVAILABLE_IN_ALL 57 void gtk_column_view_column_set_title (GtkColumnViewColumn *self, 58 const char *title); 59 GDK_AVAILABLE_IN_ALL 60 const char * gtk_column_view_column_get_title (GtkColumnViewColumn *self); 61 62 GDK_AVAILABLE_IN_ALL 63 void gtk_column_view_column_set_sorter (GtkColumnViewColumn *self, 64 GtkSorter *sorter); 65 GDK_AVAILABLE_IN_ALL 66 GtkSorter * gtk_column_view_column_get_sorter (GtkColumnViewColumn *self); 67 68 GDK_AVAILABLE_IN_ALL 69 void gtk_column_view_column_set_visible (GtkColumnViewColumn *self, 70 gboolean visible); 71 GDK_AVAILABLE_IN_ALL 72 gboolean gtk_column_view_column_get_visible (GtkColumnViewColumn *self); 73 74 GDK_AVAILABLE_IN_ALL 75 76 void gtk_column_view_column_set_header_menu (GtkColumnViewColumn *self, 77 GMenuModel *menu); 78 GDK_AVAILABLE_IN_ALL 79 GMenuModel * gtk_column_view_column_get_header_menu (GtkColumnViewColumn *self); 80 81 GDK_AVAILABLE_IN_ALL 82 void gtk_column_view_column_set_fixed_width (GtkColumnViewColumn *self, 83 int fixed_width); 84 GDK_AVAILABLE_IN_ALL 85 int gtk_column_view_column_get_fixed_width (GtkColumnViewColumn *self); 86 87 GDK_AVAILABLE_IN_ALL 88 void gtk_column_view_column_set_resizable (GtkColumnViewColumn *self, 89 gboolean resizable); 90 GDK_AVAILABLE_IN_ALL 91 gboolean gtk_column_view_column_get_resizable (GtkColumnViewColumn *self); 92 93 GDK_AVAILABLE_IN_ALL 94 void gtk_column_view_column_set_expand (GtkColumnViewColumn *self, 95 gboolean expand); 96 GDK_AVAILABLE_IN_ALL 97 gboolean gtk_column_view_column_get_expand (GtkColumnViewColumn *self); 98 99 G_END_DECLS 100 101 #endif /* __GTK_COLUMN_VIEW_COLUMN_H__ */ 102