def __init__( self, *args ): super( ObjectContainer, self ).__init__( *args ) self.ui = ObjectContainerBase() self.ui.setupUi( self ) self.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed ) self.setAttribute( Qt.WA_NoSystemBackground, True ) self.mainLayout = QtGui.QVBoxLayout(self.getInnerContainer()) self.mainLayout.setSpacing(0) self.mainLayout.setMargin(0) self.contextObject = None self.folded = False self.toggleFold( False, True ) self.ui.buttonFold.clicked.connect( lambda x: self.toggleFold( None ) ) self.ui.buttonContext.clicked.connect( lambda x: self.openContextMenu() ) self.ui.buttonContext.setIcon( getIcon( 'menu' ) ) self.ui.buttonName.clicked.connect( lambda x: self.toggleFold( None ) ) self.ui.buttonName.setIcon( getIcon( 'component' ) ) self.ui.buttonName.setToolButtonStyle( Qt.ToolButtonTextBesideIcon ) self.ui.buttonKey.setIcon( getIcon( 'key' ) ) self.ui.buttonKey.hide() self.ui.buttonFold.setIcon( getIcon( 'node_folded' ) )
def updateItemContent(self, item, node, **option): if node == self.getRootNode(): return clasName = node.getClassName(node) if clasName == 'TextureGroup': if node.default: item.setIcon(0, getIcon('folder_cyan')) else: item.setIcon(0, getIcon('folder')) item.setText(0, node.name) item.setExpanded(node.expanded) else: path = node.path if node.isPrebuiltAtlas(node): item.setIcon(0, getIcon('cell')) else: item.setIcon(0, getIcon('texture')) item.setText(0, os.path.basename(path)) item.setText(1, os.path.dirname(path)) if node.processor: processorName, ext = os.path.splitext( os.path.basename(node.processor)) item.setText(2, processorName) else: item.setText(2, '')
def updateItemContent(self, item, node, **option): t = node.getType() item.setText(0, node.getName()) if t == 'group': item.setIcon(0, getIcon('folder-tag')) else: item.setIcon(0, getIcon('asset-filter'))
def __init__( self, *args, **kwargs ): super( AssetBrowserNavigator, self ).__init__( *args, **kwargs ) layout = QtGui.QHBoxLayout( self ) layout.setSpacing( 1 ) layout.setMargin( 0 ) self.buttonUpper = QtGui.QToolButton() self.buttonForward = QtGui.QToolButton() self.buttonBackward = QtGui.QToolButton() self.buttonUpper.setIconSize( QSize( 16, 16 ) ) self.buttonForward.setIconSize( QSize( 16, 16 ) ) self.buttonBackward.setIconSize( QSize( 16, 16 ) ) self.buttonUpper.setIcon( getIcon( 'upper_folder' ) ) self.buttonForward.setIcon( getIcon( 'history_forward' ) ) self.buttonBackward.setIcon( getIcon( 'history_backward' ) ) layout.addWidget( self.buttonUpper ) layout.addSpacing( 10 ) layout.addWidget( self.buttonBackward ) layout.addWidget( self.buttonForward ) self.buttonUpper.clicked.connect( self.onGoUpperLevel ) self.buttonForward.clicked.connect( self.onHistoryForward ) self.buttonBackward.clicked.connect( self.onHistoryBackward ) self.crumbBar = AssetBrowserNavigatorCrumbBar() layout.addWidget( self.crumbBar ) self.crumbBar.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) self.setFixedHeight( 20 )
def updateHeaderItem(self, item, col, info): if info[0] == 'V': item.setText(col, '') item.setIcon(col, getIcon('entity_vis')) elif info[0] == 'L': item.setText(col, '') item.setIcon(col, getIcon('entity_lock'))
def updateItemContent( self, item, node, **option ): t = node.getType() item.setText( 0, node.getName() ) if t == 'group': item.setIcon(0, getIcon( 'folder-tag' ) ) else: item.setIcon(0, getIcon( 'asset-filter' ) )
def updateItemContent(self, item, node, **option): if node == self.getRootNode(): return clasName = node.getClassName(node) if clasName == "TextureGroup": if node.default: item.setIcon(0, getIcon("folder_cyan")) else: item.setIcon(0, getIcon("folder")) item.setText(0, node.name) item.setExpanded(node.expanded) else: path = node.path if node.isPrebuiltAtlas(node): item.setIcon(0, getIcon("cell")) else: item.setIcon(0, getIcon("texture")) item.setText(0, os.path.basename(path)) item.setText(1, os.path.dirname(path)) if node.processor: processorName, ext = os.path.splitext(os.path.basename(node.processor)) item.setText(2, processorName) else: item.setText(2, "")
def createWidget( self, container ): self.container = container self.container.setCallbackOnClose( self.onClose ) self.toolbar = self.container.addToolBar() self.toolbar.setIconSize( QtCore.QSize( 16, 16 ) ) self.actionSave = self.toolbar.addAction( getIcon( 'save' ), 'Save' ) self.actionLocate = self.toolbar.addAction( getIcon( 'search-2' ), 'Locate' ) self.actionSave.setEnabled( False ) self.actionSave.triggered.connect( self.onActionSave ) self.actionLocate.triggered.connect( self.onActionLocate ) self.window = window = self.container.addWidgetFromFile( _getModulePath('SerializableEditor.ui') ) self.scroll = scroll = addWidgetWithLayout( QtGui.QScrollArea( window.containerProperty ), window.containerProperty ) scroll.verticalScrollBar().setStyleSheet('width:4px') scroll.setWidgetResizable( True ) self.propertyEditor = PropertyEditor( scroll ) scroll.setWidget( self.propertyEditor ) self.propertyEditor.propertyChanged.connect( self.onPropertyChanged )
def __init__(self, *args): super(SearchFieldWidget, self).__init__( *args ) self.parentEditor = None self.layout = layout = QtGui.QHBoxLayout( self ) layout.setSpacing( 0 ) layout.setMargin( 0 ) self.buttonRef = buttonRef = SearchFieldButton( self ) self.buttonGoto = buttonGoto = SearchFieldButton( self ) self.buttonClear = buttonClear = SearchFieldButton( self ) buttonRef.setObjectName( 'ButtonReferenceField' ) self.buttonRef.setToolButtonStyle( Qt.ToolButtonTextBesideIcon ) buttonRef.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed ) buttonGoto.setSizePolicy( QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed ) buttonClear.setSizePolicy( QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed ) buttonRef.setText( '<None>' ) buttonRef.setStyleSheet ("text-align: left;"); buttonGoto.setIcon( getIcon('search-2') ) buttonClear.setIcon( getIcon('remove') ) layout.addWidget( buttonGoto ) layout.addWidget( buttonRef ) layout.addWidget( buttonClear ) self.targetRef = None self.setRef( None ) self.setAcceptDrops( False )
def createWidget(self, container): self.container = container self.container.setCallbackOnClose(self.onClose) self.toolbar = self.container.addToolBar() self.toolbar.setIconSize(QtCore.QSize(16, 16)) self.actionSave = self.toolbar.addAction(getIcon('save'), 'Save') self.actionLocate = self.toolbar.addAction(getIcon('search-2'), 'Locate') self.actionSave.setEnabled(False) self.actionSave.triggered.connect(self.onActionSave) self.actionLocate.triggered.connect(self.onActionLocate) self.window = window = self.container.addWidgetFromFile( _getModulePath('SerializableEditor.ui')) self.scroll = scroll = addWidgetWithLayout( QtGui.QScrollArea(window.containerProperty), window.containerProperty) scroll.verticalScrollBar().setStyleSheet('width:4px') scroll.setWidgetResizable(True) self.propertyEditor = PropertyEditor(scroll) scroll.setWidget(self.propertyEditor) self.propertyEditor.propertyChanged.connect(self.onPropertyChanged)
def updateHeaderItem( self, item, col, info ): if info[0] == 'V': item.setText( col, '') item.setIcon( col, getIcon( 'entity_vis' ) ) elif info[0] == 'L': item.setText( col, '') item.setIcon( col, getIcon( 'entity_lock' ) )
def __init__(self, *args, **kwargs): super(AssetBrowserNavigator, self).__init__(*args, **kwargs) layout = QtWidgets.QHBoxLayout(self) layout.setSpacing(1) layout.setContentsMargins(0, 0, 0, 0) self.buttonUpper = QtWidgets.QToolButton() self.buttonForward = QtWidgets.QToolButton() self.buttonBackward = QtWidgets.QToolButton() self.buttonUpper.setIconSize(QSize(16, 16)) self.buttonForward.setIconSize(QSize(16, 16)) self.buttonBackward.setIconSize(QSize(16, 16)) self.buttonUpper.setIcon(getIcon('upper_folder')) self.buttonForward.setIcon(getIcon('history_forward')) self.buttonBackward.setIcon(getIcon('history_backward')) layout.addWidget(self.buttonUpper) layout.addSpacing(10) layout.addWidget(self.buttonBackward) layout.addWidget(self.buttonForward) self.buttonUpper.clicked.connect(self.onGoUpperLevel) self.buttonForward.clicked.connect(self.onHistoryForward) self.buttonBackward.clicked.connect(self.onHistoryBackward) self.crumbBar = AssetBrowserNavigatorCrumbBar() layout.addWidget(self.crumbBar) self.crumbBar.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
def updateItemContent( self, item, node, **option ): if node == self.getRootNode(): return item.setIcon( 0, getIcon( node.checked and 'checkbox_checked' or 'checkbox_unchecked' ) ) item.setText( 1, node.name ) item.setText( 2, node.typeName ) if node.iconName: item.setIcon( 1, getIcon( node.iconName, 'default_item' ) )
def __init__(self, *args): super(ObjectContainer, self).__init__(*args) self.ui = ObjectContainerBase() self.ui.setupUi(self) self.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) # self.setAttribute( Qt.WA_NoSystemBackground, True ) self.mainLayout = QtWidgets.QVBoxLayout(self.getInnerContainer()) self.mainLayout.setSpacing(0) self.mainLayout.setContentsMargins(0, 0, 0, 0) self.contextObject = None self.folded = False self.toggleFold(False, True) self.ui.buttonFold.clicked.connect(lambda x: self.toggleFold(None)) self.ui.buttonContext.clicked.connect(lambda x: self.openContextMenu()) self.ui.buttonContext.setIcon(getIcon('menu')) self.ui.buttonName.clicked.connect(lambda x: self.toggleFold(None)) self.ui.buttonName.setIcon(getIcon('component')) self.ui.buttonName.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.ui.buttonKey.setIcon(getIcon('key')) self.ui.buttonKey.hide() self.ui.buttonFold.setIcon(getIcon('node_folded'))
def updateItemContent(self, item, node, **option): name = None if node.type == 'group': item.setIcon(0, getIcon('folder')) item.setText(0, node.name) else: item.setIcon(0, getIcon('text')) item.setText(0, node.name) item.setText(1, node.objectType or '???')
def updateItemContent( self, item, node, **option ): name = None if node.type == 'group': item.setIcon( 0, getIcon('folder') ) item.setText( 0, node.name ) else: item.setIcon( 0, getIcon('text') ) item.setText( 0, node.name ) item.setText( 1, node.objectType or '???' )
def __init__(self, *args): super(SearchFieldWidget, self).__init__( *args ) self.parentEditor = None layout = QtWidgets.QHBoxLayout( self ) layout.setSpacing( 0 ) layout.setContentsMargins( 0 , 0 , 0 , 0 ) self.buttonGoto = buttonGoto = SearchFieldButton( self ) self.buttonRef = buttonRef = SearchFieldButton( self ) self.buttonOpen = buttonOpen = SearchFieldButton( self ) self.buttonClear = buttonClear = SearchFieldButton( self ) self.buttonSync = buttonSync = SearchFieldButton( self ) buttonRef.setObjectName( 'ButtonReferenceField' ) self.buttonRef.setToolButtonStyle( Qt.ToolButtonTextBesideIcon ) self.buttonFlags = dict( goto = True, clear = True, open = False, ) buttonRef.setSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed ) buttonGoto.setSizePolicy( QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed ) buttonOpen.setSizePolicy( QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed ) buttonClear.setSizePolicy( QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed ) buttonSync.setSizePolicy( QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed ) buttonRef.setText( '<None>' ) buttonRef.setStyleSheet ("text-align: left;"); buttonGoto.setIcon( getIcon('search') ) buttonOpen.setIcon( getIcon('pencil') ) buttonClear.setIcon( getIcon('remove') ) buttonSync.setIcon( getIcon('in') ) layout.addWidget( buttonGoto ) layout.addWidget( buttonOpen ) layout.addWidget( buttonSync ) layout.addWidget( buttonRef ) layout.addWidget( buttonClear ) self.targetRef = None self.setRef( None ) self.setAcceptDrops( False ) buttonOpen.hide()
def updateItemContent(self, item, node, **option): if node == self.getRootNode(): return item.setIcon( 0, getIcon(node.checked and 'checkbox_checked' or 'checkbox_unchecked')) item.setText(1, node.name) item.setText(2, node.typeName) if node.iconName: item.setIcon(1, getIcon(node.iconName, 'default_item'))
def updateItemContent( self, item, node, **option ): if isMockInstance( node, 'AnimatorClipGroup' ): # pal = self.palette() # defaultBrush = QColorF( .8,.8,.8 ) # name = None item.setText( 0, node.name ) item.setIcon( 0, getIcon('folder') ) else: item.setText( 0, node.name ) item.setIcon( 0, getIcon('clip') )
def updateItemContent(self, item, node, **option): if node == self.manager: return #TODO:icon item.setText(0, node.alias) item.setText(1, node.path) item.setText(2, str(node.id)) if node.entry: item.setIcon(0, getIcon('scene')) else: item.setIcon(0, getIcon('obj'))
def updateItemContent( self, item, node, **option ): if node == self.manager: return #TODO:icon item.setText( 0, node.alias ) item.setText( 1, node.path ) item.setText( 2, str(node.id) ) if node.entry: item.setIcon(0, getIcon( 'scene' ) ) else: item.setIcon(0, getIcon( 'obj' ) )
def updateItemContent(self, item, node, **option): if node == self.getRootNode(): item.setText(0, node['name']) item.setIcon(0, getIcon('effect/group')) else: typeName = node.getTypeName(node) item.setText(0, node['name']) item.setText(1, typeName) item.setIcon( 0, getIcon('effect/' + typeName.lower(), 'effect/unknown'))
def updateItemContent(self, item, node, **option): pal = self.palette() defaultBrush = QColorF(.8, .8, .8) name = None if isMockInstance(node, 'Layer'): style = defaultBrush item.setText(0, node.name) if node.default: item.setIcon(0, getIcon('layer_default')) else: item.setIcon(0, getIcon('layer')) if node.editorVisible: item.setIcon(1, getIcon('ok')) else: item.setIcon(1, getIcon('no')) style = _BrushLayerHidden if not node.locked: item.setIcon(2, getIcon('ok')) else: item.setIcon(2, getIcon('no')) if node.editorSolo == 'solo': item.setIcon(3, getIcon('ok')) style = _BrushLayerSolo else: item.setIcon(3, getIcon(None)) if self.hasSoloLayer: style = _BrushLayerHidden item.setForeground(0, style) else: item.setText(0, '') item.setIcon(0, getIcon('normal'))
def updateItemContent( self, item, node, **option ): pal = self.palette() defaultBrush = QColorF( .8,.8,.8 ) name = None if isMockInstance( node, 'Layer' ): style = defaultBrush item.setText( 0, node.name ) if node.default : item.setIcon( 0, getIcon('layer_default') ) else: item.setIcon( 0, getIcon('layer') ) if node.editorVisible: item.setIcon( 1, getIcon('ok') ) else: item.setIcon( 1, getIcon('no')) style = _BrushLayerHidden if not node.locked: item.setIcon( 2, getIcon('ok') ) else: item.setIcon( 2, getIcon('no')) if node.editorSolo == 'solo': item.setIcon( 3, getIcon('ok') ) style = _BrushLayerSolo else: item.setIcon( 3, getIcon(None) ) if self.hasSoloLayer: style = _BrushLayerHidden item.setForeground( 0, style ) else: item.setText( 0, '' ) item.setIcon( 0, getIcon('normal') )
def updateItemContent(self, item, node, **option): name = None item.setData(0, Qt.UserRole, 0) item.setText(0, node.getLabel(node)) if node.isVisible(node): item.setIcon(1, getIcon('entity_vis')) elif node.isLocalVisible(node): item.setIcon(1, getIcon('entity_parent_invis')) else: item.setIcon(1, getIcon('entity_invis'))
def updateItemContent( self, item, node, **option ): pal = self.palette() defaultBrush = QColorF( .8,.8,.8 ) name = None if isMockInstance( node, 'AnimatorTrackGroup' ): item.setText( 0, node.toString( node ) ) item.setIcon( 0, getIcon('track_group') ) elif isMockInstance( node, 'AnimatorClipSubNode' ): item.setText( 0, node.toString( node ) ) item.setIcon( 0, getIcon(node.getIcon( node )) ) item.setIcon( 1, getIcon('track_key_0') )
def updateItemContent(self, item, node, **option): if node == self.module: return item.setIcon(0, getIcon('default_item')) item.setText(0, node.getName(node)) assetLib = AssetLibrary.get() assetPath = node.getAssetPath(node) assetNode = assetLib.getAssetNode(assetPath) item.setText(1, assetPath) if assetNode: iconName = assetLib.getAssetIcon(assetNode.getType()) or 'normal' item.setIcon(1, getIcon(iconName, 'normal')) else: item.setIcon(1, getIcon('missing'))
def toggleFold( self, folded = None, notify = True ): if folded == None: folded = not self.folded self.folded = folded if folded: # self.ui.buttonFold.setText( '+' ) self.ui.buttonFold.setIcon( getIcon( 'node_folded' ) ) self.ui.ObjectInnerContainer.hide() else: # self.ui.buttonFold.setText( '-' ) self.ui.buttonFold.setIcon( getIcon( 'node_unfolded' ) ) self.ui.ObjectInnerContainer.show() if notify: self.foldChanged.emit( self.folded )
def toggleFold(self, folded=None, notify=True): if folded == None: folded = not self.folded self.folded = folded if folded: # self.ui.buttonFold.setText( '+' ) self.ui.buttonFold.setIcon(getIcon('node_folded')) self.ui.ObjectInnerContainer.hide() else: # self.ui.buttonFold.setText( '-' ) self.ui.buttonFold.setIcon(getIcon('node_unfolded')) self.ui.ObjectInnerContainer.show() if notify: self.foldChanged.emit(self.folded)
def __init__(self, *args): super(PanelDebug, self).__init__(*args) layout = QtGui.QVBoxLayout(self) layout.setSpacing(0) layout.setMargin(0) self.toolbar = QtGui.QToolBar(self) self.toolbar.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.toolbar.setIconSize(QtCore.QSize(16, 16)) layout.addWidget(self.toolbar) splitter = QtGui.QSplitter(QtCore.Qt.Horizontal) splitter.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) layout.addWidget(splitter) font = QtGui.QFont() font.setFamily('Consolas') font.setPointSize(12) listStack = ListStackView() treeScope = TreeScopeView() listStack.setFont(font) treeScope.setFont(font) self.listStack = listStack self.treeScope = treeScope listStack.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) treeScope.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) splitter.addWidget(listStack) splitter.addWidget(treeScope) self.actionStepOver = self.toolbar.addAction( getIcon('debugger/stepover'), 'Step Over') self.actionStepIn = self.toolbar.addAction(getIcon('debugger/stepin'), 'Step In') self.actionStepOut = self.toolbar.addAction( getIcon('debugger/stepout'), 'Step Out') self.actionStepOver.triggered.connect(self.onStepOver) self.actionStepIn.triggered.connect(self.onStepIn) self.actionStepOut.triggered.connect(self.onStepOut)
def updateItemContent( self, item, node, **option ): if node == self.getRootNode() : return item.setText( 0, node['name'] ) item.setText( 1, node['type'] ) if node['type'] == 'stretchpatch': item.setIcon( 0, getIcon('deck_patch')) elif node['type'] == 'tileset': item.setIcon( 0, getIcon('deck_tileset')) elif node['type'] == 'quad_array': item.setIcon( 0, getIcon('deck_quad_array')) elif node['type'] == 'polygon': item.setIcon( 0, getIcon('deck_polygon')) else: item.setIcon( 0, getIcon('deck_quad'))
def __init__(self, *args): super(GenericListFilter, self).__init__(*args) self.targetList = None self.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.setMinimumSize(100, 20) layout = QtWidgets.QHBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self.buttonClear = QtWidgets.QToolButton(self) self.buttonClear.setText('X') self.buttonClear.setObjectName('ClearButton') self.buttonClear.setIconSize(QtCore.QSize(12, 12)) self.buttonClear.setIcon(getIcon('remove')) self.lineEdit = QtWidgets.QLineEdit(self) self.lineEdit.textChanged.connect(self.onTextChanged) self.lineEdit.setPlaceholderText('Filters') self.lineEdit.setMinimumSize(100, 20) self.lineEdit.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.lineEdit.installEventFilter(self) self.buttonClear.hide() layout.addWidget(self.buttonClear) layout.addWidget(self.lineEdit) self.buttonClear.clicked.connect(self.clearFilter)
def updateItemContent(self, item, node, **option): if node == self.getRootNode(): return item.setText(0, node['name']) item.setText(1, node['type']) if node['type'] == 'stretchpatch': item.setIcon(0, getIcon('deck_patch')) elif node['type'] == 'tileset': item.setIcon(0, getIcon('deck_tileset')) elif node['type'] == 'quad_array': item.setIcon(0, getIcon('deck_quad_array')) elif node['type'] == 'polygon': item.setIcon(0, getIcon('deck_polygon')) else: item.setIcon(0, getIcon('deck_quad'))
def setLocked(self, locked=True): self.locked = locked self.header.buttonLock.setIcon(getIcon(locked and 'lock' or 'unlock')) self.header.buttonLock.setChecked(self.locked) if not locked: parent = app.getModule('introspector') self.setTarget(parent.currentTarget)
def requestSubWindow(self, id, **windowOption): title = windowOption.get('title', id) window = SubWindow(self) window.setWindowTitle(title) icon = windowOption.get('icon', None) if icon: window.setWindowIcon(getIcon(icon)) window.windowMode = 'sub' window.titleBase = title minSize = windowOption.get('minSize', None) if minSize: window.setMinimumSize(*minSize) # else: # window.setMinimumSize(20,20) maxSize = windowOption.get('maxSize', None) if maxSize: window.setMaximumSize(*maxSize) size = windowOption.get('size', None) if size: window.resize(*size) if windowOption.get('tool', False): window.setWindowFlags(Qt.Tool) return window
def __init__(self, *args): super(CursorInfoBox, self).__init__(*args) self.textZoom = QtWidgets.QDoubleSpinBox(self) self.textZoom.setDecimals(1) self.textZoom.setMaximum(10000) self.textZoom.setMinimum(0.001) self.textPos = QtWidgets.QLabel(self) self.textPos.setObjectName('TextPos') self.textZoom.setFixedWidth(60) self.textPos.setFixedWidth(120) self.buttonResetZoom = QtWidgets.QToolButton(self) self.buttonResetZoom.setFixedSize(20, 20) self.buttonResetZoom.setIcon(getIcon('reset')) self.buttonResetZoom.clicked.connect(self.resetZoom) layout = QtWidgets.QHBoxLayout(self) layout.addWidget(self.textZoom) layout.addWidget(self.buttonResetZoom) layout.addWidget(self.textPos) layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) self.textZoom.valueChanged.connect(self.onZoomChanged) self.setFixedHeight(24) self.parentView = None self.refreshTimer = QtCore.QTimer(self) self.refreshTimer.setTimerType(Qt.PreciseTimer) self.refreshTimer.setSingleShot(True) self.refreshTimer.timeout.connect(self.doRefresh) self.refreshTimer.setInterval(0.1) self.mousePos = (0, 0) self.cameraZoom = 1
def updateItemContent(self, item, node, **option): if node == self.owner: return assetType = node.getType() item.setText(0, node.getName()) iconName = app.getAssetLibrary().getAssetIcon(assetType) item.setIcon(0, getIcon(iconName, 'normal')) item.setText(1, assetType)
def updateItemContent(self, item, node, **option): rawName = node.getName() dotIdx = rawName.find('.') if dotIdx > 0: name = rawName[0:dotIdx] ext = rawName[dotIdx:] item.setText(name + '\n' + ext) else: item.setText(rawName) thumbnailIcon = self.owner.getAssetThumbnailIcon( node, self.thumbnailIconSize) if not thumbnailIcon: thumbnailIcon = getIcon('thumbnail/%s' % node.getType(), 'thumbnail/default') item.setIcon(thumbnailIcon) item.setSizeHint(QtCore.QSize(120, 130)) # item.setTextAlignment( Qt.AlignLeft | Qt.AlignVCenter ) item.setTextAlignment(Qt.AlignCenter | Qt.AlignVCenter) item.setToolTip(node.getPath()) remoteNode = node.getRemoteFileNode() if remoteNode: item.setForeground(QColor('#4ee4ff')) else: if node.isParentRemoteFile(): item.setForeground(QColor('#7990c4')) else: item.setForeground(QColor('#ccc'))
def updateItemContent( self, item, node, **option ): if node == self.owner: return assetType = node.getType() item.setText( 0, node.getName() ) iconName = app.getAssetLibrary().getAssetIcon( assetType ) item.setIcon(0, getIcon(iconName,'normal')) item.setText( 1, assetType )
def updateItemContent(self, item, node, **option): if node == self: return vtype = node.vtype item.setText(0, node.name) item.setText(2, node.desc) if vtype == 'boolean': item.setIcon(0, getIcon('var_boolean')) item.setText(1, node.value and 'true' or 'false') elif vtype == 'number': item.setIcon(0, getIcon('var_number')) item.setText(1, '%.4f' % node.value) elif vtype == 'int': item.setIcon(0, getIcon('var_int')) item.setText(1, '%d' % node.value) elif vtype == 'string': item.setIcon(0, getIcon('var_string')) item.setText(1, node.value)
def updateItemContent( self, item, node, **option ): if node == self: return vtype = node.vtype item.setText( 0, node.name ) item.setText( 2, node.desc ) if vtype == 'boolean': item.setIcon( 0, getIcon( 'var_boolean' ) ) item.setText( 1, node.value and 'true' or 'false' ) elif vtype == 'number': item.setIcon( 0, getIcon( 'var_number' ) ) item.setText( 1, '%.4f' % node.value ) elif vtype == 'int': item.setIcon( 0, getIcon( 'var_int' ) ) item.setText( 1, '%d' % node.value ) elif vtype == 'string': item.setIcon( 0, getIcon( 'var_string' ) ) item.setText( 1, node.value )
def __init__( self, toolId, **options ): super( SceneToolButton, self ).__init__() self.toolId = toolId # self.setDown( True ) iconPath = options.get( 'icon', 'tools/' + toolId ) self.setIcon( getIcon( iconPath ) ) _SceneToolButtons[ self ] = toolId self.setObjectName( 'SceneToolButton' )
def updateItemContent( self, item, node, **option ): if node == self.getRootNode(): return elif isMockInstance( node, 'QuestSession' ): item.setText( 0, node.name or '<NONAME>' ) item.setIcon( 0, getIcon( 'folder' ) ) elif isMockInstance( node, 'QuestSessionSchemeEntry' ): path = node.path name = os.path.basename( path ) if name.endswith( '.quest.graphml' ): shortName = name[:-14] else: shortName, ext = os.path.splitext( name ) item.setText( 0, shortName ) item.setIcon( 0, getIcon( 'quest_scheme' ) )
def __init__(self, toolId, **options): super(SceneToolButton, self).__init__() self.toolId = toolId # self.setDown( True ) iconPath = options.get('icon', 'tools/' + toolId) self.setIcon(getIcon(iconPath)) _SceneToolButtons[self] = toolId self.setObjectName('SceneToolButton')
def updateItemContent( self, item, node, **option ): if node == self.module: return if node == self.module.emitters: item.setText( 0, 'Emitters' ) item.setIcon( 0, getIcon('folder') ) elif node == self.module.states: item.setText( 0, 'States' ) item.setIcon( 0, getIcon('folder') ) elif node == self.module.editingConfig: item.setText( 0, 'Particle System' ) item.setIcon( 0, getIcon('particle') ) elif node.getClassName( node ) in [ 'ParticleEmitterConfig', 'ParticleStateConfig' ]: item.setText( 0, node.name ) item.setIcon( 0, getIcon('obj') ) else: item.setText( 0, '' ) item.setIcon( 0, getIcon('obj') )
def show( self, *args ): tab = self.parentWindow.centerTabWidget idx = tab.indexOf( self ) if idx < 0: idx = tab.addTab( self, self.windowTitle() ) iconPath = self.getWindowOption( 'icon' ) if iconPath: tab.tabBar().setTabIcon( idx, getIcon( iconPath ) ) super( DocumentWindow, self ).show( *args ) tab.setCurrentIndex( idx )
def initEditor(self, container): self.button = ActionFieldButton(container) self.button.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) self.button.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.button.setText(self.label) icon = self.getOption('icon', 'play') self.button.setIcon(getIcon(icon)) self.button.clicked.connect(self.doAction) return self.button
def show(self, *args): tab = self.parentWindow.centerTabWidget idx = tab.indexOf(self) if idx < 0: idx = tab.addTab(self, self.windowTitle()) iconPath = self.getWindowOption('icon') if iconPath: tab.tabBar().setTabIcon(idx, getIcon(iconPath)) super(DocumentWindow, self).show(*args) tab.setCurrentIndex(idx)
def updateItemContent(self, item, node, **option): if item == self.invisibleRootItem(): return iconName = node.getIcon(node) richText = node.getRichText(node) # mark # item.setText( 0, node.getMarkText() ) item.setIcon(0, getIcon(iconName or "sq_node_normal", "sq_node_normal")) # event item.setHtml(0, "<body>%s</body>" % richText)
def updateItemContent(self, item, node, **option): if node == self.getRootNode(): return item.setIcon(0, getIcon('portal_graph')) path = node.path name = os.path.basename(path) if name.endswith('.portal.graphml'): shortName = name[:-15] else: shortName, ext = os.path.splitext(name) item.setText(0, shortName)
def updateItemContent(self, item, node, **option): if item == self.invisibleRootItem(): return iconName = node.getIcon(node) richText = node.getRichText(node) #mark # item.setText( 0, node.getMarkText() ) item.setIcon(0, getIcon(iconName or 'sq_node_normal', 'sq_node_normal')) #event item.setHtml(0, '<body>%s</body>' % richText)
def initEditor( self, container ): self.button = ActionFieldButton( container ) self.button.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) self.button.setToolButtonStyle( Qt.ToolButtonTextBesideIcon ) self.button.setText( self.label ) icon = self.getOption( 'icon', 'play' ) self.button.setIcon( getIcon(icon) ) self.button.clicked.connect( self.doAction ) return self.button
def __init__( self, *args, **kwargs ): super( ControlVariableEditorWidget, self ).__init__( *args, **kwargs ) self.target = None layout = QtGui.QVBoxLayout( self ) layout.setSpacing( 0 ) layout.setMargin( 1 ) self.tree = ControlVariableSetTreeWidget( self ) self.tree.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) self.toolbar = QtGui.QToolBar( self ) self.toolbar.setIconSize( QtCore.QSize( 16, 16 ) ) self.actionAddI = self.toolbar.addAction( getIcon( 'var_int' ), 'Add Int' ) self.actionAddB = self.toolbar.addAction( getIcon( 'var_boolean' ), 'Add Boolean' ) self.actionAddN = self.toolbar.addAction( getIcon( 'var_number' ), 'Add Number' ) self.actionAddS = self.toolbar.addAction( getIcon( 'var_string' ), 'Add String' ) self.actionRemove = self.toolbar.addAction( getIcon( 'remove' ), 'Remove' ) self.toolbar.addSeparator() self.actionRefresh = self.toolbar.addAction( getIcon( 'refresh' ), 'Refresh' ) layout.addWidget( self.toolbar ) layout.addWidget( self.tree ) self.actionAddI .triggered .connect( self.onActionAddI ) self.actionAddN .triggered .connect( self.onActionAddN ) self.actionAddB .triggered .connect( self.onActionAddB ) self.actionAddS .triggered .connect( self.onActionAddS ) self.actionRemove .triggered .connect( self.onActionRemove ) self.actionRefresh .triggered .connect( self.onActionRefresh )
def updateItemContent( self, item, node, **option ): if node == self: return item.setIcon( 0, getIcon( 'tilemap/layer' ) ) item.setText( 0, node.name ) item.setText( 1, '%d' % node.subdivision ) if node.visible: item.setText( 2, 'Y' ) else: item.setText( 2, '' ) path = node.getTilesetPath( node ) or '' item.setText( 3, os.path.basename(path) )
def __init__( self, *args, **kwargs ): super( AssetBrowserStatusBarTag, self ).__init__( *args, **kwargs ) self.setObjectName( 'AssetBrowserStatusTagBar' ) layout = QtGui.QHBoxLayout( self ) layout.setSpacing( 2 ) layout.setMargin( 0 ) self.textTags = QtGui.QLabel( self ) self.textTags.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed ) self.buttonEdit = QtGui.QToolButton( self ) self.buttonEdit.setIconSize( QSize( 12,12 ) ) self.buttonEdit.setIcon( getIcon( 'tag-2' ) ) layout.addWidget( self.buttonEdit ) layout.addWidget( self.textTags )
def updateItemContent( self, item, node, **option ): if option.get('basic', True): assetType = node.getType() item.setText( 0, node.getName() ) item.setText( 1, '' ) if assetType in [ 'file', 'folder' ] : item.setText( 2, '' ) else: item.setText( 2, assetType ) iconName = app.getAssetLibrary().getAssetIcon( assetType ) item.setIcon(0, getIcon(iconName,'normal')) if option.get('deploy', True): dstate=node.getDeployState() if dstate is None: item.setIcon(1, getIcon(None)) elif dstate == False: item.setIcon(1, getIcon('deploy_no')) elif dstate == True: item.setIcon(1, getIcon('deploy_yes')) else: #'dep' or 'parent' item.setIcon(1, getIcon('deploy_dep'))
def __init__(self, *args): super(LongTextFieldWidget, self).__init__(*args) self.layout = layout = QtGui.QHBoxLayout(self) layout.setSpacing(0) layout.setMargin(0) self.lineText = FieldEditorLineEdit(self) self.lineText.setMinimumSize(50, 16) self.lineText.setReadOnly(True) self.buttonEdit = LongTextFieldButton(self) self.buttonEdit.setSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) layout.addWidget(self.lineText) layout.addWidget(self.buttonEdit) self.text = "" self.buttonEdit.setIcon(getIcon("pencil"))
def onCustomTrackMenuRequested( self ): menu = QMenu("Animator Track Context") itemTitle = menu.addAction( 'Create Custom Animator Track' ) itemTitle.setEnabled( False ) menu.addSeparator() trackTypes = _MOCK.getCustomAnimatorTrackTypesForObject( self.getTarget() ) if not trackTypes: return for id, clas in trackTypes.items(): action = menu.addAction( id ) def _makeTrackCreator( trackId ): return lambda x: self.addCustomAnimatorTrack( trackId ) action.triggered.connect( _makeTrackCreator( id ) ) action.setIcon( getIcon('object_track') ) menu.exec_(QtGui.QCursor.pos())
def onFieldContextMenuRequested( self, target, fieldId ): menu = QMenu( "Field Context" ) itemTitle = menu.addAction( '[ %s ]' % fieldId ) itemTitle.setEnabled( False ) menu.addSeparator() animator = app.getModule( 'animator' ) if animator: itemAddKey = menu.addAction( 'Add key' ) itemAddKey.setIcon( getIcon('key') ) itemAddKey.triggered.connect( self.onFieldAddKey ) menu.addSeparator() # itemDefault = menu.addAction( 'Set Default' ) # itemDefault.triggered.connect( self.onFieldResetDefault ) if _MOCK.isProtoInstanceOverrided( target, fieldId ): menu.addSeparator() itemProtoReset = menu.addAction( 'Reset To Proto Value' ) itemProtoReset.triggered.connect( self.onFieldResetProto ) itemProtoReset.setIcon( getIcon('reset') ) self.currentFieldContext = ( target, fieldId ) menu.exec_(QtGui.QCursor.pos())
def __init__( self, name, **option ): option = option or {} self.name = name.lower() self.label = option.get( 'label', name ) self.priority = option.get( 'priority', 0 ) self.shortcut = option.get( 'shortcut', False ) self.cmd = option.get( 'command', None ) self.cmdArgs = option.get( 'command_args', None ) self.groupId = option.get( 'group', None ) iconName = option.get( 'icon', None ) self.icon = iconName and getIcon( iconName ) or None self.parent = None self.owner = None self.onClick = None self.signal = None self.itemType = False widget = option.get( 'widget', None ) menuLink = option.get( 'menu_link') if widget: self.qtAction = QtGui.QWidgetAction( None ) self.qtAction.setDefaultWidget( widget ) elif menuLink: m = MenuManager.get().find( menuLink ) if m and hasattr( m, 'qtAction' ): self.qtAction = m.qtAction else: logging.error( 'not valid menu link:' + self.menuLink ) self.qtAction = QtGui.QAction( self.label, None ) else: self.itemType = option.get( 'type', False ) self.onClick = option.get( 'on_click', None ) self.signal = None self.qtAction = QtGui.QAction( self.label, None, checkable = self.itemType == 'check', triggered = self.handleEvent, shortcut = self.shortcut ) if self.icon: self.qtAction.setIcon( self.icon )