-
Notifications
You must be signed in to change notification settings - Fork 126
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
Python Help Window Prototype to remove qtassistant #38499
Open
darshdinger
wants to merge
27
commits into
ornl-next
Choose a base branch
from
37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
base: ornl-next
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Python Help Window Prototype to remove qtassistant #38499
darshdinger
wants to merge
27
commits into
ornl-next
from
37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
+399
−40
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
qt/widgets/common/inc/MantidQtWidgets/Common/PythonHelpWindow.h
Outdated
Show resolved
Hide resolved
peterfpeterson
force-pushed
the
37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
branch
from
December 18, 2024 18:54
400ea84
to
77fecbc
Compare
darshdinger
force-pushed
the
37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
branch
from
January 6, 2025 20:39
c95ca7d
to
53a09f8
Compare
darshdinger
changed the title
37248 remove qtassistant and reduce size of mantiddocs package
Python Help Window Prototype to remove qtassistant
Jan 7, 2025
darshdinger
force-pushed
the
37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
branch
from
January 7, 2025 21:09
e15fb91
to
1701172
Compare
darshdinger
deleted the
37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
branch
January 7, 2025 21:27
darshdinger
restored the
37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
branch
January 7, 2025 21:27
darshdinger
deleted the
37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
branch
January 7, 2025 21:27
darshdinger
restored the
37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
branch
January 7, 2025 21:36
This removes the pointer to the qtassistant wrapper as dependent on the variable QT_DOCS. The default behavior is to keep the current functionality.
…iddocs-package' of https://github.com/mantidproject/mantid into 37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
Some updates to make branch current, tests in next Most recent changes. Updating branch with latest changes Make qtassistant a compile time option This removes the pointer to the qtassistant wrapper as dependent on the variable QT_DOCS. The default behavior is to keep the current functionality. Hopefully this is a compile time implementation Smal fixes Final updates More updates and Pete's changes Revert some of Petes changes and some more updates Reverted changes. Some more changes to hopefully fix build issue Another update to PythonHelpWindow Get the code to compile Updates to InterfaceManager (remove extra stuff) Messed up in my last changes to InterfaceManager Change how module is written in code Fix pre-processor macro Add pyqtwebengine dependency for new help window Some fixes, seg fault investigation on local Updates to fix cppcheck. ... ...
…package' of https://github.com/mantidproject/mantid into 37248-remove-qtassistant-and-reduce-size-of-mantiddocs-package
github-actions
bot
added
the
Has Conflicts
Used by the bot to label pull requests that have conflicts
label
Jan 17, 2025
👋 Hi, @darshdinger, Conflicts have been detected against the base branch. Please rebase your branch against the base branch. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of work
Summary of work
These enhancements feature refined CMake and Conda configurations alongside innovative implementations in both C++ and Python for a modern, Python-based help window. Collectively, these improvements lay a solid foundation for migrating away from the legacy QtAssistant system toward a more contemporary, flexible approach that leverages web based tech. This transition is designed to resolve longstanding challenges, such as the excessive package size and the absence of JavaScript support.
The primary purpose of this work was to enhance the user documentation experience in Mantid Workbench by:
Ref #37248
Further detail of work
CMake and Build Configuration:
CMakeLists.txt
and associated Conda recipe files to accommodate new build options and dependencies (thanks @peterfpeterson). These changes ensure that necessary packages likePyQtWebEngine
are available in the environment, allowing forQtWebView
integration.Help Window Architecture Enhancements:
Python Integration:
PythonHelpBridge
to establish a communication channel between C++ and Python. This bridge initializes the Python interpreter, imports the necessary Python modules, and calls Python functions to display help pages.PythonHelpWindow
class which utilizes the bridge to invoke Python functions for displaying various documentation pages (algorithms, concepts, fit functions, and custom interfaces). This paves the way for using QtWebEngine in future iterations by abstracting the method of displaying web content.MANTID_LOCAL_DOCS_BASE
) and file existence.QWebEngineView
(as seen in the Python samples and bridging code) to provide a more modern method of rendering documentation. Although the full QtWebEngine integration is prototyped and contextually referenced, the current changes establish the foundational elements necessary for this transition.C++ Components:
MantidHelpWindow
to improve how the help system locates and loads the QtHelp collection file (MantidProject.qhc
).InterfaceManager
's functionality to dynamically manage help window instances. Depending on build configurations (e.g., usingcmake .. -DDOCS_QTHELP=OFF
), it can intelligently instantiate either a native C++ help window or a Python-based alternative.To test:
This is suggested things to test. Trying to start the help from other methods is suggested as well.
pyqtwebengine
on top of your existing mantid-developer conda environment. You may want to pin the version of pyqtwebengine to whatever version of pyqt you're using so conda doesn't uninstall mantid-developercmake . -DDOCS_QTHELP=off
F1
or use the "Help"->"Mantid Help" menu item. This should bring up the new help window.Also try both leaving the help open and starting a different help page and closing the help and starting a different help page.
Reviewer
Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.
Code Review
Functional Tests
Does everything look good? Mark the review as Approve. A member of
@mantidproject/gatekeepers
will take care of it.Gatekeeper
If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.