-
Notifications
You must be signed in to change notification settings - Fork 202
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
feat: Add job node graph plugin #888
feat: Add job node graph plugin #888
Conversation
Are there any considerations we need to have regarding the vendor's icons? @bcipriano |
4ffaa64
to
2e402ff
Compare
Looks like |
Yeah seems like it, I just tried a fresh virtual env and getting the same result as the CI. I think I can see the issue in NodeGraphQt's setup.py, it imports NodeGraphQt toget pkg info, but that import triggers the import of Qt.py which does a check for any available Python Qt bindings. I'll have a play around and see if I can tweak it to make it play ball |
e40fc5e
to
d1fcc77
Compare
Great feature ! |
Sorry, this feature fell between the cracks. We're going to test it locally an review the changes soon. |
As @DiegoTavares mentioned, after testing it locally, here are my comments: Overall a really great plugin!! GJ! I think users (especially artists who use node graphs like Nuke/Houdini) will enjoy using this feature when monitoring their jobs. When looking at the submodule in GitHub I did notice a disclaimer for using NodeGraphQt that When possible rpc objects should call the api's function calls instead of natively calling Is there a particular reason this cuegui/CueNodeGraphQt uses it's own I did notice that the label text in the node is still clickable and highlightable, although the user can't edit the text, it might be best to disable any clicking on the widget to avoid any confusion. Just a few housekeeping comments:
Looking forward to this feature! |
Thanks for all the feedback! I've also noticed that a newer version of NodeGraphQt has a change for implementing locking/unlocking node ports. I think I remember having to do some hacks to prevent users being able to disconnect nodes, so this update may help cleanup the code a bit more too! |
- Add plugin for visualising job layers in a node graph. - Vendorise NodeGraphQt module for node graph. - Apply layer filter on frame tree on single click of layer in layer tree or job graph. - Add global select_layer signal to CueGuiApplication
- Rename CueNodeGraphQt submodule to nodegraph - Address style notes from PR - Replace usage of `.data` attr on rpcObjects - Bump NodeGraphQt version to v0.1.7 as provides port lock feature - Implement new `services` method on `Layer` wrapper
d1fcc77
to
7751457
Compare
I believe there may be a bug in NodeGraphQt, as subclasses of `NodeBaseWidget` shouldn't need to implement the `value` properties, but this is currently required for the progress bar widget to update on the node.
Some things to note with this PR.. I've updated the version of NodeGraphQt used as it provides some features which simplify the code here (for example the new built in auto layout function, and port locking ) and have reverted the However the main drawback to now pulling from the original project is the projects
Is supporting python 2.7 backwards compatibility still a requirement for new features? Also the Lint CI job seems to be flagging false negatives, both
|
This PR has been stale for a while, but it is a neat feature. I'm giving it another chance to make its way to the master branch. |
@DiegoTavares I am waiting for news on that topic. I've implemented your feature on my own way, but it still would be nice to have it officialy. |
Hey there, I'll try refresh myself on this PR and update it. |
On SPI we have migrated cuegui to python 3, we're discussing on the next TSC meeting if there's still need for python 2.7 |
Feature is being re-implemented at #1400 |
Summarize your change.
layer tree or job graph (used to be double click).
As discussed here this adds
NodeGraphQt
to therequirements_gui.txt
as a git source, however from my fork, this is so that I could remove the python 3 pin in the setup.py and PySide2 version requirement in its own requirements.txt. Have tested this with both python 2 and 3 successfully.