Example #1
0
class ParamSelectUI( UIElement ) :

	def __init__( self, node, rootParameter=None, buttonTitle="Select", autoCollapseDepth=2 ) :

		self._fnP = FnParameterisedHolder( node )

		parameterised = self._fnP.getParameterised()
		self._rootParameter = rootParameter if rootParameter else parameterised[0].parameters()

		self._window = maya.cmds.window(
			title="%s: %s" % ( buttonTitle, node ),
			width=500,
			height=600
		)

		UIElement.__init__( self, self._window )

		self._form = maya.cmds.formLayout()

		self._scroll = maya.cmds.scrollLayout( parent=self._form )

		self._selector = ParameterSelector( self._rootParameter, self._scroll, autoCollapseDepth=autoCollapseDepth )

		maya.cmds.formLayout( self._form, edit=True,

			attachForm=[	( self._scroll, 			"top",  	0  ),
							( self._scroll, 			"left", 	0  ),
							( self._scroll, 			"right",	0  ),
							( self._scroll, 			"bottom",	0  ), ],
		)
Example #2
0
class ParamSelectUI( UIElement ) :

	def __init__( self, node, rootParameter=None, buttonTitle="Select", autoCollapseDepth=2 ) :

		self._fnP = FnParameterisedHolder( node )

		parameterised = self._fnP.getParameterised()
		self._rootParameter = rootParameter if rootParameter else parameterised[0].parameters()

		self._window = maya.cmds.window(
			title="%s: %s" % ( buttonTitle, node ),
			width=500,
			height=600
		)

		UIElement.__init__( self, self._window )

		self._form = maya.cmds.formLayout()

		self._scroll = maya.cmds.scrollLayout( parent=self._form )

		self._selector = ParameterSelector( self._rootParameter, self._scroll, autoCollapseDepth=autoCollapseDepth )

		maya.cmds.formLayout( self._form, edit=True,

			attachForm=[	( self._scroll, 			"top",  	0  ),
							( self._scroll, 			"left", 	0  ),
							( self._scroll, 			"right",	0  ),
							( self._scroll, 			"bottom",	0  ), ],
		)
Example #3
0
	def __init__( self, node, rootParameter=None ) :

		fn = FnParameterisedHolder( node )
		parameterised = fn.getParameterised()

		self.__parameterised = parameterised

		# Just using 'not' on a ClassVector takes its length, which equates to False if its empty.
		self.__rootParameter = rootParameter if rootParameter is not None else parameterised[0].parameters()

		self.__fnP = fn
		self.__envVar = parameterised[3].replace( "_PATHS", "_PRESET_PATHS" )

		if self.__envVar not in os.environ :
			maya.cmds.confirmDialog( message="Environment variable not set:\n\n$%s\n\nPlease set "%self.__envVar+\
			"this variable to point to one or more paths.\nPresets can then be loaded from these "+\
			"locations.", button="OK" )
			return

		paths = os.environ[self.__envVar]
		sp = IECore.SearchPath( os.path.expandvars( paths ) )
		self.__classLoader = IECore.ClassLoader( sp )

		presets = self.__getPresets( parameterised[0], self.__rootParameter )
		if not presets:
			maya.cmds.confirmDialog( message="No presets applicable to %s found in the current search paths ($%s)." % ( self.__rootParameter.name, self.__envVar ), button="OK" )
			return

		self.__loadedPresets = {}

		self.__window = maya.cmds.window( title="Load: %s" % node, width=300, height=500 )

		UIElement.__init__( self, self.__window )

		self.__form = maya.cmds.formLayout()

		self.__infoColumn = PresetInfo( parent=self.__form )
		self.__selector = PresetSelector( presets, self.__form, allowMultiSelection=True, selectCommand=self._createCallback( self.__selectionChanged ) )
		self.__loadButton = maya.cmds.button( l="Load", parent=self.__form, height=30, c=self._createCallback( self.__doLoad ) )

		if not presets:
			maya.cmds.control( self.__loadButton, edit=True, enable=False )

		maya.cmds.formLayout( self.__form, edit=True,

			attachForm=[	( self.__selector.list(), 		"top" ,		0 ),
							( self.__selector.list(),		"left" , 	0 ),
							( self.__selector.list(),		"right" , 	0 ),
							( self.__infoColumn.layout(),	"left" ,   	5 ),
							( self.__infoColumn.layout(),	"right" ,   0 ),
							( self.__loadButton,			"bottom",   0 ),
							( self.__loadButton,			"left" ,	0 ),
							( self.__loadButton,			"right" ,   0 )  ],

			attachControl=[	( self.__selector.list(), 	"bottom", 	4, 	self.__infoColumn.layout() ),
							( self.__infoColumn.layout(), 	"bottom", 	5, 	self.__loadButton ), ]
		)

		maya.cmds.showWindow( self.__window )
