gtkblist-theme.h

Go to the documentation of this file.
00001 
00005 /* pidgin
00006  *
00007  * Pidgin is the legal property of its developers, whose names are too numerous
00008  * to list here.  Please refer to the COPYRIGHT file distributed with this
00009  * source distribution.
00010  *
00011  * This program is free software; you can redistribute it and/or modify
00012  * it under the terms of the GNU General Public License as published by
00013  * the Free Software Foundation; either version 2 of the License, or
00014  * (at your option) any later version.
00015  *
00016  * This program is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019  * GNU General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU General Public License
00022  * along with this program; if not, write to the Free Software
00023  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
00024  */
00025 
00026 #ifndef PIDGIN_BLIST_THEME_H
00027 #define PIDGIN_BLIST_THEME_H
00028 
00029 #include <glib.h>
00030 #include <glib-object.h>
00031 #include <gtk/gtk.h>
00032 
00033 #include "theme.h"
00034 
00041 typedef struct _PidginBlistTheme        PidginBlistTheme;
00042 typedef struct _PidginBlistThemeClass   PidginBlistThemeClass;
00043 
00044 #define PIDGIN_TYPE_BLIST_THEME            (pidgin_blist_theme_get_type ())
00045 #define PIDGIN_BLIST_THEME(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIDGIN_TYPE_BLIST_THEME, PidginBlistTheme))
00046 #define PIDGIN_BLIST_THEME_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PIDGIN_TYPE_BLIST_THEME, PidginBlistThemeClass))
00047 #define PIDGIN_IS_BLIST_THEME(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIDGIN_TYPE_BLIST_THEME))
00048 #define PIDGIN_IS_BLIST_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIDGIN_TYPE_BLIST_THEME))
00049 #define PIDGIN_BLIST_THEME_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), PIDGIN_TYPE_BLIST_THEME, PidginBlistThemeClass))
00050 
00051 struct _PidginBlistTheme
00052 {
00053     PurpleTheme parent;
00054     gpointer priv;
00055 };
00056 
00057 struct _PidginBlistThemeClass
00058 {
00059     PurpleThemeClass parent_class;
00060 };
00061 
00062 #if 0
00063 typedef struct
00064 {
00065     const gchar *font;
00066     const gchar *color;
00067 
00068 } PidginThemeFont;
00069 #endif
00070 typedef struct _PidginThemeFont PidginThemeFont;
00071 
00072 typedef struct
00073 {
00074     gint status_icon;
00075     gint text;
00076     gint emblem;
00077     gint protocol_icon;
00078     gint buddy_icon;
00079     gboolean show_status;
00080 
00081 } PidginBlistLayout;
00082 
00083 /**************************************************************************/
00085 /**************************************************************************/
00086 
00095 PidginThemeFont * pidgin_theme_font_new(const gchar *face, GdkColor *color);
00096 
00102 void pidgin_theme_font_free(PidginThemeFont *font);
00103 
00110 void pidgin_theme_font_set_font_face(PidginThemeFont *font, const gchar *face);
00111 
00118 void pidgin_theme_font_set_color(PidginThemeFont *font, const GdkColor *color);
00119 
00127 const gchar * pidgin_theme_font_get_font_face(PidginThemeFont *font);
00128 
00136 const GdkColor * pidgin_theme_font_get_color(PidginThemeFont *font);
00137 
00145 const gchar * pidgin_theme_font_get_color_describe(PidginThemeFont *font);
00146 
00147 /**************************************************************************/
00149 /**************************************************************************/
00150 G_BEGIN_DECLS
00151 
00156 GType pidgin_blist_theme_get_type(void);
00157 
00158 /* get methods */
00159 
00167  GdkColor *pidgin_blist_theme_get_background_color(PidginBlistTheme *theme);
00168 
00177 gdouble pidgin_blist_theme_get_opacity(PidginBlistTheme *theme);
00178 
00186  PidginBlistLayout *pidgin_blist_theme_get_layout(PidginBlistTheme *theme);
00187 
00195  GdkColor *pidgin_blist_theme_get_expanded_background_color(PidginBlistTheme *theme);
00196 
00204  PidginThemeFont *pidgin_blist_theme_get_expanded_text_info(PidginBlistTheme *theme);
00205 
00213  GdkColor *pidgin_blist_theme_get_collapsed_background_color(PidginBlistTheme *theme);
00214 
00222  PidginThemeFont *pidgin_blist_theme_get_collapsed_text_info(PidginBlistTheme *theme);
00223 
00231  GdkColor *pidgin_blist_theme_get_contact_color(PidginBlistTheme *theme);
00232 
00240  PidginThemeFont *pidgin_blist_theme_get_contact_text_info(PidginBlistTheme *theme);
00241 
00249  PidginThemeFont *pidgin_blist_theme_get_online_text_info(PidginBlistTheme *theme);
00250 
00258  PidginThemeFont *pidgin_blist_theme_get_away_text_info(PidginBlistTheme *theme);
00259 
00267  PidginThemeFont *pidgin_blist_theme_get_offline_text_info(PidginBlistTheme *theme);
00268 
00276  PidginThemeFont *pidgin_blist_theme_get_idle_text_info(PidginBlistTheme *theme);
00277 
00285  PidginThemeFont *pidgin_blist_theme_get_unread_message_text_info(PidginBlistTheme *theme);
00286 
00295  PidginThemeFont *pidgin_blist_theme_get_unread_message_nick_said_text_info(PidginBlistTheme *theme);
00296 
00304  PidginThemeFont *pidgin_blist_theme_get_status_text_info(PidginBlistTheme *theme);
00305 
00306 /* Set Methods */
00307 
00314 void pidgin_blist_theme_set_background_color(PidginBlistTheme *theme, const GdkColor *color);
00315 
00322 void pidgin_blist_theme_set_opacity(PidginBlistTheme *theme, gdouble opacity);
00323 
00330 void pidgin_blist_theme_set_layout(PidginBlistTheme *theme, const PidginBlistLayout *layout);
00331 
00338 void pidgin_blist_theme_set_expanded_background_color(PidginBlistTheme *theme, const GdkColor *color);
00339 
00346 void pidgin_blist_theme_set_expanded_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00347 
00354 void pidgin_blist_theme_set_collapsed_background_color(PidginBlistTheme *theme, const GdkColor *color);
00355 
00362 void pidgin_blist_theme_set_collapsed_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00363 
00370 void pidgin_blist_theme_set_contact_color(PidginBlistTheme *theme, const GdkColor *color);
00371 
00378 void pidgin_blist_theme_set_contact_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00379 
00386 void pidgin_blist_theme_set_online_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00387 
00394 void pidgin_blist_theme_set_away_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00395 
00402 void pidgin_blist_theme_set_offline_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00403 
00410 void pidgin_blist_theme_set_idle_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00411 
00418 void pidgin_blist_theme_set_unread_message_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00419 
00427 void pidgin_blist_theme_set_unread_message_nick_said_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00428 
00435 void pidgin_blist_theme_set_status_text_info(PidginBlistTheme *theme, const PidginThemeFont *pair);
00436 
00437 G_END_DECLS
00438 #endif /* PIDGIN_BLIST_THEME_H */