Ivan,
Yeah, it was simplified (and not very accurate…). Here's basically the kind of
thing I ended up with...
def knobChanged(self, knob):
if nuke.thisKnob().name() == 'prefix':
self.do_part_filtering()
self.viewname_filter_mashup()
elif nuke.thisKnob().name() == 'contains':
self.do_part_filtering()
self.viewname_filter_mashup()
elif nuke.thisKnob().name() == 'clear_filters':
self.clear_views_filters()
self.viewname_filter_mashup()
elif nuke.thisKnob().name() == 'config_images':
self.use_part_selection_as_filter()
self.viewname_filter_mashup()
elif nuke.thisKnob().name() == 'exterior_colors':
self.viewname_filter_mashup()
elif nuke.thisKnob().name() == 'interior_colors':
self.viewname_filter_mashup()
elif nuke.thisKnob().name() == 'finishes_colors':
self.viewname_filter_mashup()
elif nuke.thisKnob().name() == 'pick_a_view':
self.active_viewer.setView(self.view_selector_knob.value())
Rich
On May 7, 2013, at 12:32 PM, Ivan Busquets <[email protected]> wrote:
> Unless your code example above is just a simplification of your actual code,
> you're only testing for existence of the knob in each "if" statement.
>
> Instead, you want to test if the knob is the same that triggered the
> knobchanged event:
>
> if a_knob == knob:
>
> ...
>
> if b_knob == knob:
>
> ...
>
> if c_knob == knob:
>
> ...
>
>
>
>
> On Tue, May 7, 2013 at 9:26 AM, Rich Bobo <[email protected]>
> wrote:
> Hi,
>
> This is probably a very elementary question, but I can't quite wrap my head
> around it…
>
> I have a Python_Panel with four knobs on it: three Enumeration_Pulldown knobs
> and a PyScript_Knob. I have added them all to a knobChanged method. I am
> using something like this for my checking:
>
> def knobChanged(self, knob):
> if a_knob:
> set_something = a_knob.value()
> if b_knob:
> set_something_else = b_knob.value()
> if c_knob:
> set_another_thing = c_knob.value()
> if d_knob:
> run_a_method()
>
> You will probably notice that each time a knob is changed, all of the
> statements are executed, including the run_a_function(). I'm sure this is
> from "Programming 101", but how do I isolate the knob changed events, so that
> *only* the one that has been changed is executed…?
>
> Thanks for any help!
>
>
> Rich
>
>
> Rich Bobo
> Senior VFX Compositor
> Armstrong-White
> http://armstrong-white.com/
>
> Email: [email protected]
> Mobile: (248) 840-2665
> Web: http://richbobo.com/
>
> "Destiny is not a matter of chance, it is a matter of choice; it is not a
> thing to be waited for, it is a thing to be achieved."
> - William Jennings Bryan
>
>
>
>
>
>
>
> _______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
> _______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python