Frameworks/libpurple.framework/Versions/0.6.2/Headers/theme.h
author Zachary West <zacw@adium.im>
Fri Aug 21 13:25:11 2009 -0700 (2009-08-21)
changeset 2592 e8d15275025e
parent 1739 Frameworks/libpurple.framework/Versions/0.6.0/Headers/theme.h@8b0daad9656c
permissions -rw-r--r--
im.pidgin.adium.1-4 at 267c6165e02e34318a1823960bd04c0639952f73
     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 */