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
|
||||
- Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang)
|
||||
- Added wxWindow::HasFocus().
|
||||
- Added wxGLCanvas::IsDisplaySupported()
|
||||
- Added wxGLCanvas::IsDisplaySupported().
|
||||
- Added wxApp::SetNativeTheme() (Stefan H.).
|
||||
|
||||
wxGTK:
|
||||
|
||||
|
@@ -734,6 +734,19 @@ know what you're doing if you call it.
|
||||
\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}
|
||||
|
||||
\func{void}{SetTopWindow}{\param{wxWindow* }{window}}
|
||||
|
@@ -509,6 +509,9 @@ public:
|
||||
// if it's unknown
|
||||
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)
|
||||
// ------------------------------------------------------------------------
|
||||
|
@@ -36,6 +36,7 @@ public:
|
||||
* (palette/visual/colorcube). under wxMSW, OnInitGui() does nothing by
|
||||
* default. when overriding this method, the code in it is likely to be
|
||||
* platform dependent, otherwise use OnInit(). */
|
||||
virtual bool SetNativeTheme(const wxString& theme);
|
||||
virtual bool OnInitGui();
|
||||
|
||||
// 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()
|
||||
{
|
||||
if ( !wxAppBase::OnInitGui() )
|
||||
|
Reference in New Issue
Block a user