struct CCL::IThemeManager

Overview

The theme manager maintains a list of loaded themes. More…

#include <ithememanager.h>

struct IThemeManager: public CCL::IUnknown
{
    // fields

    static const String kThemeProtocol = CCLSTR ("theme");

    // methods

    virtual const FileType&CCL_API getThemeFileType () const = 0;

    virtual tresult CCL_API loadTheme (
        ITheme*& theme,
        UrlRef path,
        StringID themeID,
        ITranslationTable* table = nullptr,
        ModuleRef module = nullptr
    ) = 0;

    virtual ITheme*CCL_API getTheme (StringID themeID) const = 0;
    virtual ITheme*CCL_API getModuleTheme (ModuleRef module) const = 0;
    virtual ITheme*CCL_API getApplicationTheme () const = 0;
    virtual tresult CCL_API reloadTheme (ITheme* theme, tbool keepImages = false) = 0;
    virtual tresult CCL_API unloadTheme (ITheme* theme) = 0;
    virtual tresult CCL_API reloadAll (tbool keepImages = false) = 0;
    virtual tresult CCL_API addSearchLocation (UrlRef folder) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

The theme manager maintains a list of loaded themes.

Fields

static const String kThemeProtocol = CCLSTR ("theme")

theme protocol identifier

Methods

virtual const FileType&CCL_API getThemeFileType () const = 0

Get theme file type.

virtual tresult CCL_API loadTheme (
    ITheme*& theme,
    UrlRef path,
    StringID themeID,
    ITranslationTable* table = nullptr,
    ModuleRef module = nullptr
) = 0

Load theme from package file.

virtual ITheme*CCL_API getTheme (StringID themeID) const = 0

Get theme by identifier.

virtual ITheme*CCL_API getModuleTheme (ModuleRef module) const = 0

Get theme by module.

virtual ITheme*CCL_API getApplicationTheme () const = 0

Get application theme (main module), can be null.

virtual tresult CCL_API reloadTheme (ITheme* theme, tbool keepImages = false) = 0

Reload theme.

virtual tresult CCL_API unloadTheme (ITheme* theme) = 0

Unload theme.

virtual tresult CCL_API reloadAll (tbool keepImages = false) = 0

Reload all themes.

virtual tresult CCL_API addSearchLocation (UrlRef folder) = 0

Add global location where package files can be found for import.