add SetNativeTheme() (slightly modified patch 1884553)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -279,7 +279,8 @@ All (GUI):
|
|||||||
- Made wxSizer::Fit() set the client size of the target window
|
- Made wxSizer::Fit() set the client size of the target window
|
||||||
- Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang)
|
- Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang)
|
||||||
- Added wxWindow::HasFocus().
|
- Added wxWindow::HasFocus().
|
||||||
- Added wxGLCanvas::IsDisplaySupported()
|
- Added wxGLCanvas::IsDisplaySupported().
|
||||||
|
- Added wxApp::SetNativeTheme() (Stefan H.).
|
||||||
|
|
||||||
wxGTK:
|
wxGTK:
|
||||||
|
|
||||||
|
@@ -734,6 +734,19 @@ know what you're doing if you call it.
|
|||||||
\helpref{wxApp::GetInstance}{wxappgetinstance}
|
\helpref{wxApp::GetInstance}{wxappgetinstance}
|
||||||
|
|
||||||
|
|
||||||
|
\membersection{wxApp::SetNativeTheme}\label{wxappsetnativetheme}
|
||||||
|
|
||||||
|
\func{bool}{SetNativeTheme}{\param{const}{wxString\&}{theme}}
|
||||||
|
|
||||||
|
Allows runtime switching of the UI environment theme. Currently implemented for wxGTK2-only.
|
||||||
|
|
||||||
|
Return \true if theme was successfully changed.
|
||||||
|
|
||||||
|
\wxheading{Parameters}
|
||||||
|
|
||||||
|
\docparam{theme}{The name of the new theme or an absolute path to a gtkrc-theme-file}
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxApp::SetTopWindow}\label{wxappsettopwindow}
|
\membersection{wxApp::SetTopWindow}\label{wxappsettopwindow}
|
||||||
|
|
||||||
\func{void}{SetTopWindow}{\param{wxWindow* }{window}}
|
\func{void}{SetTopWindow}{\param{wxWindow* }{window}}
|
||||||
|
@@ -509,6 +509,9 @@ public:
|
|||||||
// if it's unknown
|
// if it's unknown
|
||||||
virtual wxLayoutDirection GetLayoutDirection() const;
|
virtual wxLayoutDirection GetLayoutDirection() const;
|
||||||
|
|
||||||
|
// Change the theme used by the application, return true on success.
|
||||||
|
virtual bool SetNativeTheme(const wxString& WXUNUSED(theme)) { return false; }
|
||||||
|
|
||||||
|
|
||||||
// command line parsing (GUI-specific)
|
// command line parsing (GUI-specific)
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
|
@@ -36,6 +36,7 @@ public:
|
|||||||
* (palette/visual/colorcube). under wxMSW, OnInitGui() does nothing by
|
* (palette/visual/colorcube). under wxMSW, OnInitGui() does nothing by
|
||||||
* default. when overriding this method, the code in it is likely to be
|
* default. when overriding this method, the code in it is likely to be
|
||||||
* platform dependent, otherwise use OnInit(). */
|
* platform dependent, otherwise use OnInit(). */
|
||||||
|
virtual bool SetNativeTheme(const wxString& theme);
|
||||||
virtual bool OnInitGui();
|
virtual bool OnInitGui();
|
||||||
|
|
||||||
// override base class (pure) virtuals
|
// override base class (pure) virtuals
|
||||||
|
@@ -251,6 +251,30 @@ wxApp::~wxApp()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxApp::SetNativeTheme(const wxString& theme)
|
||||||
|
{
|
||||||
|
wxString path;
|
||||||
|
path = gtk_rc_get_theme_dir();
|
||||||
|
path += "/";
|
||||||
|
path += theme.utf8_str();
|
||||||
|
path += "/gtk-2.0/gtkrc";
|
||||||
|
|
||||||
|
if ( wxFileExists(path.utf8_str()) )
|
||||||
|
gtk_rc_add_default_file(path.utf8_str());
|
||||||
|
else if ( wxFileExists(theme.utf8_str()) )
|
||||||
|
gtk_rc_add_default_file(theme.utf8_str());
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wxLogWarning("Theme \"%s\" not available.", theme);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_rc_reparse_all_for_settings(gtk_settings_get_default(), TRUE);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool wxApp::OnInitGui()
|
bool wxApp::OnInitGui()
|
||||||
{
|
{
|
||||||
if ( !wxAppBase::OnInitGui() )
|
if ( !wxAppBase::OnInitGui() )
|
||||||
|
Reference in New Issue
Block a user