Example #4
0
	def __init__( self, node, rootParameter=None ) :

		fn = FnParameterisedHolder( node )
		parameterised = fn.getParameterised()

		self.__parameterised = parameterised

		# Just using 'not' on a ClassVector takes its length, which equates to False if its empty.
		self.__rootParameter = rootParameter if rootParameter is not None else parameterised[0].parameters()

		self.__fnP = fn
		self.__envVar = parameterised[3].replace( "_PATHS", "_PRESET_PATHS" )

		if self.__envVar not in os.environ :
			maya.cmds.confirmDialog( message="Environment variable not set:\n\n$%s\n\nPlease set "%self.__envVar+\
			"this variable to point to one or more paths.\nPresets can then be loaded from these "+\
			"locations.", button="OK" )
			return

		paths = os.environ[self.__envVar]
		sp = IECore.SearchPath( os.path.expandvars( paths ), ":" )
		self.__classLoader = IECore.ClassLoader( sp )

		presets = self.__getPresets( parameterised[0], self.__rootParameter )
		if not presets:
			maya.cmds.confirmDialog( message="No presets applicable to %s found in the current search paths ($%s)." % ( self.__rootParameter.name, self.__envVar ), button="OK" )
			return

		self.__loadedPresets = {}

		self.__window = maya.cmds.window( title="Load: %s" % node, width=300, height=500 )

		UIElement.__init__( self, self.__window )

		self.__form = maya.cmds.formLayout()

		self.__infoColumn = PresetInfo( parent=self.__form )
		self.__selector = PresetSelector( presets, self.__form, allowMultiSelection=True, selectCommand=self._createCallback( self.__selectionChanged ) )
		self.__loadButton = maya.cmds.button( l="Load", parent=self.__form, height=30, c=self._createCallback( self.__doLoad ) )

		if not presets:
			maya.cmds.control( self.__loadButton, edit=True, enable=False )

		maya.cmds.formLayout( self.__form, edit=True,

			attachForm=[	( self.__selector.list(), 		"top" ,		0 ),
							( self.__selector.list(),		"left" , 	0 ),
							( self.__selector.list(),		"right" , 	0 ),
							( self.__infoColumn.layout(),	"left" ,   	5 ),
							( self.__infoColumn.layout(),	"right" ,   0 ),
							( self.__loadButton,			"bottom",   0 ),
							( self.__loadButton,			"left" ,	0 ),
							( self.__loadButton,			"right" ,   0 )  ],

			attachControl=[	( self.__selector.list(), 	"bottom", 	4, 	self.__infoColumn.layout() ),
							( self.__infoColumn.layout(), 	"bottom", 	5, 	self.__loadButton ), ]
		)

		maya.cmds.showWindow( self.__window )
