1 /**
2  * @file subscription_dialog.h  property dialog for feed subscriptions
3  *
4  * Copyright (C) 2007-2012 Lars Windolf <lars.windolf@gmx.de>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20 
21 #ifndef _SUBSCRIPTION_DIALOG_H
22 #define _SUBSCRIPTION_DIALOG_H
23 
24 #include <gtk/gtk.h>
25 
26 #include "subscription.h"
27 
28 G_BEGIN_DECLS
29 
30 typedef struct SubscriptionDialogPrivate	SubscriptionDialogPrivate;
31 
32 #define SUBSCRIPTION_PROP_DIALOG_TYPE			(subscription_prop_dialog_get_type ())
33 #define SUBSCRIPTION_PROP_DIALOG(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), SUBSCRIPTION_PROP_DIALOG_TYPE, SubscriptionPropDialog))
34 #define SUBSCRIPTION_PROP_DIALOG_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), SUBSCRIPTION_PROP_DIALOG_TYPE, SubscriptionPropDialogClass))
35 #define IS_SUBSCRIPTION_PROP_DIALOG(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), SUBSCRIPTION_PROP_DIALOG_TYPE))
36 #define IS_SUBSCRIPTION_PROP_DIALOG_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), SUBSCRIPTION_PROP_DIALOG_TYPE))
37 
38 typedef struct SubscriptionPropDialog		SubscriptionPropDialog;
39 typedef struct SubscriptionPropDialogClass	SubscriptionPropDialogClass;
40 
41 struct SubscriptionPropDialog
42 {
43 	GObject parent;
44 
45 	/*< private >*/
46 	SubscriptionDialogPrivate	*priv;
47 };
48 
49 struct SubscriptionPropDialogClass
50 {
51 	GObjectClass parent_class;
52 };
53 
54 GType subscription_prop_dialog_get_type	(void);
55 
56 /**
57  * Creates a feed properties dialog (FIXME: handle
58  * generic subscriptions too)
59  *
60  * @param subscription	the subscription to load into the dialog
61  *
62  * @returns a properties dialog
63  */
64 SubscriptionPropDialog *subscription_prop_dialog_new	(subscriptionPtr subscription);
65 
66 
67 #define NEW_SUBSCRIPTION_DIALOG_TYPE		(new_subscription_dialog_get_type ())
68 #define NEW_SUBSCRIPTION_DIALOG(obj)		(G_TYPE_CHECK_INSTANCE_CAST ((obj), NEW_SUBSCRIPTION_DIALOG_TYPE, NewSubscriptionDialog))
69 #define NEW_SUBSCRIPTION_DIALOG_CLASS(klass)	(G_TYPE_CHECK_CLASS_CAST ((klass), NEW_SUBSCRIPTION_DIALOG_TYPE, NewSubscriptionDialogClass))
70 #define IS_NEW_SUBSCRIPTION_DIALOG(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEW_SUBSCRIPTION_DIALOG_TYPE))
71 #define IS_NEW_SUBSCRIPTION_DIALOG_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), NEW_SUBSCRIPTION_DIALOG_TYPE))
72 
73 typedef struct NewSubscriptionDialog		NewSubscriptionDialog;
74 typedef struct NewSubscriptionDialogClass	NewSubscriptionDialogClass;
75 
76 struct NewSubscriptionDialog
77 {
78 	GObject parent;
79 
80 	/*< private >*/
81 	SubscriptionDialogPrivate	*priv;
82 };
83 
84 struct NewSubscriptionDialogClass
85 {
86 	GObjectClass parent_class;
87 };
88 
89 GType new_subscription_dialog_get_type	(void);
90 
91 
92 #define SIMPLE_SUBSCRIPTION_DIALOG_TYPE			(simple_subscription_dialog_get_type ())
93 #define SIMPLE_SUBSCRIPTION_DIALOG(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), SIMPLE_SUBSCRIPTION_DIALOG_TYPE, SimpleSubscriptionDialog))
94 #define SIMPLE_SUBSCRIPTION_DIALOG_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), SIMPLE_SUBSCRIPTION_DIALOG_TYPE, SimpleSubscriptionDialogClass))
95 #define IS_SIMPLE_SUBSCRIPTION_DIALOG(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIMPLE_SUBSCRIPTION_DIALOG_TYPE))
96 #define IS_SIMPLE_SUBSCRIPTION_DIALOG_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), SIMPLE_SUBSCRIPTION_DIALOG_TYPE))
97 
98 typedef struct SimpleSubscriptionDialog		SimpleSubscriptionDialog;
99 typedef struct SimpleSubscriptionDialogClass	SimpleSubscriptionDialogClass;
100 
101 struct SimpleSubscriptionDialog
102 {
103 	GObject parent;
104 
105 	/*< private >*/
106 	SubscriptionDialogPrivate	*priv;
107 };
108 
109 struct SimpleSubscriptionDialogClass
110 {
111 	GObjectClass parent_class;
112 };
113 
114 GType simple_subscription_dialog_get_type (void);
115 
116 /**
117  * Create a simple subscription dialog.
118  *
119  * @returns dialog instance
120  */
121 SimpleSubscriptionDialog *subscription_dialog_new (void);
122 
123 
124 G_END_DECLS
125 
126 #endif /* _SUBSCRIPTION_DIALOG_H */
127