コード例 #1
0
 def __init__(self, parent=None, *args, **kwargs):
     super(BaseBlenderSettings, self).__init__(parent=parent)
     self.fileInput = Widgets.CueLabelLineEdit('Blender File:')
     self.outputPath = Widgets.CueLabelLineEdit(
         'Output Path (Optional):',
         tooltip='Optionally set the rendered output format. '
                 'See the "-o" flag of {} for more info.'.format(
                         Constants.BLENDER_OUTPUT_OPTIONS_URL))
     self.outputSelector = Widgets.CueSelectPulldown(
         'Output Format', options=Constants.BLENDER_FORMATS, multiselect=False)
     self.outputLayout = QtWidgets.QHBoxLayout()
     self.setupUi()
     self.setupConnections()
コード例 #2
0
 def __init__(self, writeNodes=None, filename=None, parent=None, *args, **kwargs):
     super(InNukeSettings, self).__init__(parent=parent)
     self.fileInput = Widgets.CueLabelLineEdit('Nuke File:', filename)
     self.writeNodeSelector = Widgets.CueSelectPulldown('Write Nodes:', emptyText='[All]',
                                                        options=writeNodes)
     self.selectorLayout = QtWidgets.QHBoxLayout()
     self.setupUi()
コード例 #3
0
 def __init__(self,
              cameras=None,
              filename=None,
              parent=None,
              *args,
              **kwargs):
     super(InMayaSettings, self).__init__(parent=parent)
     self.mayaFileInput = Widgets.CueLabelLineEdit('Maya File:', filename)
     self.cameraSelector = Widgets.CueSelectPulldown('Render Cameras',
                                                     options=cameras)
     self.selectorLayout = QtWidgets.QHBoxLayout()
     self.setupUi()
コード例 #4
0
 def __init__(self, parent=None):
     super(FrameSpecWidget, self).__init__(parent)
     self.frameSpecInput = Widgets.CueLabelLineEdit('Frame Spec:')
     self.contentLayout.addWidget(self.frameSpecInput)
コード例 #5
0
 def __init__(self, parent=None, *args, **kwargs):
     super(BaseMayaSettings, self).__init__(parent=parent)
     self.mayaFileInput = Widgets.CueLabelLineEdit('Maya File:')
     self.setupUi()
     self.setupConnections()
コード例 #6
0
    def __init__(self,
                 settingsWidgetType,
                 jobTypes=JobTypes.JobTypes,
                 parent=None,
                 *args,
                 **kwargs):
        super(CueSubmitWidget, self).__init__(parent)
        self.skipDataChangedEvent = False
        self.settings = QtCore.QSettings('opencue', 'cuesubmit')
        self.clearMessageShown = False
        self.jobTypes = jobTypes
        self.primaryWidgetType = settingsWidgetType
        self.primaryWidgetArgs = {'args': args, 'kwargs': kwargs}
        self.mainLayout = QtWidgets.QVBoxLayout()
        self.mainLayout.addSpacing(0)
        self.mainLayout.setSpacing(0)
        self.scrollArea = QtWidgets.QScrollArea(self)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollableWidget = QtWidgets.QWidget(self.scrollArea)
        self.scrollArea.setWidget(self.scrollableWidget)
        self.scrollingLayout = QtWidgets.QVBoxLayout()
        self.scrollingLayout.addSpacing(0)
        self.scrollingLayout.setSpacing(0)
        self.scrollableWidget.setLayout(self.scrollingLayout)
        self.mainLayout.addWidget(self.scrollArea)
        self.jobInfoLayout = QtWidgets.QVBoxLayout()
        self.layerInfoLayout = QtWidgets.QVBoxLayout()
        self.submissionDetailsLayout = QtWidgets.QVBoxLayout()
        self.jobInfoLayout.setContentsMargins(20, 0, 0, 0)
        self.layerInfoLayout.setContentsMargins(20, 0, 0, 0)
        self.submissionDetailsLayout.setContentsMargins(20, 0, 0, 0)
        self.settingsLayout = QtWidgets.QHBoxLayout()

        self.coresLayout = QtWidgets.QHBoxLayout()
        self.servicesLayout = QtWidgets.QHBoxLayout()
        self.showLayout = QtWidgets.QGridLayout()

        self.titleLogo = QtWidgets.QLabel()
        self.titleLogo.setPixmap(
            QtGui.QPixmap('{}/images/OpenCue.png'.format(Constants.DIR_PATH)))
        self.userNameInput = Widgets.CueLabelLineEdit(
            'User Name:',
            getpass.getuser(),
            tooltip='User name that should be associated with this job.',
            completers=['foo', 'bar'],
            validators=[Validators.matchNoSpecialCharactersOnly])
        self.jobNameInput = Widgets.CueLabelLineEdit(
            'Job Name:',
            tooltip=
            'Job names must be unique, have more than 3 characters, and contain no spaces.',
            completers=self.getFilteredHistorySetting('submit/jobName'),
            validators=[
                Validators.matchNoSpecialCharactersOnly,
                Validators.moreThan3Chars, Validators.matchNoSpaces
            ])
        shows = Util.getShows()
        self.showSelector = Widgets.CueSelectPulldown('Show:',
                                                      shows[0],
                                                      options=shows,
                                                      multiselect=False,
                                                      parent=self)
        self.shotInput = Widgets.CueLabelLineEdit(
            'Shot:',
            tooltip='Name of the shot associated with this submission.',
            completers=self.getFilteredHistorySetting('submit/shotName'),
            validators=[Validators.matchNoSpecialCharactersOnly])
        self.layerNameInput = Widgets.CueLabelLineEdit(
            'Layer Name:',
            tooltip=
            'Name for this layer of the job. Should be more than 3 characters, '
            'and contain no spaces.',
            completers=self.getFilteredHistorySetting('submit/layerName'),
            validators=[
                Validators.matchNoSpecialCharactersOnly,
                Validators.moreThan3Chars, Validators.matchNoSpaces
            ])
        self.frameBox = Frame.FrameSpecWidget()
        jobTypes = self.jobTypes.types()
        self.jobTypeSelector = Widgets.CueSelectPulldown('Job Type:',
                                                         options=jobTypes,
                                                         multiselect=False)
        self.jobTypeSelector.setChecked(self.primaryWidgetType)
        self.servicesSelector = Widgets.CueSelectPulldown(
            'Services:', options=Util.getServices())
        self.limitsSelector = Widgets.CueSelectPulldown(
            'Limits:', options=Util.getLimits())
        self.coresInput = Widgets.CueLabelLineEdit(
            'Min Cores:',
            '0',
            tooltip='Minimum number of cores to run. 0 is any',
            validators=[Validators.matchNumbersOnly])
        self.chunkInput = Widgets.CueLabelLineEdit(
            'Chunk Size:',
            '1',
            tooltip=
            'Chunk frames by this value. Integers equal or greater than 1.',
            validators=[Validators.matchPositiveIntegers])
        self.chunkInput.lineEdit.setFixedWidth(120)
        self.dependSelector = Widgets.CueSelectPulldown(
            'Dependency Type:',
            emptyText='',
            options=[
                Layer.DependType.Null, Layer.DependType.Layer,
                Layer.DependType.Frame
            ],
            multiselect=False)

        self.settingsWidget = self.jobTypes.build(self.primaryWidgetType,
                                                  *args, **kwargs)
        self.jobTreeWidget = Job.CueJobWidget()
        self.submitButtons = CueSubmitButtons()
        self.setupUi()
        self.setupConnections()
        self.jobDataChanged()