#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