Add wx headers and ext
This commit is contained in:
parent
6390dcef6a
commit
66d3c7b811
1531 changed files with 295895 additions and 0 deletions
87
wxheaders/wx/systhemectrl.h
Normal file
87
wxheaders/wx/systhemectrl.h
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/systhemectrl.h
|
||||
// Purpose: Class to make controls appear in the systems theme
|
||||
// Author: Tobias Taschner
|
||||
// Created: 2014-08-14
|
||||
// Copyright: (c) 2014 wxWidgets development team
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_SYSTHEMECTRL_H
|
||||
#define _WX_SYSTHEMECTRL_H
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if defined(__WXMSW__) && wxUSE_UXTHEME && !defined(__WXUNIVERSAL__)
|
||||
#define wxHAS_SYSTEM_THEMED_CONTROL
|
||||
#endif
|
||||
|
||||
class WXDLLIMPEXP_FWD_CORE wxWindow;
|
||||
|
||||
class WXDLLIMPEXP_CORE wxSystemThemedControlBase
|
||||
{
|
||||
public:
|
||||
wxSystemThemedControlBase()
|
||||
{
|
||||
#ifdef wxHAS_SYSTEM_THEMED_CONTROL
|
||||
m_systemThemeDisabled = false;
|
||||
#endif // wxHAS_SYSTEM_THEMED_CONTROL
|
||||
}
|
||||
|
||||
bool IsSystemThemeDisabled() const
|
||||
{
|
||||
#ifdef wxHAS_SYSTEM_THEMED_CONTROL
|
||||
return m_systemThemeDisabled;
|
||||
#else // !wxHAS_SYSTEM_THEMED_CONTROL
|
||||
return false;
|
||||
#endif // wxHAS_SYSTEM_THEMED_CONTROL/!wxHAS_SYSTEM_THEMED_CONTROL
|
||||
}
|
||||
|
||||
virtual ~wxSystemThemedControlBase() { }
|
||||
|
||||
protected:
|
||||
// This method is virtual and can be overridden, e.g. composite controls do
|
||||
// it to enable the system theme for all of their parts.
|
||||
virtual void DoEnableSystemTheme
|
||||
#ifdef wxHAS_SYSTEM_THEMED_CONTROL
|
||||
// Only __WXMSW__ has a non-trivial implementation currently.
|
||||
(bool enable, wxWindow* window);
|
||||
#else
|
||||
(bool WXUNUSED(enable), wxWindow* WXUNUSED(window)) { }
|
||||
#endif // wxHAS_SYSTEM_THEMED_CONTROL
|
||||
|
||||
private:
|
||||
#ifdef wxHAS_SYSTEM_THEMED_CONTROL
|
||||
bool m_systemThemeDisabled;
|
||||
#endif // wxHAS_SYSTEM_THEMED_CONTROL
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxSystemThemedControlBase);
|
||||
};
|
||||
|
||||
// This class used CRTP, i.e. it should be instantiated for the real base class
|
||||
// and inherited from.
|
||||
template <class C>
|
||||
class wxSystemThemedControl : public C,
|
||||
public wxSystemThemedControlBase
|
||||
{
|
||||
public:
|
||||
wxSystemThemedControl() { }
|
||||
|
||||
void EnableSystemTheme(bool enable = true)
|
||||
{
|
||||
DoEnableSystemTheme(enable, this);
|
||||
}
|
||||
|
||||
protected:
|
||||
void EnableSystemThemeByDefault()
|
||||
{
|
||||
// Check if the system theme hadn't been explicitly disabled before
|
||||
// enabling it by default.
|
||||
if ( !this->IsSystemThemeDisabled() )
|
||||
DoEnableSystemTheme(true, this);
|
||||
}
|
||||
|
||||
wxDECLARE_NO_COPY_TEMPLATE_CLASS(wxSystemThemedControl, C);
|
||||
};
|
||||
|
||||
#endif // _WX_SYSTHEMECTRL_H
|
||||
Loading…
Add table
Add a link
Reference in a new issue