2
* @file theme.h Purple Theme Abstact Class API
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
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.
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.
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
26
#ifndef PURPLE_THEME_H
27
#define PURPLE_THEME_H
30
#include <glib-object.h>
35
* This is an abstract class for Purple to use with the Purple theme manager.
37
* PurpleTheme is a GObject.
39
typedef struct _PurpleTheme PurpleTheme;
40
typedef struct _PurpleThemeClass PurpleThemeClass;
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))
55
struct _PurpleThemeClass
57
GObjectClass parent_class;
60
/**************************************************************************/
61
/** @name Purple Theme API */
62
/**************************************************************************/
69
GType purple_theme_get_type(void);
72
* Returns the name of the PurpleTheme object.
74
* @param theme The purple theme.
76
* @return The string representing the name of the theme.
78
const gchar *purple_theme_get_name(PurpleTheme *theme);
81
* Sets the name of the PurpleTheme object.
83
* @param theme The purple theme.
84
* @param name The name of the PurpleTheme object.
86
void purple_theme_set_name(PurpleTheme *theme, const gchar *name);
89
* Returns the description of the PurpleTheme object.
91
* @param theme The purple theme.
93
* @return A short description of the theme.
95
const gchar *purple_theme_get_description(PurpleTheme *theme);
98
* Sets the description of the PurpleTheme object.
100
* @param theme The purple theme.
101
* @param description The description of the PurpleTheme object.
103
void purple_theme_set_description(PurpleTheme *theme, const gchar *description);
106
* Returns the author of the PurpleTheme object.
108
* @param theme The purple theme.
110
* @return The author of the theme.
112
const gchar *purple_theme_get_author(PurpleTheme *theme);
115
* Sets the author of the PurpleTheme object.
117
* @param theme The purple theme.
118
* @param author The author of the PurpleTheme object.
120
void purple_theme_set_author(PurpleTheme *theme, const gchar *author);
123
* Returns the type (string) of the PurpleTheme object.
125
* @param theme The purple theme.
127
* @return The string representing the type.
129
const gchar *purple_theme_get_type_string(PurpleTheme *theme);
132
* Returns the directory of the PurpleTheme object.
134
* @param theme The purple theme.
136
* @return The string representing the theme directory.
138
const gchar *purple_theme_get_dir(PurpleTheme *theme);
141
* Sets the directory of the PurpleTheme object.
143
* @param theme The purple theme.
144
* @param dir The directory of the PurpleTheme object.
146
void purple_theme_set_dir(PurpleTheme *theme, const gchar *dir);
149
* Returns the image preview of the PurpleTheme object.
151
* @param theme The purple theme.
153
* @return The image preview of the PurpleTheme object.
155
const gchar *purple_theme_get_image(PurpleTheme *theme);
158
* Returns the image preview and directory of the PurpleTheme object.
160
* @param theme The purple theme.
162
* @return The image preview of the PurpleTheme object.
164
gchar *purple_theme_get_image_full(PurpleTheme *theme);
167
* Sets the directory of the PurpleTheme object.
169
* @param theme The purple theme.
170
* @param img The image preview of the PurpleTheme object.
172
void purple_theme_set_image(PurpleTheme *theme, const gchar *img);
175
#endif /* PURPLE_THEME_H */