haiku/3rdparty/mmu_man/themes/ThemeInterfaceView.h
François Revol d1854cb931 * Fix use of FindData(), now we can find colors and fonts!
* Implemented a text input box to name a new theme.
* Made loading of themes asynchronous in a thread, controls are disabled but at least the window appears ASAP.
* fixed app sig
* Implemented setting colors and fonts on Haiku.
* Implemented setting the window decor, but doesn't work as we don't have any decorator installed.
* Enable all addons.
TODO: forbid quitting while themes are loading!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 02:00:42 +00:00

81 lines
1.7 KiB
C++

#include <View.h>
namespace Z {
namespace ThemeManager {
class ThemeManager;
} // ns ThemeManager
} // ns Z
using Z::ThemeManager::ThemeManager;
class BBitmap;
class BSeparator;
class BBox;
class BListView;
class BButton;
class BScrollView;
class BTextView;
class BMessage;
class BStringView;
class MyInvoker;
class ThemeInterfaceView : public BView
{
public:
ThemeInterfaceView(BRect _bounds);
virtual ~ThemeInterfaceView();
virtual void AllAttached();
virtual void MessageReceived(BMessage* _msg);
ThemeManager* GetThemeManager();
void HideScreenshotPane(bool hide);
bool IsScreenshotPaneHidden();
void PopulateThemeList();
void PopulateAddonList();
status_t Revert();
status_t ApplyDefaults();
status_t ApplySelected();
status_t CreateNew(const char *name);
status_t SaveSelected();
status_t DeleteSelected();
status_t AddScreenshot();
status_t ThemeSelected();
void SetIsRevertable();
void SetScreenshot(BBitmap *shot);
status_t AError(const char *func, status_t err);
private:
static int32 _ThemeListPopulatorTh(void *arg);
void _ThemeListPopulator();
ThemeManager* fThemeManager;
bool fScreenshotPaneHidden;
bool fHasScreenshot;
MyInvoker* fPopupInvoker;
BScrollView* fThemeListSV;
BListView* fThemeList;
BButton* fApplyBtn;
BButton* fNewBtn;
BButton* fSaveBtn;
BButton* fDeleteBtn;
BButton* fSetShotBtn;
BButton* fShowSSPaneBtn;
BView* fScreenshotPane;
BStringView* fScreenshotNone;
BBox* fBox;
BScrollView* fAddonListSV;
BListView* fAddonList;
};
extern "C" BView *themes_pref(const BRect& Bounds);
#define SSPANE_WIDTH 320
#define SSPANE_HEIGHT 240