This is just a "sublibrary" used by other functions.
cursor_linkGroup()
Returns a hou.paneLinkType of the pane under the cursor.
pane_linkGroup( panetype )
Returns the paneTab of a given type. Also checks to return the pane from the same "pin group".
parm_pane ()
parmnode ()
Returns the actual node, doesn't have to be selected when it is actual in the parm pane.
container ()
Returns the parent of the actual node.
source code
the following code is maintained also on my github
thank you, great people, I couldn't do this without you.
import hou def cursor_linkGroup() : try: current_desktop = hou.ui.curDesktop() cursor_pane = current_desktop.paneTabUnderCursor() cursor_group = cursor_pane.linkGroup() # if cursor_group == hou.paneLinkType.FollowSelection or cursor_group == hou.paneLinkType.Pinned : # return hou.paneLinkType.Group1 # else : # return cursor_group return cursor_group except: # not a pane return hou.paneLinkType.Group1 def pane_linkGroup( panetype ) : cursor_group = cursor_linkGroup() current_desktop = hou.ui.curDesktop() pane_under_cursor = current_desktop.paneTabUnderCursor() # first check under cursor if pane_under_cursor.type() == panetype : return pane_under_cursor # try it for the right group for pane in current_desktop.paneTabs() : if pane.type() == panetype : if pane.linkGroup() == cursor_group : return pane # if none found, then Group1 cursor_group = hou.paneLinkType.Group1 for pane in current_desktop.paneTabs() : if pane.type() == panetype : if pane.linkGroup() == cursor_group : return pane #def parm_pane () : # pass def parmnode () : parm_pane = hou.ui.curDesktop().paneTabOfType(hou.paneTabType.Parm) parmnode = parm_pane.currentNode() return parmnode def container () : parm_pane = hou.ui.curDesktop().paneTabOfType(hou.paneTabType.Parm) parmnode = parm_pane.currentNode() container = parmnode.parent() return container