00001
00026 #ifndef _PURPLE_PLUGINPREF_H_
00027 #define _PURPLE_PLUGINPREF_H_
00028
00029 typedef struct _PurplePluginPrefFrame PurplePluginPrefFrame;
00030 typedef struct _PurplePluginPref PurplePluginPref;
00031
00035 typedef enum
00036 {
00037 PURPLE_STRING_FORMAT_TYPE_NONE = 0,
00038 PURPLE_STRING_FORMAT_TYPE_MULTILINE = 1 << 0,
00039 PURPLE_STRING_FORMAT_TYPE_HTML = 1 << 1
00040 } PurpleStringFormatType;
00041
00042 typedef enum {
00043 PURPLE_PLUGIN_PREF_NONE,
00044 PURPLE_PLUGIN_PREF_CHOICE,
00045 PURPLE_PLUGIN_PREF_INFO,
00046 PURPLE_PLUGIN_PREF_STRING_FORMAT
00047 } PurplePluginPrefType;
00048
00049 #include <glib.h>
00050 #include "prefs.h"
00051
00052 #ifdef __cplusplus
00053 extern "C" {
00054 #endif
00055
00056
00058
00066 PurplePluginPrefFrame *purple_plugin_pref_frame_new(void);
00067
00073 void purple_plugin_pref_frame_destroy(PurplePluginPrefFrame *frame);
00074
00081 void purple_plugin_pref_frame_add(PurplePluginPrefFrame *frame, PurplePluginPref *pref);
00082
00089 GList *purple_plugin_pref_frame_get_prefs(PurplePluginPrefFrame *frame);
00090
00096 PurplePluginPref *purple_plugin_pref_new(void);
00097
00104 PurplePluginPref *purple_plugin_pref_new_with_name(const char *name);
00105
00112 PurplePluginPref *purple_plugin_pref_new_with_label(const char *label);
00113
00121 PurplePluginPref *purple_plugin_pref_new_with_name_and_label(const char *name, const char *label);
00122
00128 void purple_plugin_pref_destroy(PurplePluginPref *pref);
00129
00136 void purple_plugin_pref_set_name(PurplePluginPref *pref, const char *name);
00137
00144 const char *purple_plugin_pref_get_name(PurplePluginPref *pref);
00145
00152 void purple_plugin_pref_set_label(PurplePluginPref *pref, const char *label);
00153
00160 const char *purple_plugin_pref_get_label(PurplePluginPref *pref);
00161
00169 void purple_plugin_pref_set_bounds(PurplePluginPref *pref, int min, int max);
00170
00178 void purple_plugin_pref_get_bounds(PurplePluginPref *pref, int *min, int *max);
00179
00186 void purple_plugin_pref_set_type(PurplePluginPref *pref, PurplePluginPrefType type);
00187
00194 PurplePluginPrefType purple_plugin_pref_get_type(PurplePluginPref *pref);
00195
00203 void purple_plugin_pref_add_choice(PurplePluginPref *pref, const char *label, gpointer choice);
00204
00211 GList *purple_plugin_pref_get_choices(PurplePluginPref *pref);
00212
00219 void purple_plugin_pref_set_max_length(PurplePluginPref *pref, unsigned int max_length);
00220
00227 unsigned int purple_plugin_pref_get_max_length(PurplePluginPref *pref);
00228
00235 void purple_plugin_pref_set_masked(PurplePluginPref *pref, gboolean mask);
00236
00243 gboolean purple_plugin_pref_get_masked(PurplePluginPref *pref);
00244
00252 void purple_plugin_pref_set_format_type(PurplePluginPref *pref, PurpleStringFormatType format);
00253
00260 PurpleStringFormatType purple_plugin_pref_get_format_type(PurplePluginPref *pref);
00261
00264 #ifdef __cplusplus
00265 }
00266 #endif
00267
00268 #endif