Add wxPreferencesEditor::ShownModally().
While this is not necessary to use wxPreferencesEditor in normal scenario, it can be useful if the program needs to handle modal dialogs in some special way. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -24,9 +24,13 @@ class wxPreferencesEditorImpl;
|
|||||||
#define wxHAS_PREF_EDITOR_ICONS
|
#define wxHAS_PREF_EDITOR_ICONS
|
||||||
// Changes should be applied immediately
|
// Changes should be applied immediately
|
||||||
#define wxHAS_PREF_EDITOR_APPLY_IMMEDIATELY
|
#define wxHAS_PREF_EDITOR_APPLY_IMMEDIATELY
|
||||||
|
// The dialog is shown non-modally.
|
||||||
|
#define wxHAS_PREF_EDITOR_MODELESS
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__WXGTK__)
|
||||||
// Changes should be applied immediately
|
// Changes should be applied immediately
|
||||||
#define wxHAS_PREF_EDITOR_APPLY_IMMEDIATELY
|
#define wxHAS_PREF_EDITOR_APPLY_IMMEDIATELY
|
||||||
|
// The dialog is shown non-modally.
|
||||||
|
#define wxHAS_PREF_EDITOR_MODELESS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -117,6 +121,16 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Whether the dialog is shown modally, i.e. Show() blocks, or not.
|
||||||
|
static bool ShownModally()
|
||||||
|
{
|
||||||
|
#ifdef wxHAS_PREF_EDITOR_MODELESS
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxPreferencesEditorImpl* m_impl;
|
wxPreferencesEditorImpl* m_impl;
|
||||||
|
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
#define wxHAS_PREF_EDITOR_NATIVE
|
#define wxHAS_PREF_EDITOR_NATIVE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__WXOSX__) || defined(__WXGTK__)
|
|
||||||
#define wxHAS_PREF_EDITOR_MODELESS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxPreferencesEditorImpl: defines wxPreferencesEditor implementation.
|
// wxPreferencesEditorImpl: defines wxPreferencesEditor implementation.
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -98,6 +98,23 @@ public:
|
|||||||
in this case as well.
|
in this case as well.
|
||||||
*/
|
*/
|
||||||
static bool ShouldApplyChangesImmediately()
|
static bool ShouldApplyChangesImmediately()
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns whether the preferences dialog is shown modally.
|
||||||
|
|
||||||
|
If this method returns false, as it currently does in wxGTK and wxOSX,
|
||||||
|
Show() simply makes the dialog visible and returns immediately. If it
|
||||||
|
returns true, as it does in wxMSW and under the other platforms, then
|
||||||
|
the dialog is shown modally, i.e. Show() blocks until the user
|
||||||
|
dismisses it.
|
||||||
|
|
||||||
|
Notice that it isn't necessary to test the return value of this method
|
||||||
|
to use this class normally, its interface is designed to work in both
|
||||||
|
cases. However it can sometimes be necessary to call it if the program
|
||||||
|
needs to handle modal dialogs specially, e.g. perhaps to block some
|
||||||
|
periodic background update operation while a modal dialog is shown.
|
||||||
|
*/
|
||||||
|
static bool ShownModally();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user