Example #5
0
	def __init__( self, node, rootParameter=None, autoCollapseDepth=2 ) :

		fnP = FnParameterisedHolder( node )
		parameterised = fnP.getParameterised()

		self.__envVar = parameterised[3].replace( "_PATHS", "_PRESET_PATHS" )

		if self.__envVar not in os.environ :
			maya.cmds.confirmDialog( message="Environment variable not set:\n\n$%s\n\nPlease set "%self.__envVar+\
			"this variable to point to one or more paths.\nPresets can then be saved to these "+\
			"locations.", button="OK" )
			return

		ParamSelectUI.__init__( self, node, rootParameter, autoCollapseDepth=autoCollapseDepth )

		self.__location = SearchPathMenu(
			os.getenv( self.__envVar ),
			self._form,
			label = "Save to:",
			ann = self.__envVar,
			cw = ( 1, 65 ),
			adj = 2,
		)

		self.__name = maya.cmds.textFieldGrp(
			parent = self._form,
			label = "Name:",
			adj = 2,
			columnWidth = ( 1, 65 )
		)

		descripLabel = maya.cmds.text(
			parent = self._form,
			label = "Description:",
			align = "left",
		)

		self.__description = maya.cmds.scrollField(
			parent = self._form,
			numberOfLines = 5,
			height = 100,
		)

		self.__saveButton = maya.cmds.button(
			l = "Save",
			parent = self._form,
			height = 30,
			c = self._createCallback( self.__doSave )
		)

		maya.cmds.formLayout( self._form, edit=True,

			attachForm=[	( self._scroll, 			"top",  	0  ),
							( self._scroll, 			"left", 	0  ),
							( self._scroll, 			"right",	0  ),
							( self.__location.menu(),	"left", 	10 ),
							( self.__location.menu(),	"right",	10 ),
							( self.__name,				"left", 	10 ),
							( self.__name,				"right",	10 ),
							( descripLabel,				"left", 	10 ),
							( descripLabel,				"right",	10 ),
							( self.__description,		"left", 	10 ),
							( self.__description,		"right",	10 ),
							( self.__saveButton, 		"bottom",	0  ),
							( self.__saveButton, 		"left", 	0  ),
							( self.__saveButton, 		"right",	0  ) ],

			attachControl=[	( self._scroll, 	 		"bottom",	5,	self.__location.menu() 	),
							( self.__location.menu(),	"bottom",   3,  self.__name  		    ),
							( self.__name,				"bottom",   5,  descripLabel	    ),
							( descripLabel,				"bottom",   5,  self.__description	    ),
							( self.__description,				"bottom",   5,  self.__saveButton	    ), ]
		)


		maya.cmds.showWindow( self._window )
Example #6
0
    def __init__(self, node, rootParameter=None, autoCollapseDepth=2):

        fnP = FnParameterisedHolder(node)
        parameterised = fnP.getParameterised()

        self.__envVar = parameterised[3].replace("_PATHS", "_PRESET_PATHS")

        if self.__envVar not in os.environ:
            maya.cmds.confirmDialog( message="Environment variable not set:\n\n$%s\n\nPlease set "%self.__envVar+\
            "this variable to point to one or more paths.\nPresets can then be saved to these "+\
            "locations.", button="OK" )
            return

        ParamSelectUI.__init__(self,
                               node,
                               rootParameter,
                               autoCollapseDepth=autoCollapseDepth)

        self.__location = SearchPathMenu(
            os.getenv(self.__envVar),
            self._form,
            label="Save to:",
            ann=self.__envVar,
            cw=(1, 65),
            adj=2,
        )

        self.__name = maya.cmds.textFieldGrp(parent=self._form,
                                             label="Name:",
                                             adj=2,
                                             columnWidth=(1, 65))

        descripLabel = maya.cmds.text(
            parent=self._form,
            label="Description:",
            align="left",
        )

        self.__description = maya.cmds.scrollField(
            parent=self._form,
            numberOfLines=5,
            height=100,
        )

        self.__saveButton = maya.cmds.button(l="Save",
                                             parent=self._form,
                                             height=30,
                                             c=self._createCallback(
                                                 self.__doSave))

        maya.cmds.formLayout(
            self._form,
            edit=True,
            attachForm=[(self._scroll, "top", 0), (self._scroll, "left", 0),
                        (self._scroll, "right", 0),
                        (self.__location.menu(), "left", 10),
                        (self.__location.menu(), "right", 10),
                        (self.__name, "left", 10), (self.__name, "right", 10),
                        (descripLabel, "left", 10),
                        (descripLabel, "right", 10),
                        (self.__description, "left", 10),
                        (self.__description, "right", 10),
                        (self.__saveButton, "bottom", 0),
                        (self.__saveButton, "left", 0),
                        (self.__saveButton, "right", 0)],
            attachControl=[
                (self._scroll, "bottom", 5, self.__location.menu()),
                (self.__location.menu(), "bottom", 3, self.__name),
                (self.__name, "bottom", 5, descripLabel),
                (descripLabel, "bottom", 5, self.__description),
                (self.__description, "bottom", 5, self.__saveButton),
            ])

        maya.cmds.showWindow(self._window)