3 * Purple is the legal property of its developers, whose names are too numerous
4 * to list here. Please refer to the COPYRIGHT file distributed with this
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
22 #ifndef PURPLE_THEME_H
23 #define PURPLE_THEME_H
26 * @section_id: libpurple-theme
27 * @short_description: <filename>theme.h</filename>
28 * @title: Theme Abstact Class
32 #include <glib-object.h>
34 typedef struct _PurpleTheme PurpleTheme
;
35 typedef struct _PurpleThemeClass PurpleThemeClass
;
37 #define PURPLE_TYPE_THEME (purple_theme_get_type ())
38 #define PURPLE_THEME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PURPLE_TYPE_THEME, PurpleTheme))
39 #define PURPLE_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PURPLE_TYPE_THEME, PurpleThemeClass))
40 #define PURPLE_IS_THEME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PURPLE_TYPE_THEME))
41 #define PURPLE_IS_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PURPLE_TYPE_THEME))
42 #define PURPLE_THEME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PURPLE_TYPE_THEME, PurpleThemeClass))
48 * This is an abstract class for Purple to use with the Purple theme manager.
55 struct _PurpleThemeClass
57 GObjectClass parent_class
;
60 void (*purple_reserved1
)(void);
61 void (*purple_reserved2
)(void);
62 void (*purple_reserved3
)(void);
63 void (*purple_reserved4
)(void);
66 /**************************************************************************/
67 /* Purple Theme API */
68 /**************************************************************************/
72 * purple_theme_get_type:
74 * Returns: The #GType for a theme.
76 GType
purple_theme_get_type(void);
79 * purple_theme_get_name:
80 * @theme: The purple theme.
82 * Returns the name of the PurpleTheme object.
84 * Returns: The string representing the name of the theme.
86 const gchar
*purple_theme_get_name(PurpleTheme
*theme
);
89 * purple_theme_set_name:
90 * @theme: The purple theme.
91 * @name: The name of the PurpleTheme object.
93 * Sets the name of the PurpleTheme object.
95 void purple_theme_set_name(PurpleTheme
*theme
, const gchar
*name
);
98 * purple_theme_get_description:
99 * @theme: The purple theme.
101 * Returns the description of the PurpleTheme object.
103 * Returns: A short description of the theme.
105 const gchar
*purple_theme_get_description(PurpleTheme
*theme
);
108 * purple_theme_set_description:
109 * @theme: The purple theme.
110 * @description: The description of the PurpleTheme object.
112 * Sets the description of the PurpleTheme object.
114 void purple_theme_set_description(PurpleTheme
*theme
, const gchar
*description
);
117 * purple_theme_get_author:
118 * @theme: The purple theme.
120 * Returns the author of the PurpleTheme object.
122 * Returns: The author of the theme.
124 const gchar
*purple_theme_get_author(PurpleTheme
*theme
);
127 * purple_theme_set_author:
128 * @theme: The purple theme.
129 * @author: The author of the PurpleTheme object.
131 * Sets the author of the PurpleTheme object.
133 void purple_theme_set_author(PurpleTheme
*theme
, const gchar
*author
);
136 * purple_theme_get_type_string:
137 * @theme: The purple theme.
139 * Returns the type (string) of the PurpleTheme object.
141 * Returns: The string representing the type.
143 const gchar
*purple_theme_get_type_string(PurpleTheme
*theme
);
146 * purple_theme_get_dir:
147 * @theme: The purple theme.
149 * Returns the directory of the PurpleTheme object.
151 * Returns: The string representing the theme directory.
153 const gchar
*purple_theme_get_dir(PurpleTheme
*theme
);
156 * purple_theme_set_dir:
157 * @theme: The purple theme.
158 * @dir: The directory of the PurpleTheme object.
160 * Sets the directory of the PurpleTheme object.
162 void purple_theme_set_dir(PurpleTheme
*theme
, const gchar
*dir
);
165 * purple_theme_get_image:
166 * @theme: The purple theme.
168 * Returns the image preview of the PurpleTheme object.
170 * Returns: The image preview of the PurpleTheme object.
172 const gchar
*purple_theme_get_image(PurpleTheme
*theme
);
175 * purple_theme_get_image_full:
176 * @theme: The purple theme.
178 * Returns the image preview and directory of the PurpleTheme object.
180 * Returns: The image preview of the PurpleTheme object.
182 gchar
*purple_theme_get_image_full(PurpleTheme
*theme
);
185 * purple_theme_set_image:
186 * @theme: The purple theme.
187 * @img: The image preview of the PurpleTheme object.
189 * Sets the directory of the PurpleTheme object.
191 void purple_theme_set_image(PurpleTheme
*theme
, const gchar
*img
);
195 #endif /* PURPLE_THEME_H */