def __init__(self, specification, context, parent=None, embedBrowser=False, embedDetails=True, session=None): super(ItemCreateWidget, self).__init__(parent=parent) l = FnAssetAPI.l self._embedBrowser = embedBrowser self._embedDetails = embedDetails layout = QtGui.QVBoxLayout() self.setLayout(layout) if not session: session = FnAssetAPI.ui.UISessionManager.currentSession() if embedBrowser: widgetIdentifier = FnAssetAPI.ui.constants.kBrowserWidgetId else: widgetIdentifier = FnAssetAPI.ui.constants.kInlinePickerWidgetId pickerCls = session.getManagerWidget(widgetIdentifier, instantiate=False) self.parentPicker = pickerCls(specification, context) if embedDetails: destGbox = QtGui.QGroupBox(l("{publish} To")) layout.addWidget(destGbox) destLayout = QtGui.QVBoxLayout() destGbox.setLayout(destLayout) destLayout.addWidget(self.parentPicker) else: layout.addWidget(self.parentPicker) self.itemSpreadsheet = None if embedDetails: self.itemSpreadsheet = ItemSpreadsheetWidget() self.itemsGbox = QtGui.QGroupBox("Items") itemsLayout = QtGui.QVBoxLayout() self.itemsGbox.setLayout(itemsLayout) itemsLayout.addWidget(self.itemSpreadsheet) layout.addWidget(self.itemsGbox) self.__items = []
def __init__(self, name, url=None, plugin=None, parent=None): '''Initialise web view with *name* and *url*. *name* will be used as the title of the widget and also will be converted to a lowercase dotted name which the panel can be referenced with. For example, "My Panel" -> "my.panel". *url* should be the initial url to display. *plugin* should be an instance of *:py:class:`ftrack_connect_hieroplayer.plugin.Plugin` which will be *injected into the JavaScript window object of any loaded page. *parent* is the optional parent of this widget. ''' super(WebView, self).__init__(parent=parent) self.logger = logging.getLogger(__name__ + '.' + self.__class__.__name__) self.setObjectName(name.lower().replace(' ', '.')) self.setWindowTitle(name) self.plugin = plugin self.webView = QtWebKit.QWebView() self.webView.urlChanged.connect(self.changedLocation) # Use plugin network access manager if available. if self.plugin: self.webView.page().setNetworkAccessManager( self.plugin.networkAccessManager) self.frame = self.webView.page().mainFrame() # Enable developer tools for debugging loaded page. self.webView.settings().setAttribute( QtWebKit.QWebSettings.WebAttribute.DeveloperExtrasEnabled, True) self.inspector = QtWebKit.QWebInspector(self) self.inspector.setPage(self.webView.page()) self.inspector.hide() self.splitter = QtGui.QSplitter(self) self.splitter.addWidget(self.webView) self.splitter.addWidget(self.inspector) layout = QtGui.QVBoxLayout(self) layout.addWidget(self.splitter) # Load the passed url. self.setUrl(url)
def __init__(self, parent=None): super(AssetPreferencesDialog, self).__init__(parent=parent) self.setWindowTitle("Asset Management Preferences") layout = QtGui.QVBoxLayout() self.setLayout(layout) self.settingsWidget = SessionSettingsWidget() layout.addWidget(self.settingsWidget) self.applyButton = QtGui.QPushButton("Apply") layout.addWidget(self.applyButton) self.applyButton.clicked.connect(self.apply)
def __init__(self, specification, context, embedBrowser=False, session=None, parent=None, embedDetails=True): super(ItemCreateDialog, self).__init__(parent=parent) l = FnAssetAPI.l self._specification = specification self._context = context if not session: session = FnAssetAPI.SessionManager.currentSession() self._session = session layout = QtGui.QVBoxLayout() self.setLayout(layout) self.itemCreateWidget = ItemCreateWidget(specification, context, embedBrowser=embedBrowser, embedDetails=embedDetails, session=session) layout.addWidget(self.itemCreateWidget) self._managerOptions = None self._drawOptions(layout) buttons = QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel self._buttons = QtGui.QDialogButtonBox(buttons) if not embedDetails: detailsButton = self._buttons.addButton( "Details...", QtGui.QDialogButtonBox.HelpRole) detailsButton.clicked.connect(self.showDetails) self._buttons.button(QtGui.QDialogButtonBox.Ok).setText(l('{publish}')) self.connect(self._buttons, QtCore.SIGNAL('accepted()'), self.accept) self.connect(self._buttons, QtCore.SIGNAL('rejected()'), self.reject) layout.addWidget(self._buttons)
def _drawOptions(self, layout): optionsBox = QtGui.QGroupBox("Options") optionsLayout = QtGui.QVBoxLayout() optionsBox.setLayout(optionsLayout) layout.addWidget(optionsBox) # See if we have any options from the manager self._managerOptions = self._session.getManagerWidget( FnAssetAPI.ui.constants.kRegistrationManagerOptionsWidgetId, throw=False, args=(self._specification, self._context)) if self._managerOptions: optionsLayout.addWidget(self._managerOptions) optionsLayout.addSpacing(10) return optionsLayout
def __init__(self, parent=None): super(ItemDetailsDialog, self).__init__(parent=parent) self.setWindowTitle("Item Details") self.__items = [] layout = QtGui.QVBoxLayout() self.setLayout(layout) self.itemSpreadsheet = ItemSpreadsheetWidget() self.itemSpreadsheet.setMaxColumnWidth(800) layout.addWidget(self.itemSpreadsheet) self._buttons = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok) layout.addWidget(self._buttons) self.connect(self._buttons, QtCore.SIGNAL('accepted()'), self.accept) self.connect(self._buttons, QtCore.SIGNAL('rejected()'), self.reject)