示例#1
0
def main(*args, **kwargs):
    """
    Convenience method for creating/showing a MayaLibraryWindow instance.

    return studiolibrarymaya.MayaLibraryWindow.instance(
        name="",
        path="",
        show=True,
        lock=False,
        superusers=None,
        lockRegExp=None,
        unlockRegExp=None,
        dockable=True
    )

    :rtype: studiolibrarymaya.MayaLibraryWindow
    """
    import studiolibrarymaya

    studiolibrarymaya.registerItems()
    studiolibrarymaya.enableMayaClosedEvent()

    if studiolibrary.isMaya():
        import studiolibrarymaya.mayalibrarywindow
        cls = studiolibrarymaya.mayalibrarywindow.MayaLibraryWindow
    else:
        cls = studiolibrary.LibraryWindow

    libraryWindow = cls.instance(*args, **kwargs)

    return libraryWindow
示例#2
0
    def updateNamespaceFromScene(self):
        """
        Update the namespaces in the combobox with the ones in the scene.

        :rtype: None
        """
        IGNORE_NAMESPACES = ['UI', 'shared']

        if studiolibrary.isMaya():
            namespaces = maya.cmds.namespaceInfo(listOnlyNamespaces=True)
        else:
            namespaces = []

        namespaces = list(set(namespaces) - set(IGNORE_NAMESPACES))
        namespaces = sorted(namespaces)

        text = self.ui.namespaceComboBox.currentText()

        if namespaces:
            self.ui.namespaceComboBox.setToolTip("")
        else:
            toolTip = "No namespaces found in scene."
            self.ui.namespaceComboBox.setToolTip(toolTip)

        self.ui.namespaceComboBox.clear()
        self.ui.namespaceComboBox.addItems(namespaces)
        self.ui.namespaceComboBox.setEditText(text)
示例#3
0
def main(*args, **kwargs):
    """
    Convenience method for creating/showing a library widget instance.

    return studiolibrary.LibraryWindow.instance(
        name="",
        path="",
        show=True,
        lock=False,
        superusers=None,
        lockRegExp=None,
        unlockRegExp=None
    )

    :rtype: studiolibrary.LibraryWindow
    """
    # Reload all Studio Library modules when Shift is pressed.
    # This is for developers to test their changes in a DCC application.
    if studioqt.isShiftModifier():
        import studiolibrary
        studiolibrary.reload()

    import studiolibrary

    if studiolibrary.isMaya():
        import studiolibrarymaya
        libraryWindow = studiolibrarymaya.main(*args, **kwargs)
    else:
        libraryWindow = studiolibrary.LibraryWindow.instance(*args, **kwargs)

    return libraryWindow
示例#4
0
def main(*args, **kwargs):
    """
    Convenience method for creating/showing a MayaLibraryWidget instance.

    return studiolibrarymaya.MayaLibraryWidget.instance(
        name="",
        path="",
        show=True,
        lock=False,
        superusers=None,
        lockRegExp=None,
        unlockRegExp=None,
        dockable=True
    )

    :rtype: studiolibrarymaya.MayaLibraryWidget
    """
    import studiolibrarymaya

    studiolibrarymaya.registerItems()
    studiolibrarymaya.enableMayaClosedEvent()

    if studiolibrary.isMaya():
        import studiolibrarymaya.mayalibrarywidget
        cls = studiolibrarymaya.mayalibrarywidget.MayaLibraryWidget
    else:
        cls = studiolibrary.LibraryWidget

    libraryWidget = cls.instance(*args, **kwargs)

    return libraryWidget
示例#5
0
def main(*args, **kwargs):
    """
    Convenience method for creating/showing a library widget instance.

    return studiolibrary.LibraryWindow.instance(
        name="",
        path="",
        show=True,
        lock=False,
        superusers=None,
        lockRegExp=None,
        unlockRegExp=None
    )

    :rtype: studiolibrary.LibraryWindow
    """
    # Reload all Studio Library modules when Shift is pressed.
    # This is for developers to test their changes in a DCC application.
    if studioqt.isShiftModifier():
        import studiolibrary
        studiolibrary.reload()

    import studiolibrary

    if studiolibrary.isMaya():
        import studiolibrarymaya
        libraryWindow = studiolibrarymaya.main(*args, **kwargs)
    else:
        libraryWindow = studiolibrary.LibraryWindow.instance(*args, **kwargs)

    return libraryWindow
