summaryrefslogtreecommitdiff
path: root/Plugins/skins/m_skins_cpp.h
diff options
context:
space:
mode:
Diffstat (limited to 'Plugins/skins/m_skins_cpp.h')
-rw-r--r--Plugins/skins/m_skins_cpp.h29
1 files changed, 26 insertions, 3 deletions
diff --git a/Plugins/skins/m_skins_cpp.h b/Plugins/skins/m_skins_cpp.h
index e398f52..a1e5756 100644
--- a/Plugins/skins/m_skins_cpp.h
+++ b/Plugins/skins/m_skins_cpp.h
@@ -30,6 +30,7 @@ class SkinFieldState
{
public:
SkinFieldState(SKINNED_FIELD_STATE field) { this->field = field; }
+ virtual ~SkinFieldState() { if (tooltip != NULL) mir_free(tooltip); }
BOOL isValid() { return field != NULL; }
@@ -38,15 +39,28 @@ public:
RECT getBorders() { return mski.GetBorders(field); }
BOOL isVisible() { return mski.IsVisible(field); }
+ const TCHAR * getToolTip() {
+ if (tooltip != NULL)
+ mir_free(tooltip);
+
+#ifdef UNICODE
+ tooltip = mski.GetToolTipW(field);
+#else
+ tooltip = mski.GetToolTipA(field);
+#endif
+ return tooltip;
+ }
+
protected:
SKINNED_FIELD_STATE field;
+ TCHAR *tooltip;
};
class SkinTextFieldState : public SkinFieldState
{
public:
SkinTextFieldState(SKINNED_FIELD_STATE field) : SkinFieldState(field), text(NULL) {}
- ~SkinTextFieldState() { if (text != NULL) mir_free(text); }
+ virtual ~SkinTextFieldState() { if (text != NULL) mir_free(text); }
const TCHAR * getText() {
if (text != NULL)
@@ -57,7 +71,7 @@ public:
#else
text = mski.GetTextA(field);
#endif
- return text;
+ return text;
}
HFONT getFont() { return mski.GetFont(field); }
@@ -89,12 +103,12 @@ class SkinDialogState
{
public:
SkinDialogState(SKINNED_DIALOG_STATE dlg) { this->dlg = dlg; }
-// ~SkinDialogState() { mski.DeleteDialogState(dlg); dlg = NULL; }
BOOL isValid() { return dlg != NULL; }
RECT getBorders() { return mski.GetDialogBorders(dlg); }
+ SkinFieldState getField(const char *name) { return SkinFieldState( mski.GetFieldState(dlg, name) ); }
SkinTextFieldState getTextField(const char *name) { return SkinTextFieldState( mski.GetFieldState(dlg, name) ); }
SkinIconFieldState getIconField(const char *name) { return SkinIconFieldState( mski.GetFieldState(dlg, name) ); }
SkinImageFieldState getImageField(const char *name) { return SkinImageFieldState( mski.GetFieldState(dlg, name) ); }
@@ -113,6 +127,14 @@ public:
void setEnabled(BOOL enabled) { mski.SetEnabled(field, enabled); }
+ void setToolTip(const TCHAR *tooltip) {
+#ifdef UNICODE
+ mski.SetToolTipW(field, tooltip);
+#else
+ mski.SetToolTipA(field, tooltip);
+#endif
+ }
+
protected:
SKINNED_FIELD field;
};
@@ -166,6 +188,7 @@ public:
SkinIconField addIconField(const char *name, const char *description) { return SkinIconField( mski.AddIconField(dlg, name, description) ); }
SkinImageField addImageField(const char *name, const char *description) { return SkinImageField( mski.AddImageField(dlg, name, description) ); }
+ SkinField getField(const char *name) { return SkinField( mski.GetField(dlg, name) ); }
SkinTextField getTextField(const char *name) { return SkinTextField( mski.GetField(dlg, name) ); }
SkinIconField getIconField(const char *name) { return SkinIconField( mski.GetField(dlg, name) ); }
SkinImageField getImageField(const char *name) { return SkinImageField( mski.GetField(dlg, name) ); }