67 lines
1.3 KiB
C++
67 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#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
|