示例#6
0
def main(*args, **kwargs):
    """
    Convenience method for creating/showing a library widget instance.

    return studiolibrary.LibraryWindow.instance(
        name="",
        path="",
        show=True,
        lock=False,
        superusers=None,
        lockRegExp=None,
        unlockRegExp=None
    )

    :rtype: studiolibrary.LibraryWindow
    """
    # Reload all Studio Library modules when Shift is pressed.
    # This is for developers to test their changes in a DCC application.
    # if studioqt.isShiftModifier():
    #     import studiolibrary
    #     studiolibrary.reload()

    # Register all the items from the config file.
    import studiolibrary
    studiolibrary.registerItems()

    if studiolibrary.isMaya():
        from studiolibrarymaya import mayalibrarywindow
        libraryWindow = mayalibrarywindow.MayaLibraryWindow.instance(
            *args, **kwargs)
    else:
        from studiolibrary import librarywindow
        libraryWindow = librarywindow.LibraryWindow.instance(*args, **kwargs)

    return libraryWindow
示例#7
0
 def settingsMenu(self):
     """
     Return the settings menu for changing the library widget.
     
     :rtype: QtGui.QMenu
     """
     icon = studioqt.icon('settings', color=self.iconColor())
     menu = QtGui.QMenu('', self)
     menu.setTitle('Settings')
     menu.setIcon(icon)
     libraries = studiolibrary.LibrariesMenu(menu)
     menu.addMenu(libraries)
     menu.addSeparator()
     action = QtGui.QAction('Settings', menu)
     action.triggered[bool].connect(self.showSettingsDialog)
     menu.addAction(action)
     separator = QtGui.QAction('', menu)
     separator.setSeparator(True)
     menu.addAction(separator)
     action = QtGui.QAction('Show menu', menu)
     action.setCheckable(True)
     action.setChecked(self.isMenuBarWidgetVisible())
     action.triggered[bool].connect(self.setMenuBarWidgetVisible)
     menu.addAction(action)
     action = QtGui.QAction('Show folders', menu)
     action.setCheckable(True)
     action.setChecked(self.isFoldersWidgetVisible())
     action.triggered[bool].connect(self.setFoldersWidgetVisible)
     menu.addAction(action)
     action = QtGui.QAction('Show preview', menu)
     action.setCheckable(True)
     action.setChecked(self.isPreviewWidgetVisible())
     action.triggered[bool].connect(self.setPreviewWidgetVisible)
     menu.addAction(action)
     action = QtGui.QAction('Show status', menu)
     action.setCheckable(True)
     action.setChecked(self.isStatusBarWidgetVisible())
     action.triggered[bool].connect(self.setStatusBarWidgetVisible)
     menu.addAction(action)
     menu.addSeparator()
     viewMenu = self.recordsWidget().settingsMenu(parent=menu)
     menu.addMenu(viewMenu)
     if studiolibrary.isMaya():
         menu.addSeparator()
         dockMenu = self.dockMenu()
         menu.addMenu(dockMenu)
     menu.addSeparator()
     action = QtGui.QAction('Debug mode', menu)
     action.setCheckable(True)
     action.setChecked(self.isDebug())
     action.triggered[bool].connect(self.setDebugMode)
     menu.addAction(action)
     action = QtGui.QAction('Help', menu)
     action.triggered.connect(self.help)
     menu.addAction(action)
     return menu
 def settingsMenu(self):
     """
     Return the settings menu for changing the library widget.
     
     :rtype: QtGui.QMenu
     """
     icon = studioqt.icon('settings', color=self.iconColor())
     menu = QtGui.QMenu('', self)
     menu.setTitle('Settings')
     menu.setIcon(icon)
     libraries = studiolibrary.LibrariesMenu(menu)
     menu.addMenu(libraries)
     menu.addSeparator()
     action = QtGui.QAction('Settings', menu)
     action.triggered[bool].connect(self.showSettingsDialog)
     menu.addAction(action)
     separator = QtGui.QAction('', menu)
     separator.setSeparator(True)
     menu.addAction(separator)
     action = QtGui.QAction('Show menu', menu)
     action.setCheckable(True)
     action.setChecked(self.isMenuBarWidgetVisible())
     action.triggered[bool].connect(self.setMenuBarWidgetVisible)
     menu.addAction(action)
     action = QtGui.QAction('Show folders', menu)
     action.setCheckable(True)
     action.setChecked(self.isFoldersWidgetVisible())
     action.triggered[bool].connect(self.setFoldersWidgetVisible)
     menu.addAction(action)
     action = QtGui.QAction('Show preview', menu)
     action.setCheckable(True)
     action.setChecked(self.isPreviewWidgetVisible())
     action.triggered[bool].connect(self.setPreviewWidgetVisible)
     menu.addAction(action)
     action = QtGui.QAction('Show status', menu)
     action.setCheckable(True)
     action.setChecked(self.isStatusBarWidgetVisible())
     action.triggered[bool].connect(self.setStatusBarWidgetVisible)
     menu.addAction(action)
     menu.addSeparator()
     viewMenu = self.recordsWidget().settingsMenu(parent=menu)
     menu.addMenu(viewMenu)
     if studiolibrary.isMaya():
         menu.addSeparator()
         dockMenu = self.dockMenu()
         menu.addMenu(dockMenu)
     menu.addSeparator()
     action = QtGui.QAction('Debug mode', menu)
     action.setCheckable(True)
     action.setChecked(self.isDebug())
     action.triggered[bool].connect(self.setDebugMode)
     menu.addAction(action)
     action = QtGui.QAction('Help', menu)
     action.triggered.connect(self.help)
     menu.addAction(action)
     return menu
