]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktreedatalist.h
filechooserbutton: Do not propagate state from the dialog unless it is active
[~andy/gtk] / gtk / gtktreedatalist.h
index 66fe37592026f73d1998865bbdef7c1901c834b3..85e56219e469b88e2dc7ee8569f60e1f2505692d 100644 (file)
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
-
 #ifndef __GTK_TREE_DATA_LIST_H__
 #define __GTK_TREE_DATA_LIST_H__
 
-#include <glib.h>
-#include <gobject/gobject.h>
+#include <gtk/gtktreemodel.h>
+#include <gtk/gtktreesortable.h>
 
 typedef struct _GtkTreeDataList GtkTreeDataList;
 struct _GtkTreeDataList
@@ -34,16 +31,28 @@ struct _GtkTreeDataList
     gint8          v_char;
     guint8         v_uchar;
     guint         v_uint;
+    glong         v_long;
+    gulong        v_ulong;
+    gint64        v_int64;
+    guint64        v_uint64;
     gfloat        v_float;
+    gdouble        v_double;
     gpointer      v_pointer;
   } data;
 };
 
-void             _gtk_tree_data_list_push_allocator (GAllocator      *allocator);
-void             _gtk_tree_data_list_pop_allocator  (void);
+typedef struct _GtkTreeDataSortHeader
+{
+  gint sort_column_id;
+  GtkTreeIterCompareFunc func;
+  gpointer data;
+  GDestroyNotify destroy;
+} GtkTreeDataSortHeader;
+
 GtkTreeDataList *_gtk_tree_data_list_alloc          (void);
 void             _gtk_tree_data_list_free           (GtkTreeDataList *list,
                                                     GType           *column_headers);
+gboolean         _gtk_tree_data_list_check_type     (GType            type);
 void             _gtk_tree_data_list_node_to_value  (GtkTreeDataList *list,
                                                     GType            type,
                                                     GValue          *value);
@@ -53,5 +62,20 @@ void             _gtk_tree_data_list_value_to_node  (GtkTreeDataList *list,
 GtkTreeDataList *_gtk_tree_data_list_node_copy      (GtkTreeDataList *list,
                                                      GType            type);
 
+/* Header code */
+gint                   _gtk_tree_data_list_compare_func (GtkTreeModel *model,
+                                                        GtkTreeIter  *a,
+                                                        GtkTreeIter  *b,
+                                                        gpointer      user_data);
+GList *                _gtk_tree_data_list_header_new  (gint          n_columns,
+                                                       GType        *types);
+void                   _gtk_tree_data_list_header_free (GList        *header_list);
+GtkTreeDataSortHeader *_gtk_tree_data_list_get_header  (GList        *header_list,
+                                                       gint          sort_column_id);
+GList                 *_gtk_tree_data_list_set_header  (GList                  *header_list,
+                                                       gint                    sort_column_id,
+                                                       GtkTreeIterCompareFunc  func,
+                                                       gpointer                data,
+                                                       GDestroyNotify          destroy);
 
 #endif /* __GTK_TREE_DATA_LIST_H__ */