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

Widget Editor #6175

Open
wants to merge 7 commits into
base: 1.5_maintenance
Choose a base branch
from
Open

Conversation

ericmehl
Copy link
Collaborator

@ericmehl ericmehl commented Dec 6, 2024

This adds a new editor for inspecting (and someday, actually editing) widget properties in the UI. I've been working on it on Friday afternoons for a bit now - it's not done by any means, but I think it's worth having a look at the current state to see what we think about the direction it's going in and how the basics are working out.

Currently it can :

  • Browse the hierarchy of widgets starting with the script window children.
  • Let the user pick a widget with the mouse and focus on that widget in the hierarchy.
  • A variation on picking widgets where the picker waits 3 seconds to activate in case you need to open a menu or similar.
  • Highlight the selected widget in the UI with a blue overlay.
  • Drag and drop into the Python editor to get code for identifying that widget.

Here are a few items I have on mind for discussion :

  • How to expose the editor. Currently I have it as a registered editor you can add to a layout (but not part of any default layout). Is even that giving it too much exposure to users who will likely never need it and may be confused by it?
  • How to allow editing since the values are not plugs. I'm thinking custom columns as needed that respond to double clicks by popping up a NumericWidget, but haven't started to implement this, maybe there's a better solution.
  • Add other properties.
  • Allow changing the root window to something other than the script window so you can inspect widgets in a dialog box.

Checklist

  • I have read the contribution guidelines.
  • I have updated the documentation, if applicable.
  • I have tested my change(s) in the test suite, and added new test cases where necessary.
  • My code follows the Gaffer project's prevailing coding style and conventions.

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

Successfully merging this pull request may close these issues.

1 participant