示例#9
0
def main(name = None, show = True, **kwargs):
    """
    @type name: str
    @type show: bool
    @type kwargs: dict[]
    @rtype: @raise Exception:
    """
    import studiolibrary
    if not name:
        name = 'Default'
    add = kwargs.get('add', None)
    plugins = kwargs.get('plugins', list())
    root = kwargs.get('root', None)
    if root:
        if '\\' in root:
            raise Exception("Please use '/' instead of '\\'. Invalid token found in root path '%s'!" % root)
        if not os.path.exists(root):
            raise Exception("Cannot find the root folder path '%s'!" % root)
    if add or not plugins:
        _plugins = []
        _plugins.extend(DEFAULT_PLUGINS)
        if add:
            _plugins.extend(plugins)
    else:
        _plugins = plugins
    kwargs['plugins'] = _plugins
    if not isMaya():
        studiolibrary.__application = QtGui.QApplication(sys.argv)
    else:
        import maya.cmds
        if not studiolibrary.__scriptJob:
            studiolibrary.__scriptJob = maya.cmds.scriptJob(event=['quitApplication', 'import studiolibrary;\nfor window in studiolibrary.mainWindows().values():\n\twindow.saveSettings()'])
    if not root:
        root = LibrarySettings(name).get('kwargs', None).get('root', None)
        if not root and show:
            root = showWelcomeDialog()
            kwargs['root'] = root
    if name not in studiolibrary.mainWindows():
        w = studiolibrary.MainWindow(name=name, **kwargs)
        studiolibrary.mainWindows().setdefault(name, w)
    else:
        w = studiolibrary.mainWindows()[name]
        w.loadLibrary(name, kwargs)
        w.close()
    if show:
        w.showNormal()
        w.raiseWindow()
    if not studiolibrary.isMaya():
        sys.exit(studiolibrary.__application.exec_())
    return studiolibrary.mainWindows().get(name, None)
示例#10
0
def main(*args, **kwargs):
    """
    Convenience method for creating/showing a library widget instance.

    return studiolibrary.LibraryWindow.instance(
        name="",
        path="",
        show=True,
        lock=False,
        superusers=None,
        lockRegExp=None,
        unlockRegExp=None
    )

    :rtype: studiolibrary.LibraryWindow
    """
    # Reload all Studio Library modules when Shift is pressed.
    # This is for developers to test their changes in a DCC application.
    if studioqt.isShiftModifier():
        import studiolibrary
        studiolibrary.reload()

    import studiolibrary

    #merge the default value in the kwargs parameters:
    if "path" not in kwargs:
        kwargs["path"] = zefir_library()

    if "superusers" not in kwargs:
        kwargs["superusers"] = zefir_supervisors()

    kwargs["unlockRegExp"] = ".*(user/{user}).*".format(
        user=zefir_currentuser())

    if studiolibrary.isMaya():
        import studiolibrarymaya
        libraryWindow = studiolibrarymaya.main(*args, **kwargs)
    else:
        libraryWindow = studiolibrary.LibraryWindow.instance(*args, **kwargs)

    return libraryWindow
示例#11
0
def main(*args, **kwargs):
    """
    Convenience method for creating/showing a library widget instance.

    return studiolibrary.LibraryWidget.instance(
        name="",
        path="",
        show=True,
        lock=False,
        superusers=None,
        lockRegExp=None,
        unlockRegExp=None
    )

    :rtype: studiolibrary.LibraryWidget
    """
    if studiolibrary.isMaya():
        import studiolibrarymaya
        libraryWidget = studiolibrarymaya.main(*args, **kwargs)
    else:
        libraryWidget = studiolibrary.LibraryWidget.instance(*args, **kwargs)

    return libraryWidget