/* * Copyright (C) 2012 - Juan Ferrer Toribio * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef VN_LIST_MODEL_H #define VN_LIST_MODEL_H #include #include #include #define VN_TYPE_LIST_MODEL (vn_list_model_get_type()) #define VN_LIST_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VN_TYPE_LIST_MODEL, VnListModel)) #define VN_IS_LIST_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VN_TYPE_LIST_MODEL)) #define VN_LIST_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VN_TYPE_LIST_MODEL, VnListModelClass)) #define VN_IS_LIST_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VN_TYPE_LIST_MODEL)) #define VN_LIST_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VN_TYPE_LIST_MODEL, VnListModelClass)) #define gtk_tree_iter_from_db_iter(d,s) vn_gtk_tree_iter_from_db_iter(d,s) #define gtk_tree_iter_to_db_iter(s,d) vn_gtk_tree_iter_to_db_iter(s,d) typedef struct _VnListModel VnListModel; typedef struct _VnListModelClass VnListModelClass; struct _VnListModel { GObject parent; DbModel * model; gboolean null_row; }; struct _VnListModelClass { /* */ GObjectClass parent; }; GType vn_list_model_get_type (); VnListModel * vn_list_model_new (DbModel * model); DbModel * vn_list_model_get_model (VnListModel * obj); gboolean vn_list_model_iter_is_valid (GtkTreeIter * iter, GtkTreeModel * model); void vn_gtk_tree_iter_from_db_iter (GtkTreeIter * dest_iter ,const DbIter * src_iter); void vn_gtk_tree_iter_to_db_iter (const GtkTreeIter * src_iter ,DbIter * dest_iter); void vn_list_model_use_null_row (VnListModel * self, gboolean use); #endif