Skip to content
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

Add Toolbar and Settings Menu to 3D Viewer #458

Draft
wants to merge 46 commits into
base: master
Choose a base branch
from

Conversation

jcornall
Copy link
Collaborator

@jcornall jcornall commented Feb 6, 2025

Relates to #347, #337, #331

Break down the existing work on #347 into smaller tasks. The current toolbar3d branch adds a toolbar to CILViewer's 3D viewer, however more work is required before it can be merged into the master branch. Breaking the functionality down into smaller features, that can be introduced incrementally to the master branch, should allow users to use the toolbar much sooner (albeit in a limited capacity).

Initially, we will add a toolbar and a Settings button to the 3D viewer:

  • The toolbar will appear in the 3D viewer and feature a Settings button
  • Clicking the Settings button will display a pop-up menu (similar in style to the standalone viewer's File and Settings menus)
  • The pop-up menu will list available actions, e.g. 2D Settings (slice and window), 3D Settings (volume render)
  • Clicking an available action will open the associated dialog
  • Unit tests will be added to test the functionality of the toolbar and the dialogs

Tasks:

  • Add a toolbar to the 3D viewer
  • Add a button to access the Settings menu
  • Populate the Settings menu with available dialogs
  • Edit/rename QLabels for individual settings to be more descriptive
  • Add tooltips to QLabels
  • Limit the number of available colours (the current selection imports all colour maps from matplotlib
  • Overhaul the Orientation setting in SettingsDialog.py (see Edit axis labels #389)
  • Ensure dialogs correctly inherit StyleSheet from MainWindow
  • Write unit tests for the affected classes
  • Add/update docstrings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants