mirror of
https://review.haiku-os.org/haiku
synced 2025-02-02 03:36:14 +01:00
6359dcf902
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23803 a95241bf-73f2-0310-859d-f6bbb57e9c96
53 lines
1008 B
C++
53 lines
1008 B
C++
#ifndef _THEME_IMPORTER_H
|
|
#define _THEME_IMPORTER_H
|
|
/*
|
|
* ThemeImporter class header
|
|
*/
|
|
|
|
class BDirectory;
|
|
class BMessage;
|
|
class BString;
|
|
|
|
namespace Z {
|
|
namespace ThemeManager {
|
|
|
|
class ThemeManager;
|
|
|
|
class ThemeImporter {
|
|
public:
|
|
ThemeImporter(const char *name);
|
|
virtual ~ThemeImporter();
|
|
|
|
/* presentation */
|
|
|
|
virtual const char *Name(); /* pretty name */
|
|
virtual const char *Description(); /* tooltip... */
|
|
// if you override, call it first
|
|
virtual status_t LoadSettings(BMessage &settings);
|
|
// if you override, call it last
|
|
virtual status_t SaveSettings(BMessage &settings);
|
|
void SetFlags(uint32 flags);
|
|
uint32 Flags();
|
|
|
|
/* Theme manipulation */
|
|
|
|
virtual status_t FetchThemes();
|
|
virtual status_t ImportNextTheme(BMessage **theme);
|
|
virtual status_t EndImports();
|
|
|
|
/* */
|
|
|
|
protected:
|
|
|
|
friend class Z::ThemeManager::ThemeManager;
|
|
BString fName;
|
|
uint32 fFlags;
|
|
BMessage fSettings;
|
|
};
|
|
|
|
} // ns ThemeManager
|
|
} // ns Z
|
|
|
|
using namespace Z::ThemeManager;
|
|
|
|
#endif /* _THEME_IMPORTER_H */ |