2 * @file gtkicon-theme.h Pidgin Icon Theme Class API
7 * Pidgin 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 PIDGIN_ICON_THEME_H
27 #define PIDGIN_ICON_THEME_H
30 #include <glib-object.h>
34 * extends PurpleTheme (theme.h)
35 * A pidgin icon theme.
36 * This object represents a Pidgin icon theme.
38 * PidginIconTheme is a PurpleTheme Object.
40 typedef struct _PidginIconTheme PidginIconTheme
;
41 typedef struct _PidginIconThemeClass PidginIconThemeClass
;
43 #define PIDGIN_TYPE_ICON_THEME (pidgin_icon_theme_get_type ())
44 #define PIDGIN_ICON_THEME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIDGIN_TYPE_ICON_THEME, PidginIconTheme))
45 #define PIDGIN_ICON_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIDGIN_TYPE_ICON_THEME, PidginIconThemeClass))
46 #define PIDGIN_IS_ICON_THEME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIDGIN_TYPE_ICON_THEME))
47 #define PIDGIN_IS_ICON_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIDGIN_TYPE_ICON_THEME))
48 #define PIDGIN_ICON_THEME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIDGIN_TYPE_ICON_THEME, PidginIconThemeClass))
50 struct _PidginIconTheme
56 struct _PidginIconThemeClass
58 PurpleThemeClass parent_class
;
61 /**************************************************************************/
62 /** @name Pidgin Icon Theme API */
63 /**************************************************************************/
70 GType
pidgin_icon_theme_get_type(void);
73 * Returns a copy of the filename for the icon event or NULL if it is not set
75 * @param theme the theme
76 * @param event the pidgin icon event to look up
78 * @returns the filename of the icon event
80 const gchar
*pidgin_icon_theme_get_icon(PidginIconTheme
*theme
,
84 * Sets the filename for a given icon id, setting the icon to NULL will remove the icon from the theme
86 * @param theme the theme
87 * @param icon_id a string representing what the icon is to be used for
88 * @param filename the name of the file to be used for the given id
90 void pidgin_icon_theme_set_icon(PidginIconTheme
*theme
,
92 const gchar
*filename
);
95 #endif /* PIDGIN_ICON_THEME_H */