ef01092096
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23804 a95241bf-73f2-0310-859d-f6bbb57e9c96
54 lines
1009 B
C++
54 lines
1009 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 */
|