|
GnuCash 2.4.99
|
00001 /* 00002 * gnc-tree-model-price.h -- GtkTreeModel implementation to display 00003 * prices in a GtkTreeView. 00004 * 00005 * Copyright (C) 2003 Jan Arne Petersen <jpetersen@uni-bonn.de> 00006 * Copyright (C) 2003 David Hampton <hampton@employees.org> 00007 * 00008 * This program is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU General Public License as 00010 * published by the Free Software Foundation; either version 2 of 00011 * the License, or (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program; if not, contact: 00020 * 00021 * Free Software Foundation Voice: +1-617-542-5942 00022 * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 00023 * Boston, MA 02110-1301, USA gnu@gnu.org 00024 */ 00025 00036 #ifndef __GNC_TREE_MODEL_PRICE_H 00037 #define __GNC_TREE_MODEL_PRICE_H 00038 00039 #include <gtk/gtk.h> 00040 #include "gnc-tree-model.h" 00041 00042 #include "gnc-pricedb.h" 00043 00044 G_BEGIN_DECLS 00045 00046 /* type macros */ 00047 #define GNC_TYPE_TREE_MODEL_PRICE (gnc_tree_model_price_get_type ()) 00048 #define GNC_TREE_MODEL_PRICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNC_TYPE_TREE_MODEL_PRICE, GncTreeModelPrice)) 00049 #define GNC_TREE_MODEL_PRICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNC_TYPE_TREE_MODEL_PRICE, GncTreeModelPriceClass)) 00050 #define GNC_IS_TREE_MODEL_PRICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNC_TYPE_TREE_MODEL_PRICE)) 00051 #define GNC_IS_TREE_MODEL_PRICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNC_TYPE_TREE_MODEL_PRICE)) 00052 #define GNC_TREE_MODEL_PRICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNC_TYPE_TREE_MODEL_PRICE, GncTreeModelPriceClass)) 00053 #define GNC_TREE_MODEL_PRICE_NAME "GncTreeModelPrice" 00054 00055 00056 typedef enum 00057 { 00058 GNC_TREE_MODEL_PRICE_COL_COMMODITY, 00059 GNC_TREE_MODEL_PRICE_COL_CURRENCY, 00060 GNC_TREE_MODEL_PRICE_COL_DATE, 00061 GNC_TREE_MODEL_PRICE_COL_SOURCE, 00062 GNC_TREE_MODEL_PRICE_COL_TYPE, 00063 GNC_TREE_MODEL_PRICE_COL_VALUE, 00064 00065 GNC_TREE_MODEL_PRICE_COL_LAST_VISIBLE = GNC_TREE_MODEL_PRICE_COL_VALUE, 00066 00067 /* internal hidden columns */ 00068 GNC_TREE_MODEL_PRICE_COL_VISIBILITY, 00069 GNC_TREE_MODEL_PRICE_NUM_COLUMNS 00070 } GncTreeModelPriceColumn; 00071 00072 /* typedefs & structures */ 00073 00075 typedef struct 00076 { 00077 GncTreeModel gnc_tree_model; 00078 int stamp; 00080 } GncTreeModelPrice; 00081 00082 00084 typedef struct 00085 { 00086 GncTreeModelClass gnc_tree_model; 00087 } GncTreeModelPriceClass; 00088 00089 00094 GType gnc_tree_model_price_get_type (void); 00095 00096 00107 GtkTreeModel *gnc_tree_model_price_new (QofBook *book, GNCPriceDB *price_db); 00126 gboolean gnc_tree_model_price_iter_is_namespace (GncTreeModelPrice *model, 00127 GtkTreeIter *iter); 00128 00129 00142 gboolean gnc_tree_model_price_iter_is_commodity (GncTreeModelPrice *model, 00143 GtkTreeIter *iter); 00144 00145 00158 gboolean gnc_tree_model_price_iter_is_price (GncTreeModelPrice *model, 00159 GtkTreeIter *iter); 00160 00161 00173 gnc_commodity_namespace *gnc_tree_model_price_get_namespace (GncTreeModelPrice *model, 00174 GtkTreeIter *iter); 00175 00176 00188 gnc_commodity *gnc_tree_model_price_get_commodity (GncTreeModelPrice *model, 00189 GtkTreeIter *iter); 00190 00191 00203 GNCPrice *gnc_tree_model_price_get_price (GncTreeModelPrice *model, 00204 GtkTreeIter *iter); 00222 gboolean gnc_tree_model_price_get_iter_from_namespace (GncTreeModelPrice *model, 00223 gnc_commodity_namespace *namespace, 00224 GtkTreeIter *iter); 00225 00236 gboolean gnc_tree_model_price_get_iter_from_commodity (GncTreeModelPrice *model, 00237 gnc_commodity *commodity, 00238 GtkTreeIter *iter); 00239 00250 gboolean gnc_tree_model_price_get_iter_from_price (GncTreeModelPrice *model, 00251 GNCPrice *price, 00252 GtkTreeIter *iter); 00253 00264 GtkTreePath *gnc_tree_model_price_get_path_from_price (GncTreeModelPrice *model, 00265 GNCPrice *price); 00269 G_END_DECLS 00270 00271 #endif /* __GNC_TREE_MODEL_PRICE_H */ 00272
1.7.4