Mercurial > pidgin.yaz
comparison libpurple/theme.h @ 25350:103d0d6ffab6
propagate from branch 'im.pidgin.pidgin' (head 1cad4b015e35541ea834da220d2b814b5d5739fb)
to branch 'im.pidgin.pidgin.next.minor' (head ee8cbf9dcaea5349c8f63742fd6b5f7134345c0e)
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Mon, 01 Dec 2008 17:05:40 +0000 |
parents | fbf72bbd1084 |
children | 0c7b74fc558e |
comparison
equal
deleted
inserted
replaced
24521:6476ee291f16 | 25350:103d0d6ffab6 |
---|---|
1 /** | |
2 * @file theme.h Purple Theme Abstact Class API | |
3 */ | |
4 | |
5 /* purple | |
6 * | |
7 * Purple is the legal property of its developers, whose names are too numerous | |
8 * to list here. Please refer to the COPYRIGHT file distributed with this | |
9 * source distribution. | |
10 * | |
11 * This program is free software; you can redistribute it and/or modify | |
12 * it under the terms of the GNU General Public License as published by | |
13 * the Free Software Foundation; either version 2 of the License, or | |
14 * (at your option) any later version. | |
15 * | |
16 * This program is distributed in the hope that it will be useful, | |
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 * GNU General Public License for more details. | |
20 * | |
21 * You should have received a copy of the GNU General Public License | |
22 * along with this program; if not, write to the Free Software | |
23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA | |
24 */ | |
25 | |
26 #ifndef _PURPLE_THEME_H_ | |
27 #define _PURPLE_THEME_H_ | |
28 | |
29 #include <glib.h> | |
30 #include <glib-object.h> | |
31 #include "imgstore.h" | |
32 | |
33 /** | |
34 * A purple theme. | |
35 * This is an abstract class for Purple to use with the Purple theme manager. | |
36 * | |
37 * PurpleTheme is a GObject. | |
38 */ | |
39 typedef struct _PurpleTheme PurpleTheme; | |
40 typedef struct _PurpleThemeClass PurpleThemeClass; | |
41 | |
42 #define PURPLE_TYPE_THEME (purple_theme_get_type ()) | |
43 #define PURPLE_THEME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PURPLE_TYPE_THEME, PurpleTheme)) | |
44 #define PURPLE_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PURPLE_TYPE_THEME, PurpleThemeClass)) | |
45 #define PURPLE_IS_THEME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PURPLE_TYPE_THEME)) | |
46 #define PURPLE_IS_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PURPLE_TYPE_THEME)) | |
47 #define PURPLE_THEME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PURPLE_TYPE_THEME, PurpleThemeClass)) | |
48 | |
49 struct _PurpleTheme | |
50 { | |
51 GObject parent; | |
52 gpointer priv; | |
53 }; | |
54 | |
55 struct _PurpleThemeClass | |
56 { | |
57 GObjectClass parent_class; | |
58 }; | |
59 | |
60 /**************************************************************************/ | |
61 /** @name Purple Theme API */ | |
62 /**************************************************************************/ | |
63 G_BEGIN_DECLS | |
64 | |
65 /** | |
66 * GObject foo. | |
67 * @internal. | |
68 */ | |
69 GType purple_theme_get_type(void); | |
70 | |
71 /** | |
72 * Returns the name of the PurpleTheme object | |
73 * | |
74 * @param theme the purple theme | |
75 * | |
76 * @return The string representating the name of the theme | |
77 */ | |
78 const gchar *purple_theme_get_name(PurpleTheme *theme); | |
79 | |
80 /** | |
81 * Sets the name of the PurpleTheme object | |
82 * | |
83 * @param theme the purple theme | |
84 * @param name the name of the PurpleTheme object | |
85 */ | |
86 void purple_theme_set_name(PurpleTheme *theme, const gchar *name); | |
87 | |
88 /** | |
89 * Returns the description of the PurpleTheme object | |
90 * | |
91 * @param theme the purple theme | |
92 * | |
93 * @return A short description of the theme | |
94 */ | |
95 const gchar *purple_theme_get_description(PurpleTheme *theme); | |
96 | |
97 /** | |
98 * Sets the description of the PurpleTheme object | |
99 * | |
100 * @param theme the purple theme | |
101 * @param description the description of the PurpleTheme object | |
102 */ | |
103 void purple_theme_set_description(PurpleTheme *theme, const gchar *description); | |
104 | |
105 /** | |
106 * Returns the author of the PurpleTheme object | |
107 * | |
108 * @param theme the purple theme | |
109 * | |
110 * @return The author of the theme | |
111 */ | |
112 const gchar *purple_theme_get_author(PurpleTheme *theme); | |
113 | |
114 /** | |
115 * Sets the author of the PurpleTheme object | |
116 * | |
117 * @param theme the purple theme | |
118 * @param author the author of the PurpleTheme object | |
119 */ | |
120 void purple_theme_set_author(PurpleTheme *theme, const gchar *author); | |
121 | |
122 /** | |
123 * Returns the type (string) of the PurpleTheme object | |
124 * | |
125 * @param theme the purple theme | |
126 * | |
127 * @return The string represtenting the type | |
128 */ | |
129 const gchar *purple_theme_get_type_string(PurpleTheme *theme); | |
130 | |
131 /** | |
132 * Returns the directory of the PurpleTheme object | |
133 * | |
134 * @param theme the purple theme | |
135 * | |
136 * @return The string represtenting the theme directory | |
137 */ | |
138 const gchar *purple_theme_get_dir(PurpleTheme *theme); | |
139 | |
140 /** | |
141 * Sets the directory of the PurpleTheme object | |
142 * | |
143 * @param theme the purple theme | |
144 * @param dir the directory of the PurpleTheme object | |
145 */ | |
146 void purple_theme_set_dir(PurpleTheme *theme, const gchar *dir); | |
147 | |
148 /** | |
149 * Returns the image preview of the PurpleTheme object | |
150 * | |
151 * @param theme the purple theme | |
152 * | |
153 * @return The image preview of the PurpleTheme object | |
154 */ | |
155 const gchar *purple_theme_get_image(PurpleTheme *theme); | |
156 | |
157 /** | |
158 * Returns the image preview and directory of the PurpleTheme object | |
159 * | |
160 * @param theme the purple theme | |
161 * | |
162 * @return The image preview of the PurpleTheme object | |
163 */ | |
164 gchar *purple_theme_get_image_full(PurpleTheme *theme); | |
165 | |
166 /** | |
167 * Sets the directory of the PurpleTheme object | |
168 * | |
169 * @param theme the purple theme | |
170 * @param img the image preview of the PurpleTheme object | |
171 */ | |
172 void purple_theme_set_image(PurpleTheme *theme, const gchar *img); | |
173 | |
174 G_END_DECLS | |
175 #endif /* _PURPLE_THEME_H_ */ |