-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Creating a non-modal window from wxHtmlHelpController #24527
Comments
I've done a bit more testing and I think this is due to a misunderstanding I had regarding modal dialogs in wxWidgets - I thought creating a modal dialog only blocked input to the parent window heirarchy, however they generally seem to actually block interaction with all other windows in the application (tested on GTK, Windows and macOS). So I suppose the I've changed my settings dialog to be non-modal instead as a workaround. In my unqualified opinion, the best outcome here would be for the help window itself to somehow be a non-modal window which still allows setting up event bindings and the user to interact with modal windows in the program. |
This is known as app-model vs window-modal and default modality is app modal because it's expected that |
Thanks for the tip about I already worked around this problem in my application by making my dialog non-modal, so this is no longer an issue for me, but I tried using |
Bug description:
I'm trying to display a page from my application's manual from the (modal) settings dialog using
wxHtmlHelpController
, however anyDisplayXXX()
calls block when the dialog is open until the help window is closed, even when no parent window is specified andwxHF_DIALOG
is not specified.I've dug through the code of
wxHtmlHelpController
and associated classes and can't find any way to do what I want right now. Internally, thewxHtmlHelpController::DisplayXXX()
methods are callingwxHtmlHelpController::MakeModalIfNeeded()
, which descends down intowxHtmlHelpFrame::AddGrabIfNeeded()
, which makes the help frame modal "'if needed'" (i.e. if any modal dialogs happen to exist..?).Expected vs observed behaviour:
wxHtmlHelpController::DisplayXXX()
should return immediately, giving the application a chance to do things to the help window (e.g. bind thewxEVT_HTML_LINK_CLICKED
event) and allowing the user to continue interacting with the application.Platform and version information
The text was updated successfully, but these errors were encountered: