75 lines
1.3 KiB
C
75 lines
1.3 KiB
C
|
|
||
|
|
||
|
#ifndef TNZ_STYLECONTROL_INCLUDED
|
||
|
#define TNZ_STYLECONTROL_INCLUDED
|
||
|
|
||
|
#include "tw/action.h"
|
||
|
|
||
|
#undef DVAPI
|
||
|
#undef DVVAR
|
||
|
#ifdef TWIN_EXPORTS
|
||
|
#define DVAPI DV_EXPORT_API
|
||
|
#define DVVAR DV_EXPORT_VAR
|
||
|
#else
|
||
|
#define DVAPI DV_IMPORT_API
|
||
|
#define DVVAR DV_IMPORT_VAR
|
||
|
#endif
|
||
|
|
||
|
class TColorStyle;
|
||
|
class TPalette;
|
||
|
class TLevel;
|
||
|
class TFilePath;
|
||
|
|
||
|
class DVAPI TStyleControl : public TWidget, public TCommandSource
|
||
|
{
|
||
|
class Data;
|
||
|
Data *m_data;
|
||
|
|
||
|
public:
|
||
|
enum {
|
||
|
COLOR_PAGE = 0x01,
|
||
|
TEXTURE_PAGE = 0x02,
|
||
|
SPECIAL_PAGE = 0x04,
|
||
|
CUSTOM_PAGE = 0x08,
|
||
|
SETTINGS_PAGE = 0x10,
|
||
|
|
||
|
NO_PAGES = 0x00,
|
||
|
ALL_PAGES = 0x1F
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
ALL_STYLES = 0x01,
|
||
|
VECTOR_SYLES_ONLY = 0x02
|
||
|
};
|
||
|
|
||
|
TStyleControl(
|
||
|
TWidget *parent,
|
||
|
const TFilePath &rootDir,
|
||
|
int styleFilter = ALL_STYLES);
|
||
|
~TStyleControl();
|
||
|
|
||
|
void setActivePages(unsigned long pageMask);
|
||
|
|
||
|
void configureNotify(const TDimension &);
|
||
|
void draw();
|
||
|
|
||
|
void setStyle(TPalette *palette, int styleIndex);
|
||
|
|
||
|
const TColorStyle *getCurrentStyle() const;
|
||
|
int getCurrentStyleIndex() const;
|
||
|
TPalette *getPalette() const;
|
||
|
|
||
|
virtual void onChangeStyleParam(bool dragging) {}
|
||
|
virtual void onChangeStyleNumericParam(int paramIndex, bool dragging)
|
||
|
{
|
||
|
onChangeStyleParam(dragging);
|
||
|
}
|
||
|
|
||
|
void refreshCurrentPage();
|
||
|
|
||
|
void setAutoApply(bool on);
|
||
|
bool getAutoApply() const;
|
||
|
};
|
||
|
|
||
|
#endif
|