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
zacw@1739
     1
/**
zacw@1739
     2
 * @file theme.h  Purple Theme Abstact Class API
zacw@1739
     3
 */
zacw@1739
     4
zacw@1739
     5
/* purple
zacw@1739
     6
 *
zacw@1739
     7
 * Purple is the legal property of its developers, whose names are too numerous
zacw@1739
     8
 * to list here.  Please refer to the COPYRIGHT file distributed with this
zacw@1739
     9
 * source distribution.
zacw@1739
    10
 *
zacw@1739
    11
 * This program is free software; you can redistribute it and/or modify
zacw@1739
    12
 * it under the terms of the GNU General Public License as published by
zacw@1739
    13
 * the Free Software Foundation; either version 2 of the License, or
zacw@1739
    14
 * (at your option) any later version.
zacw@1739
    15
 *
zacw@1739
    16
 * This program is distributed in the hope that it will be useful,
zacw@1739
    17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
zacw@1739
    18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
zacw@1739
    19
 * GNU General Public License for more details.
zacw@1739
    20
 *
zacw@1739
    21
 * You should have received a copy of the GNU General Public License
zacw@1739
    22
 * along with this program; if not, write to the Free Software
zacw@1739
    23
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
zacw@1739
    24
 */
zacw@1739
    25
zacw@1739
    26
#ifndef PURPLE_THEME_H
zacw@1739
    27
#define PURPLE_THEME_H
zacw@1739
    28
zacw@1739
    29
#include <glib.h>
zacw@1739
    30
#include <glib-object.h>
zacw@1739
    31
#include "imgstore.h"
zacw@1739
    32
zacw@1739
    33
/**
zacw@1739
    34
 * A purple theme.
zacw@1739
    35
 * This is an abstract class for Purple to use with the Purple theme manager.
zacw@1739
    36
 *
zacw@1739
    37
 * PurpleTheme is a GObject.
zacw@1739
    38
 */
zacw@1739
    39
typedef struct _PurpleTheme        PurpleTheme;
zacw@1739
    40
typedef struct _PurpleThemeClass   PurpleThemeClass;
zacw@1739
    41
zacw@1739
    42
#define PURPLE_TYPE_THEME            (purple_theme_get_type ())
zacw@1739
    43
#define PURPLE_THEME(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PURPLE_TYPE_THEME, PurpleTheme))
zacw@1739
    44
#define PURPLE_THEME_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PURPLE_TYPE_THEME, PurpleThemeClass))
zacw@1739
    45
#define PURPLE_IS_THEME(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PURPLE_TYPE_THEME))
zacw@1739
    46
#define PURPLE_IS_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PURPLE_TYPE_THEME))
zacw@1739
    47
#define PURPLE_THEME_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), PURPLE_TYPE_THEME, PurpleThemeClass))
zacw@1739
    48
zacw@1739
    49
struct _PurpleTheme
zacw@1739
    50
{
zacw@1739
    51
	GObject parent;
zacw@1739
    52
	gpointer priv;
zacw@1739
    53
};
zacw@1739
    54
zacw@1739
    55
struct _PurpleThemeClass
zacw@1739
    56
{
zacw@1739
    57
	GObjectClass parent_class;
zacw@1739
    58
};
zacw@1739
    59
zacw@1739
    60
/**************************************************************************/
zacw@1739
    61
/** @name Purple Theme API                                                */
zacw@1739
    62
/**************************************************************************/
zacw@1739
    63
G_BEGIN_DECLS
zacw@1739
    64
zacw@1739
    65
/**
zacw@1739
    66
 * GObject foo.
zacw@1739
    67
 * @internal.
zacw@1739
    68
 */
zacw@1739
    69
GType purple_theme_get_type(void);
zacw@1739
    70
zacw@1739
    71
/**
zacw@1739
    72
 * Returns the name of the PurpleTheme object.
zacw@1739
    73
 *
zacw@1739
    74
 * @param theme  The purple theme.
zacw@1739
    75
 *
zacw@1739
    76
 * @return The string representating the name of the theme.
zacw@1739
    77
 */
zacw@1739
    78
const gchar *purple_theme_get_name(PurpleTheme *theme);
zacw@1739
    79
zacw@1739
    80
/**
zacw@1739
    81
 * Sets the name of the PurpleTheme object.
zacw@1739
    82
 *
zacw@1739
    83
 * @param theme The purple theme.
zacw@1739
    84
 * @param name  The name of the PurpleTheme object.
zacw@1739
    85
 */
zacw@1739
    86
void purple_theme_set_name(PurpleTheme *theme, const gchar *name);
zacw@1739
    87
