1 /********************************************************************\
2  * gnc-plugin-page-sx-list.h : scheduled transaction plugin         *
3  *                                                                  *
4  * Copyright (C) 2006 Joshua Sled <jsled@asynchronous.org>          *
5  * Copyright (C) 2011 Robert Fewell                                 *
6  *                                                                  *
7  * This program is free software; you can redistribute it and/or    *
8  * modify it under the terms of version 2 and/or version 3 of the   *
9  * GNU General Public License as published by the Free Software     *
10  * Foundation.                                                      *
11  *                                                                  *
12  * As a special exception, permission is granted to link the binary *
13  * module resultant from this code with the OpenSSL project's       *
14  * "OpenSSL" library (or modified versions of it that use the same  *
15  * license as the "OpenSSL" library), and distribute the linked     *
16  * executable.  You must obey the GNU General Public License in all *
17  * respects for all of the code used other than "OpenSSL". If you   *
18  * modify this file, you may extend this exception to your version  *
19  * of the file, but you are not obligated to do so. If you do not   *
20  * wish to do so, delete this exception statement from your version *
21  * of this file.                                                    *
22  *                                                                  *
23  * This program is distributed in the hope that it will be useful,  *
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of   *
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    *
26  * GNU General Public License for more details.                     *
27  *                                                                  *
28  * You should have received a copy of the GNU General Public License*
29  * along with this program; if not, contact:                        *
30  *                                                                  *
31  * Free Software Foundation           Voice:  +1-617-542-5942       *
32  * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652       *
33  * Boston, MA  02110-1301,  USA       gnu@gnu.org                   *
34 \********************************************************************/
35 
36 /** @addtogroup ContentPlugins
37     @{ */
38 /** @addtogroup GncPluginPageSxList A SX List Plugin Page
39     @{ */
40 /** @brief Functions providing a list of scheduled transactions as a plugin page.
41     @author Josh Sled <jsled@asynchronous.org>
42 */
43 
44 #ifndef __GNC_PLUGIN_PAGE_SX_LIST_H
45 #define __GNC_PLUGIN_PAGE_SX_LIST_H
46 
47 #include <config.h>
48 #include <glib/gi18n.h>
49 #include <gtk/gtk.h>
50 #include "SchedXaction.h"
51 #include "gnc-plugin-page.h"
52 
53 
54 G_BEGIN_DECLS
55 
56 /* type macros */
57 #define GNC_TYPE_PLUGIN_PAGE_SX_LIST            (gnc_plugin_page_sx_list_get_type ())
58 #define GNC_PLUGIN_PAGE_SX_LIST(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj), GNC_TYPE_PLUGIN_PAGE_SX_LIST, GncPluginPageSxList))
59 #define GNC_PLUGIN_PAGE_SX_LIST_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass), GNC_TYPE_PLUGIN_PAGE_SX_LIST, GncPluginPageSxListClass))
60 #define GNC_IS_PLUGIN_PAGE_SX_LIST(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNC_TYPE_PLUGIN_PAGE_SX_LIST))
61 #define GNC_IS_PLUGIN_PAGE_SX_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNC_TYPE_PLUGIN_PAGE_SX_LIST))
62 #define GNC_PLUGIN_PAGE_SX_LIST_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj), GNC_TYPE_PLUGIN_PAGE_SX_LIST, GncPluginPageSxListClass))
63 
64 #define GNC_PLUGIN_PAGE_SX_LIST_NAME "GncPluginPageSxList"
65 
66 /* typedefs & structures */
67 typedef struct
68 {
69     GncPluginPage gnc_plugin_page;
70 } GncPluginPageSxList;
71 
72 typedef struct
73 {
74     GncPluginPageClass gnc_plugin_page;
75 } GncPluginPageSxListClass;
76 
77 /* function prototypes */
78 
79 /**
80  * Retrieve the type number for an "sx list" plugin page.
81  * @return The type number.
82  */
83 GType gnc_plugin_page_sx_list_get_type (void);
84 
85 /**
86  * @return The newly created plugin page.
87  **/
88 GncPluginPage *gnc_plugin_page_sx_list_new (void);
89 
90 G_END_DECLS
91 
92 #endif /* __GNC_PLUGIN_PAGE_SX_LIST_H */
93 /** @} */
94 /** @} */
95