Yes, indeed. And, I do definitely appreciate the help and examples you provide 
on a regular basis! I'm actually making quite a bit of progress in my Python 
coding (maybe it doesn't show here), since I've been helping out with a large 
project we're working on. I'm doing some of the "little stuff", as well as my 
usual comping duties. Eventually, I'll get a breather and have some time to 
delve into PySide. I'm looking forward to writing my own UI bits and not have 
to try and hijack existing UI elements!  ;^)

Rich



On May 8, 2013, at 11:23 PM, Nathan Rusch <[email protected]> wrote:

> Nah, I know PySide is a big hill to climb, but something like this is pretty 
> approachable and quick to bang out, so I imagine it may save you some pain 
> somewhere.
>  
> -Nathan
> 
>  
> From: Richard Bobo
> Sent: Wednesday, May 08, 2013 6:14 PM
> To: Nuke user discussion
> Subject: Re: [Nuke-users] Looking for drag and drop reordering knob...
>  
> Hahaha!  Thanks, Nathan!
>  
> You either are taking pity on me or you don't want to see any more lame-ass 
> code from me posted on this group.  ...And, you don't need to tell me which 
> (or both) it is!!  ;^)  LOL
>  
>  
> Rich
>  
> 
>  
> On May 8, 2013, at 8:16 PM, Nathan Rusch <[email protected]> wrote:
> 
>> Please Rich... do yourself a favor :P
>>  
>>  
>> from 
>>   PySide import QtGui
>> 
>> class 
>>   Embedder(object):
>>    
>>   def makeUI(self):
>>        
>>   self.widget = QtGui.QListWidget(QtGui.qApp.activeWindow())
>>        
>>   self.widget.setDragDropMode(QtGui.QListWidget.InternalMove)
>>        
>>   return self.widget
>> 
>>  class 
>>   ListPanel(nukescripts.PythonPanel):
>>    
>>   def __init__(self):
>>        
>>   super(ListPanel, self).__init__()
>>        
>>   self.listKnob = nuke.PyCustom_Knob('list', '', 'Embedder()')
>>        
>>   self.addKnob(self.listKnob)
>>    
>>   
>>    
>>   def setListItems(self, items):
>>        
>>   self.listKnob.getObject().widget.addItems(items)
>>    
>>   
>>    
>>   def getListItems(self):
>>        
>>   widget = self.listKnob.getObject().widget
>>        
>>   return [widget.item(i).text() for i in range(widget.count())]
>>  
>>  
>>  
>> -Nathan
>> 
>>  
>> From: Richard Bobo
>> Sent: Wednesday, May 08, 2013 7:28 AM
>> To: Nuke user discussion
>> Subject: Re: [Nuke-users] Looking for drag and drop reordering knob...
>>  
>> Nathan,
>>  
>> In case this might give you a laugh and brighten your day, here's my example 
>> hack for using the RotoPaint node to reorder a list. My plan was to use it 
>> with a callback to update some merge layers. Essentially being able to 
>> drag-reorder layers a la Photoshop!  (Why not?)  ;^)
>>  
>> I didn't end up using it on this project (yet), but I may find a use for it 
>> in the future. Maybe I'll have some time to learn more about PySide, though, 
>> and code a more elegant solution.  8^)
>>  
>>  
>> Rich
>>  
>> -----------------------------------------------------------------------------------------------------------------
>> import nuke.rotopaint as rp
>>  
>> #### Start with your list go items to be sorted...
>> list_o_layers = ['one', 'two', 'three', 'four', 'five']
>>  
>> #### Create a named RotoPaint node and get it by name (which might be 
>> different)...
>> rpNode = nuke.toNode('RotoPaint1')
>>  
>> #### Get the curves knob in the node...
>> cKnob= rpNode['curves']
>>  
>> #### Make a dummy paint stroke to hold each name, so we can reorder them 
>> with the GUI...
>> #### Iterate through the list of names and create a stroke for each.
>> for s in list_o_layers:
>>     stroke = rp.Stroke(cKnob)
>>     stroke.name = s
>>     print s
>>     cKnob.rootLayer.append(stroke)
>>  
>>  
>> ###############################################
>> ###############################################
>> ####     DO YOUR MANUAL REORDERING,  then run the rest...
>> ###############################################
>> ###############################################
>>  
>>  
>> ###############################################
>> ####    PART 2 -- Run this after reordering the list.
>> ###############################################
>>  
>> #### Get the list of items in the (manually reordered) list...
>> root = cKnob.rootLayer
>> for shape in root:
>>     print shape.name
>>  
>> -----------------------------------------------------------------------------------------------------------------
>> 
>>  
>> On May 2, 2013, at 2:01 PM, Nathan Rusch <[email protected]> wrote:
>>  
>> This is a job for PySide.
>>  
>> -Nathan
>> 
>>  
>> From: Richard Bobo
>> Sent: Thursday, May 02, 2013 10:43 AM
>> To: Nuke-Users Mailing List List Postings ; Nuke Python discussion
>> Subject: [Nuke-users] Looking for drag and drop reordering knob...
>>  
>> Hi,
>>  
>> Besides the RotoPaint node, are there any user accessible knob types that 
>> allow drag and drop reordering?
>>  
>> I'm looking to cobble together a small tool panel that would allow me to 
>> stuff a list of items into it, reorder it via drag and drop, then get the 
>> reordered list back. I'm thinking I could hijack the RotoPaint control panel 
>> to do that, since paint shape layers can be reordered. However, I'm not 
>> eager to dive into the complexities of getting access to those knobs… Any 
>> ideas for a simpler knob/tool I could use…?
>>  
>> Thanks,
>>  
>> Rich
>>  
>> 
>> Rich Bobo
>> Senior VFX Compositor
>> Armstrong-White
>> http://armstrong-white.com/
>>  
>> Email:  [email protected]
>> Mobile:  (248) 840-2665
>> Web:  http://richbobo.com/
>> 
>> "The greatest achievement of the human spirit is to live up to one's 
>> opportunities, and to make the most of one's resources."
>> - Vauvenargues
>>  
>>  
>> 
>> 
>> 
>> 
>> 
>>  
>>  
>> _______________________________________________
>> Nuke-users mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
>> _______________________________________________
>> Nuke-users mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
>>  
>>  
>> _______________________________________________
>> Nuke-users mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
>> _______________________________________________
>> Nuke-users mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
> 
> 
> _______________________________________________
> Nuke-users mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
> _______________________________________________
> Nuke-users mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

Reply via email to