zacw@1739
    88
/**
zacw@1739
    89
 * Returns the description of the PurpleTheme object.
zacw@1739
    90
 *
zacw@1739
    91
 * @param theme  The purple theme.
zacw@1739
    92
 *
zacw@1739
    93
 * @return A short description of the theme.
zacw@1739
    94
 */
zacw@1739
    95
const gchar *purple_theme_get_description(PurpleTheme *theme);
zacw@1739
    96
zacw@1739
    97
/**
zacw@1739
    98
 * Sets the description of the PurpleTheme object.
zacw@1739
    99
 *
zacw@1739
   100
 * @param theme  The purple theme.
zacw@1739
   101
 * @param description The description of the PurpleTheme object.
zacw@1739
   102
 */
zacw@1739
   103
void purple_theme_set_description(PurpleTheme *theme, const gchar *description);
zacw@1739
   104
zacw@1739
   105
/**
zacw@1739
   106
 * Returns the author of the PurpleTheme object.
zacw@1739
   107
 *
zacw@1739
   108
 * @param theme  The purple theme.
zacw@1739
   109
 *
zacw@1739
   110
 * @return The author of the theme.
zacw@1739
   111
 */
zacw@1739
   112
const gchar *purple_theme_get_author(PurpleTheme *theme);
zacw@1739
   113
zacw@1739
   114
/**
zacw@1739
   115
 * Sets the author of the PurpleTheme object.
zacw@1739
   116
 *
zacw@1739
   117
 * @param theme  The purple theme.
zacw@1739
   118
 * @param author The author of the PurpleTheme object.
zacw@1739
   119
 */
zacw@1739
   120
void purple_theme_set_author(PurpleTheme *theme, const gchar *author);
zacw@1739
   121
zacw@1739
   122
/**
zacw@1739
   123
 * Returns the type (string) of the PurpleTheme object.
zacw@1739
   124
 *
zacw@1739
   125
 * @param theme  The purple theme.
zacw@1739
   126
 *
zacw@1739
   127
 * @return The string represtenting the type.
zacw@1739
   128
 */
zacw@1739
   129
const gchar *purple_theme_get_type_string(PurpleTheme *theme);
zacw@1739
   130
zacw@1739
   131
/**
zacw@1739
   132
 * Returns the directory of the PurpleTheme object.
zacw@1739
   133
 *
zacw@1739
   134
 * @param theme  The purple theme.
zacw@1739
   135
 *
zacw@1739
   136
 * @return The string represtenting the theme directory.
zacw@1739
   137
 */
zacw@1739
   138
const gchar *purple_theme_get_dir(PurpleTheme *theme);
zacw@1739
   139
zacw@1739
   140
/**
zacw@1739
   141
 * Sets the directory of the PurpleTheme object.
zacw@1739
   142
 *
zacw@1739
   143
 * @param theme  The purple theme.
zacw@1739
   144
 * @param dir    The directory of the PurpleTheme object.
zacw@1739
   145
 */
zacw@1739
   146
void purple_theme_set_dir(PurpleTheme *theme, const gchar *dir);
zacw@1739
   147
zacw@1739
   148
/**
zacw@1739
   149
 * Returns the image preview of the PurpleTheme object.
zacw@1739
   150
 *
zacw@1739
   151
 * @param theme  The purple theme.
zacw@1739
   152
 *
zacw@1739
   153
 * @return The image preview of the PurpleTheme object.
zacw@1739
   154
 */
zacw@1739
   155
const gchar *purple_theme_get_image(PurpleTheme *theme);
zacw@1739
   156
zacw@1739
   157
/**
zacw@1739
   158
 * Returns the image preview and directory of the PurpleTheme object.
zacw@1739
   159
 *
zacw@1739
   160
 * @param theme  The purple theme.
zacw@1739
   161
 *
zacw@1739
   162
 * @return The image preview of the PurpleTheme object.
zacw@1739
   163
 */
zacw@1739
   164
gchar *purple_theme_get_image_full(PurpleTheme *theme);
zacw@1739
   165
zacw@1739
   166
/**
zacw@1739
   167
 * Sets the directory of the PurpleTheme object.
zacw@1739
   168
 *
zacw@1739
   169
 * @param theme	 The purple theme.
zacw@1739
   170
 * @param img    The image preview of the PurpleTheme object.
zacw@1739
   171
 */
zacw@1739
   172
void purple_theme_set_image(PurpleTheme *theme, const gchar *img);
zacw@1739
   173
zacw@1739
   174
G_END_DECLS
zacw@1739
   175
#endif /* PURPLE_THEME_H */