theme-manager.h File Reference

Theme Manager API. More...

#include <glib-object.h>
#include <glib.h>
#include "theme.h"
#include "theme-loader.h"

Include dependency graph for theme-manager.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _PurpleThemeManager
struct  _PurpleThemeManagerClass

Defines

#define PURPLE_TYPE_THEME_MANAGER   (purple_theme_manager_get_type())
#define PURPLE_THEME_MANAGER(obj)   (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_THEME_MANAGER, PurpleThemeManager))
#define PURPLE_THEME_MANAGER_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_THEME_MANAGER, PurpleThemeManagerClass))
#define PURPLE_IS_THEME_MANAGER(obj)   (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_THEME_MANAGER))
#define PURPLE_IS_THEME_MANAGER_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_THEME_MANAGER))
#define PURPLE_GET_THEME_MANAGER_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_THEME_MANAGER, PurpleThemeManagerClass))

Typedefs

typedef void(* PTFunc )(PurpleTheme *)
typedef struct _PurpleThemeManager PurpleThemeManager
typedef struct
_PurpleThemeManagerClass 
PurpleThemeManagerClass

Functions

Purple Theme Manager API
G_BEGIN_DECLS GType purple_theme_manager_get_type (void)
 GObject foo.
void purple_theme_manager_init (void)
 Initalizes the theme manager.
void purple_theme_manager_uninit (void)
 Uninitalizes the manager then frees all the themes and loaders it is responsible for.
void purple_theme_manager_refresh (void)
 Rebuilds all the themes in the theme manager.
PurpleThemepurple_theme_manager_find_theme (const gchar *name, const gchar *type)
 Finds the PurpleTheme object stored by the theme manager.
void purple_theme_manager_add_theme (PurpleTheme *theme)
 Adds a PurpleTheme to the theme manager.
void purple_theme_manager_remove_theme (PurpleTheme *theme)
 Removes a PurpleTheme from the theme manager and frees the theme.
void purple_theme_manager_register_type (PurpleThemeLoader *loader)
 Adds a loader to the theme manager so it knows how to build themes.
void purple_theme_manager_unregister_type (PurpleThemeLoader *loader)
 Removes the loader and all themes of the same type from the loader.
void purple_theme_manager_for_each_theme (PTFunc func)
 Calls the given function on each purple theme.
PurpleThemepurple_theme_manager_load_theme (const gchar *theme_dir, const gchar *type)
 Loads a theme of the given type without adding it to the manager.


Detailed Description

Theme Manager API.

Definition in file theme-manager.h.


Function Documentation

void purple_theme_manager_add_theme ( PurpleTheme theme  ) 

Adds a PurpleTheme to the theme manager.

If the theme already exists then this function does nothing.

Parameters:
theme The PurpleTheme to add to the manager.

PurpleTheme* purple_theme_manager_find_theme ( const gchar *  name,
const gchar *  type 
)

Finds the PurpleTheme object stored by the theme manager.

Parameters:
name The name of the PurpleTheme.
type The type of the PurpleTheme.
Returns:
The PurpleTheme, or NULL if it wasn't found.

void purple_theme_manager_for_each_theme ( PTFunc  func  ) 

Calls the given function on each purple theme.

Parameters:
func The PTFunc to be applied to each theme.

PurpleTheme* purple_theme_manager_load_theme ( const gchar *  theme_dir,
const gchar *  type 
)

Loads a theme of the given type without adding it to the manager.

Parameters:
theme_dir the directory of the theme to load
type the type of theme to load

void purple_theme_manager_refresh ( void   ) 

Rebuilds all the themes in the theme manager.

(Removes all current themes but keeps the added loaders.)

void purple_theme_manager_register_type ( PurpleThemeLoader loader  ) 

Adds a loader to the theme manager so it knows how to build themes.

Parameters:
loader The PurpleThemeLoader to add.

void purple_theme_manager_remove_theme ( PurpleTheme theme  ) 

Removes a PurpleTheme from the theme manager and frees the theme.

Parameters:
theme The PurpleTheme to remove from the manager.

void purple_theme_manager_unregister_type ( PurpleThemeLoader loader  ) 

Removes the loader and all themes of the same type from the loader.

Parameters:
loader The PurpleThemeLoader to be removed.