GnuCash 2.4.99
gnc-tree-model-commodity.h
Go to the documentation of this file.
00001 /*
00002  * gnc-tree-model-commodity.h -- GtkTreeModel implementation to
00003  *      display commodities 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_COMMODITY_H
00037 #define __GNC_TREE_MODEL_COMMODITY_H
00038 
00039 #include <gtk/gtk.h>
00040 #include "gnc-tree-model.h"
00041 
00042 #include "gnc-commodity.h"
00043 
00044 G_BEGIN_DECLS
00045 
00046 /* type macros */
00047 #define GNC_TYPE_TREE_MODEL_COMMODITY            (gnc_tree_model_commodity_get_type ())
00048 #define GNC_TREE_MODEL_COMMODITY(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNC_TYPE_TREE_MODEL_COMMODITY, GncTreeModelCommodity))
00049 #define GNC_TREE_MODEL_COMMODITY_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GNC_TYPE_TREE_MODEL_COMMODITY, GncTreeModelCommodityClass))
00050 #define GNC_IS_TREE_MODEL_COMMODITY(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNC_TYPE_TREE_MODEL_COMMODITY))
00051 #define GNC_IS_TREE_MODEL_COMMODITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNC_TYPE_TREE_MODEL_COMMODITY))
00052 #define GNC_TREE_MODEL_COMMODITY_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GNC_TYPE_TREE_MODEL_COMMODITY, GncTreeModelCommodityClass))
00053 #define GNC_TREE_MODEL_COMMODITY_NAME            "GncTreeModelCommodity"
00054 
00055 
00056 typedef enum
00057 {
00058     GNC_TREE_MODEL_COMMODITY_COL_NAMESPACE,
00059     GNC_TREE_MODEL_COMMODITY_COL_MNEMONIC,
00060     GNC_TREE_MODEL_COMMODITY_COL_FULLNAME,
00061     GNC_TREE_MODEL_COMMODITY_COL_PRINTNAME,
00062     GNC_TREE_MODEL_COMMODITY_COL_UNIQUE_NAME,
00063     GNC_TREE_MODEL_COMMODITY_COL_CUSIP,
00064     GNC_TREE_MODEL_COMMODITY_COL_FRACTION,
00065     GNC_TREE_MODEL_COMMODITY_COL_QUOTE_FLAG,
00066     GNC_TREE_MODEL_COMMODITY_COL_QUOTE_SOURCE,
00067     GNC_TREE_MODEL_COMMODITY_COL_QUOTE_TZ,
00068 
00069     GNC_TREE_MODEL_COMMODITY_COL_LAST_VISIBLE = GNC_TREE_MODEL_COMMODITY_COL_QUOTE_TZ,
00070 
00071     /* internal hidden columns */
00072     GNC_TREE_MODEL_COMMODITY_COL_VISIBILITY,
00073 
00074     GNC_TREE_MODEL_COMMODITY_NUM_COLUMNS
00075 } GncTreeModelCommodityColumn;
00076 
00077 /* typedefs & structures */
00078 
00080 typedef struct
00081 {
00082     GncTreeModel gnc_tree_model;        
00083     int stamp;                  
00085 } GncTreeModelCommodity;
00086 
00087 
00089 typedef struct
00090 {
00091     GncTreeModelClass gnc_tree_model;
00092 } GncTreeModelCommodityClass;
00093 
00094 
00099 GType gnc_tree_model_commodity_get_type (void);
00100 
00101 
00111 GtkTreeModel  *gnc_tree_model_commodity_new (QofBook *book, gnc_commodity_table *ct);
00130 gboolean gnc_tree_model_commodity_iter_is_namespace (GncTreeModelCommodity *model,
00131         GtkTreeIter *iter);
00132 
00133 
00146 gboolean gnc_tree_model_commodity_iter_is_commodity (GncTreeModelCommodity *model,
00147         GtkTreeIter *iter);
00148 
00149 
00161 gnc_commodity_namespace *gnc_tree_model_commodity_get_namespace (GncTreeModelCommodity *model,
00162         GtkTreeIter *iter);
00163 
00175 gnc_commodity *gnc_tree_model_commodity_get_commodity (GncTreeModelCommodity *model,
00176         GtkTreeIter *iter);
00194 gboolean gnc_tree_model_commodity_get_iter_from_namespace (GncTreeModelCommodity *model,
00195         gnc_commodity_namespace *namespace,
00196         GtkTreeIter *iter);
00197 
00208 gboolean gnc_tree_model_commodity_get_iter_from_commodity (GncTreeModelCommodity *model,
00209         gnc_commodity *commodity,
00210         GtkTreeIter *iter);
00211 
00222 GtkTreePath *gnc_tree_model_commodity_get_path_from_commodity (GncTreeModelCommodity *model,
00223         gnc_commodity *commodity);
00226 G_END_DECLS
00227 
00228 #endif /* __GNC_TREE_MODEL_COMMODITY_H */
00229 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines