def __init__(self, inputButton, *a, **kw): """ Popup widget to change the binding for a view action. :type inputButton: ButtonModifierInput """ super(ModifierInputWidget, self).__init__(f=Qt.Popup, *a, **kw) self.setMaximumWidth(150) frame = QtGui.QFrame() frame.setFrameStyle(QtGui.QFrame.Box) self.inputLabel = QtGui.QLabel(describeKeys(inputButton)) self.inputLabel.setAlignment(Qt.AlignCenter) font = self.inputLabel.font() font.setPointSize(font.pointSize() * 1.5) font.setBold(True) self.inputLabel.setFont(font) if hasattr(inputButton.viewAction, "button"): s = "Click a mouse button or press a key, while holding any number of modifier keys (Shift, Ctrl, Alt)" else: s = "Press a key while holding any number of modifier keys (Shift, Ctrl, Alt)" self.helpLabel = QtGui.QLabel(s) frame.setLayout(Column(self.inputLabel, self.helpLabel)) self.setLayout(Column(frame, margin=0)) self.helpLabel.mousePressEvent = self.mousePressEvent self.inputButton = inputButton
def __init__(self, editorSession, *args, **kwargs): super(MoveTool, self).__init__(editorSession, *args, **kwargs) self.overlayNode = scenenode.Node("moveOverlay") self._currentImport = None self._currentImportNode = None self.toolWidget = QtGui.QWidget() self.pointInput = CoordinateWidget() self.pointInput.pointChanged.connect(self.pointInputChanged) self.rotationInput = RotationWidget() self.rotationInput.rotationChanged.connect(self.rotationChanged) self.copyOptionsWidget = QtGui.QGroupBox(self.tr("Options")) self.copyAirCheckbox = QtGui.QCheckBox(self.tr("Copy Air")) self.copyOptionsWidget.setLayout(Column(self.copyAirCheckbox)) confirmButton = QtGui.QPushButton( "Confirm") # xxxx should be in worldview confirmButton.clicked.connect(self.confirmImport) self.toolWidget.setLayout( Column(self.pointInput, self.rotationInput, self.copyOptionsWidget, confirmButton, None))
def __init__(self, editorSession, tileEntityRef): super(CommandBlockEditorWidget, self).__init__() assert tileEntityRef.id == self.tileEntityID self.customNameLabel = QtGui.QLabel(self.tr("Custom Name: ")) self.customNameField = QtGui.QLineEdit() self.trackOutputCheckbox = QtGui.QCheckBox(self.tr("Track Output")) self.successCountLabel = QtGui.QLabel(self.tr("Success Count: ")) self.successCountSpinBox = QtGui.QSpinBox() self.commandTextEdit = QtGui.QTextEdit() self.commandTextEdit.setAcceptRichText(False) self.commandGroup = QtGui.QGroupBox(self.tr("Command Text:")) self.commandGroup.setLayout(Column(self.commandTextEdit)) self.setLayout(Column(Row(self.customNameLabel, self.customNameField), Row(self.trackOutputCheckbox, None, self.successCountLabel, self.successCountSpinBox), self.commandGroup)) self.tileEntityRef = tileEntityRef self.commandTextEdit.setText(tileEntityRef.Command) self.customNameField.setText(tileEntityRef.CustomName) self.trackOutputCheckbox.setChecked(tileEntityRef.TrackOutput != 0) self.successCountSpinBox.setValue(tileEntityRef.SuccessCount)
def __init__(self, parent=None): super(BlockReplacementButton, self).__init__() self.replacementList = BlockReplacementList() self.replacementDialog = QtGui.QDialog(QtGui.qApp.mainWindow) self.replacementOk = QtGui.QPushButton(self.tr("OK")) self.replacementOk.clicked.connect(self.replacementDialog.accept) self.replacementDialog.setWindowTitle(self.tr("Choose blocks to replace")) self.replacementDialog.setLayout(Column(self.replacementList, Row(None, self.replacementOk))) self.oldBlockButton = BlockTypeButton(multipleSelect=True) self.newBlockButton = BlockTypeButton() self.advancedButton = QtGui.QPushButton(self.tr("Advanced...")) self.simpleButton = QtGui.QPushButton(self.tr("No, simple!")) self.simpleButton.setVisible(False) self.simpleButton.clicked.connect(self.goSimple) self.setLayout(Column(self.oldBlockButton, self.newBlockButton, self.advancedButton, self.simpleButton, margin=0)) self.oldBlockButton.blocksChanged.connect(self.simpleBlocksChanged) self.newBlockButton.blocksChanged.connect(self.simpleBlocksChanged) self.advancedButton.clicked.connect(self.displayDialog)
def __init__(self, dimension, textureAtlas, geometryCache, shareGLWidget, *args, **kwargs): super(CameraWorldViewFrame, self).__init__(*args, **kwargs) self.worldView = view = CameraWorldView(dimension, textureAtlas, geometryCache, shareGLWidget) auxControlWidget = QtGui.QWidget() StickyMouselookSetting.connectAndCall(view.setStickyMouselook) stickyCheckbox = QtGui.QCheckBox(self.tr("Sticky Mouselook")) stickyCheckbox.setChecked(StickyMouselookSetting.value()) stickyCheckbox.toggled.connect(StickyMouselookSetting.setValue) auxControlWidget.setLayout(Column(stickyCheckbox)) self.viewControls = ViewControls(view, auxControlWidget) ViewDistanceSetting.connectAndCall(view.setViewDistance) viewDistanceInput = QtGui.QSpinBox(minimum=2, maximum=64, singleStep=2) viewDistanceInput.setValue(self.worldView.viewDistance) viewDistanceInput.valueChanged.connect(ViewDistanceSetting.setValue) MaxViewDistanceSetting.connectAndCall(viewDistanceInput.setMaximum) PerspectiveSetting.connectAndCall(view.setPerspective) perspectiveInput = QtGui.QCheckBox(self.tr("Perspective")) perspectiveInput.setChecked(view.perspective) perspectiveInput.toggled.connect(PerspectiveSetting.setValue) showButton = QtGui.QPushButton(self.tr("Show...")) showButton.setMenu(view.layerToggleGroup.menu) workplaneCheckbox = QtGui.QCheckBox(self.tr("Work Plane")) workplaneSpinSlider = SpinSlider() workplaneSpinSlider.setValue(64) workplaneSpinSlider.setMinimum(dimension.bounds.miny) workplaneSpinSlider.setMaximum(dimension.bounds.maxy) workplaneCheckbox.toggled.connect(view.toggleWorkplane) workplaneSpinSlider.valueChanged.connect(view.setWorkplaneLevel) self.setLayout( Column(Row(None, workplaneCheckbox, workplaneSpinSlider, showButton, perspectiveInput, QtGui.QLabel(self.tr("View Distance:")), viewDistanceInput, self.viewControls.getShowHideButton(), margin=0), view, margin=0))
def __init__(self, editorSession, tileEntityRef): super(CommandBlockEditorWidget, self).__init__() assert tileEntityRef.id == self.tileEntityID self.editorSession = editorSession self.customNameLabel = QtGui.QLabel(self.tr("Custom Name: ")) self.customNameField = QtGui.QLineEdit() self.trackOutputCheckbox = QtGui.QCheckBox(self.tr("Track Output")) self.successCountLabel = QtGui.QLabel(self.tr("Success Count: ")) self.successCountSpinBox = QtGui.QSpinBox() self.gotoCommandButton = QtGui.QPushButton(self.tr("Go To Command"), clicked=self.gotoCommand) self.gotoTargetButton = QtGui.QPushButton(self.tr("Go To Target"), clicked=self.gotoTarget) self.gotoIndirectTargetButton = QtGui.QPushButton( self.tr("Go To Indirect Target"), clicked=self.gotoIndirectTarget) self.commandTextEdit = QtGui.QTextEdit() self.commandTextEdit.setAcceptRichText(False) self.commandGroup = QtGui.QGroupBox(self.tr("Command Text:")) self.commandGroup.setLayout(Column(self.commandTextEdit)) self.setLayout( Column( Row(self.customNameLabel, self.customNameField), Row(self.trackOutputCheckbox, None, self.successCountLabel, self.successCountSpinBox), Row(self.gotoCommandButton, self.gotoTargetButton, self.gotoIndirectTargetButton), self.commandGroup)) self.tileEntityRef = tileEntityRef self.commandTextEdit.setText(tileEntityRef.Command) self.customNameField.setText(tileEntityRef.CustomName) self.trackOutputCheckbox.setChecked(tileEntityRef.TrackOutput != 0) self.successCountSpinBox.setValue(tileEntityRef.SuccessCount) enabled = not editorSession.readonly self.trackOutputCheckbox.setEnabled(enabled) self.successCountSpinBox.setEnabled(enabled) self.commandTextEdit.setEnabled(enabled) self.customNameField.setEnabled(enabled) try: self.parsedCommand = ParseCommand(tileEntityRef.Command) except Exception: log.warn("Failed to parse command block.", exc_info=1) self.parsedCommand = None self.gotoTargetButton.setEnabled(False) self.gotoIndirectTarget.setEnabled(False) self.adjustSize()
def __init__(self, editorSession, *args, **kwargs): """ :type editorSession: EditorSession """ super(SelectionTool, self).__init__(editorSession, *args, **kwargs) toolWidget = QtGui.QWidget() editorSession.selectionChanged.connect(self.selectionDidChange) self.toolWidget = toolWidget self.coordInput = SelectionCoordinateWidget() self.coordInput.boxChanged.connect(self.coordInputChanged) self.shapeInput = ShapeWidget() self.shapeInput.shapeChanged.connect(self.shapeDidChange) self.toolWidget.setLayout( Column(self.coordInput, self.shapeInput, None)) self.cursorNode = SelectionCursor() self.overlayNode = scenegraph.Node() self.faceHoverNode = SelectionFaceNode() self.selectionNode = SelectionScene() self.overlayNode.addChild(self.selectionNode) self.overlayNode.addChild(self.faceHoverNode) self.boxHandleNode = BoxHandle() self.boxHandleNode.boundsChanged.connect(self.boxHandleResized) self.boxHandleNode.boundsChangedDone.connect(self.boxHandleResizedDone) self.overlayNode.addChild(self.boxHandleNode) self.newSelectionNode = None editorSession.dimensionChanged.connect(self.dimensionDidChange)
def __init__(self, dimension, geometryCache, resourceLoader, shareGLWidget, *args, **kwargs): super(CameraWorldViewFrame, self).__init__(*args, **kwargs) self.worldView = view = CameraWorldView(dimension, geometryCache, resourceLoader, shareGLWidget) self.viewControls = ViewControls(view) viewDistanceInput = QtGui.QSpinBox(minimum=2, maximum=64, singleStep=2) viewDistanceInput.setValue(self.worldView.viewDistance) viewDistanceInput.valueChanged.connect(view.setViewDistance) perspectiveInput = QtGui.QCheckBox("Perspective") perspectiveInput.toggle() perspectiveInput.toggled.connect(view.setPerspective) showButton = QtGui.QPushButton("Show...") showButton.setMenu(view.layerToggleGroup.menu) self.setLayout(Column(Row(None, showButton, perspectiveInput, QtGui.QLabel("View Distance:"), viewDistanceInput, self.viewControls.getShowHideButton(), margin=0), view, margin=0))
def __init__(self, editorSession, *args, **kwargs): super(MoveTool, self).__init__(editorSession, *args, **kwargs) self.overlayNode = scenegraph.Node() self.loader = None self.dragStartFace = None self.dragStartPoint = None self.pendingImports = [] self.pendingImportNodes = {} self.toolWidget = QtGui.QWidget() self.importsListWidget = QtGui.QListView() self.importsListModel = QtGui.QStandardItemModel() self.importsListWidget.setModel(self.importsListModel) self.importsListWidget.clicked.connect(self.listClicked) self.importsListWidget.doubleClicked.connect(self.listDoubleClicked) self.pointInput = CoordinateWidget() self.pointInput.pointChanged.connect(self.pointInputChanged) confirmButton = QtGui.QPushButton( "Confirm") # xxxx should be in worldview confirmButton.clicked.connect(self.confirmImport) self.toolWidget.setLayout( Column(self.importsListWidget, self.pointInput, confirmButton, None))
def __init__(self, worldView, *args, **kwargs): """ Popup window for quickly reviewing and assigning movement controls for a world view. :type worldView: WorldView :param worldView: :param args: :param kwargs: """ super(ViewControls, self).__init__(f=Qt.Popup, *args, **kwargs) self.worldView = worldView layout = QtGui.QFormLayout() self.controlInputs = [] for action in self.worldView.viewActions: if not action.hidden: modInput = ButtonModifierInput(action, enabled=False) self.controlInputs.append(modInput) layout.addRow(QtGui.QLabel(action.labelText), modInput) self.hideTime = time.time() action = QtGui.QAction(self.tr("Controls"), self) action.triggered.connect(self.toggleShowHide) self.controlsButton = QtGui.QToolButton() self.controlsButton.setDefaultAction(action) self.unlockButton = QtGui.QPushButton( self.tr("Edit Controls"), clicked=self.toggleUnlockControls) self.setLayout(Column(layout, self.unlockButton)) self.unlocked = False
def __init__(self, *args, **kwargs): super(NBTEditorWidget, self).__init__(*args, **kwargs) self.model = None self.treeView = QtGui.QTreeView() self.treeView.setAlternatingRowColors(True) self.treeView.clicked.connect(self.itemClicked) self.treeView.expanded.connect(self.itemExpanded) self.setLayout(Column(self.treeView)) self.nbtTypesMenu = QtGui.QMenu() self.nbtTypesMenu.addAction(NBTIcon(1), self.tr("Byte"), self.addByte) self.nbtTypesMenu.addAction(NBTIcon(2), self.tr("Short"), self.addShort) self.nbtTypesMenu.addAction(NBTIcon(3), self.tr("Int"), self.addInt) self.nbtTypesMenu.addAction(NBTIcon(4), self.tr("Long"), self.addLong) self.nbtTypesMenu.addAction(NBTIcon(5), self.tr("Float"), self.addFloat) self.nbtTypesMenu.addAction(NBTIcon(6), self.tr("Double"), self.addDouble) self.nbtTypesMenu.addAction(NBTIcon(8), self.tr("String"), self.addString) self.nbtTypesMenu.addAction(NBTIcon(9), self.tr("List"), self.addList) self.nbtTypesMenu.addAction(NBTIcon(10), self.tr("Compound"), self.addCompound) self.nbtTypesMenu.addAction(NBTIcon(7), self.tr("Byte Array"), self.addByteArray) self.nbtTypesMenu.addAction(NBTIcon(11), self.tr("Int Array"), self.addIntArray)
def __init__(self): super(Square, self).__init__() self.optionsWidget = QtGui.QWidget() self.hollowCheckbox = QtGui.QCheckBox() self.optionsWidget.setLayout(Column(self.hollowCheckbox)) self.hollowCheckbox.toggled.connect(self.hollowChanged)
def __init__(self, *a, **kw): super(ObjGraphWidget, self).__init__(*a, **kw) if objgraph is None: self.setLayout(Row(QtGui.QLabel("objgraph is not installed (and you probably don't have GraphViz " "either...) "), None)) return self.inputWidget = QtGui.QLineEdit() self.inputWidget.setText(inputSetting.value("")) self.inputWidget.textChanged.connect(inputSetting.setValue) self.listWidget = QtGui.QListWidget() self.scrollArea = QtGui.QScrollArea() self.imageView = QtGui.QLabel() #self.scrollArea.setMinimumSize(300, 300) self.scrollArea.setWidget(self.imageView) for name, count in objgraph.most_common_types(100): item = QtGui.QListWidgetItem() item.setText("%s (%d)" % (name, count)) item.setData(Qt.UserRole, name) self.listWidget.addItem(item) self.listWidget.itemSelectionChanged.connect(self.itemChanged) refsButton = QtGui.QPushButton("Refs", clicked=self.showRefs) backrefsButton = QtGui.QPushButton("Backrefs", clicked=self.showBackrefs) graphButton = QtGui.QPushButton("Graph", clicked=self.showGraph) garbageButton = QtGui.QPushButton("Garbage", clicked=self.showGarbage) inputRow = Row(self.inputWidget, refsButton, backrefsButton, garbageButton, graphButton) self.widthLimitBox = QtGui.QSpinBox(value=14) self.depthLimitBox = QtGui.QSpinBox(value=7) limitRow = Row(QtGui.QLabel("Graph Width"), self.widthLimitBox, QtGui.QLabel("Graph Depth"), self.depthLimitBox) self.setLayout(Column(inputRow, limitRow, self.listWidget, (self.scrollArea, 1))) self.setMinimumSize(800, 600)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.displayNameLabel = QtGui.QLabel("namenamename") self.lastPlayedLabel = QtGui.QLabel("lastplayed") self.versionInfoLabel = QtGui.QLabel("version") #self.sizeLabel = QtGui.QLabel(self.tr("Calculating area...")) # areaText = self.tr("%.02f million square meters") % (world.chunkCount * 0.25) # diskSize = 0 # if hasattr(worldAdapter, 'worldFolder'): # folder = worldAdapter.worldFolder # for rf in folder.findRegionFiles(): # diskSize += os.stat(rf).st_size # else: # diskSize = os.stat(worldAdapter.filename).st_size # # self.diskSizeLabel = QtGui.QLabel(self.tr("%0.2f MB") % (diskSize / 1000000.0)) infoColumn = Column( self.displayNameLabel, self.lastPlayedLabel, self.versionInfoLabel, #self.diskSizeLabel, None) layout = Row(20, infoColumn) self.setLayout(layout)
def __init__(self, blocks, textureAtlas): super(BlockTypesItemWidget, self).__init__() if len(blocks) == 1: block = blocks[0] self.blockIcon = BlockTypeIcon(block, textureAtlas) nameLabel = QtGui.QLabel(block.displayName) internalNameLimit = 60 internalName = block.internalName + block.blockState if len(internalName) > internalNameLimit: internalName = internalName[:internalNameLimit-3]+"..." internalNameLabel = QtGui.QLabel("(%d:%d) %s" % (block.ID, block.meta, internalName), enabled=False) parentTypeLabel = QtGui.QLabel("") if block.meta != 0: parentBlock = block.blocktypeSet[block.internalName] if parentBlock.displayName != block.displayName: parentTypeLabel.setText("<font color='blue'>%s</font>" % parentBlock.displayName) labelsColumn = Column(Row(nameLabel, None, parentTypeLabel), internalNameLabel) row = Row(self.blockIcon, (labelsColumn, 1)) self.setLayout(row) # row.setSizeConstraint(QtGui.QLayout.SetFixedSize) else: frame = QtGui.QFrame() frame.setMinimumSize(64, 64) iconLimit = 16 blocksToIcon = blocks[:iconLimit] icons = [BlockTypeIcon(b, textureAtlas) for b in blocksToIcon] x = 0 y = 0 for i, icon in enumerate(icons): # icon.setMinimumSize(32, 32) icon.setParent(frame) icon.setGeometry(x, y, 32, 32) icon.setFrameStyle(icon.Box) icon.setLineWidth(1) x += 18 if i % 2: x -= 32 y += 4 nameLimit = 6 remaining = len(blocks) - nameLimit blocksToName = blocks[:nameLimit] iconNames = ", ".join(b.displayName for b in blocksToName) if remaining > 0: iconNames += " and %d more..." % remaining self.setLayout(Row(frame, QtGui.QLabel(iconNames, wordWrap=True))) self.setSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Minimum) self.adjustSize()
def __init__(self, parent=None, blocks=None, textureAtlas=None): super(BlockTypesItemWidget, self).__init__(parent) self.childWidgets = [] self.mainLayout = None self.blocks = blocks self.textureAtlas = textureAtlas self.setLayout(Column()) self.updateContents()
def FourUpWorldViewFrame(dimension, textureAtlas, geometryCache, sharedGLWidget): view = FourUpWorldView(dimension, textureAtlas, geometryCache, sharedGLWidget) widget = QtGui.QWidget() widget.setLayout(Column(view, margin=0)) widget.worldView = view return widget
def __init__(self, editorSession, *args, **kwargs): """ :type editorSession: EditorSession """ super(SelectionTool, self).__init__(editorSession, *args, **kwargs) toolWidget = QtGui.QWidget() editorSession.selectionChanged.connect(self.selectionDidChange) self.toolWidget = toolWidget self.optionsButton = QtGui.QPushButton(self.tr("Options")) self.optionsMenu = QtGui.QMenu() self.optionsButton.setMenu(self.optionsMenu) classicSelectionAction = self.optionsMenu.addAction( self.tr("Classic Selection")) stickySelectionAction = self.optionsMenu.addAction( self.tr("Sticky Selection")) self.coordInput = SelectionCoordinateWidget() self.coordInput.boxChanged.connect(self.coordInputChanged) self.shapeInput = ShapeWidget(addShapes=[ChunkShape()]) self.shapeInput.shapeChanged.connect(self.shapeDidChange) self.shapeInput.shapeOptionsChanged.connect(self.shapeDidChange) self.toolWidget.setLayout( Column(self.optionsButton, self.coordInput, self.shapeInput, None)) self.cursorNode = SelectionCursor() self.overlayNode = scenenode.Node("selectOverlay") self.faceHoverNode = SelectionFaceNode() self.selectionNode = SelectionScene() self.overlayNode.addChild(self.selectionNode) self.overlayNode.addChild(self.faceHoverNode) self.boxHandleNode = BoxHandle() self.boxHandleNode.boundsChanged.connect(self.boxHandleResized) self.boxHandleNode.boundsChangedDone.connect(self.boxHandleResizedDone) self.overlayNode.addChild(self.boxHandleNode) self.newSelectionNode = None classicSelectionAction.setCheckable(True) classicSelectionAction.toggled.connect(ClassicSelectionOption.setValue) classicSelectionAction.setChecked(ClassicSelectionOption.value()) ClassicSelectionOption.connectAndCall(self.setClassicSelection) stickySelectionAction.setCheckable(True) stickySelectionAction.toggled.connect(StickySelectionOption.setValue) stickySelectionAction.setChecked(StickySelectionOption.value()) StickySelectionOption.connectAndCall(self.setStickySelection) editorSession.dimensionChanged.connect(self.dimensionDidChange) editorSession.revisionChanged.connect(self.revisionDidChange)
def __init__(self, brushTool): super(Replace, self).__init__(brushTool) self.displayName = self.tr("Replace") self.optionsWidget = QtGui.QWidget() self.replacementsButton = BlockReplacementButton() self.replacementsButton.replacementsChanged.connect( brushTool.updateCursor) self.replacementsButton.editorSession = brushTool.editorSession self.optionsWidget.setLayout(Column(self.replacementsButton))
def getOptionsWidget(self): if self.optionsWidget: return self.optionsWidget widget = QtGui.QWidget() self.trunkSlider = SpinSlider() self.trunkSlider.setValue(1) widget.setLayout(Column(self.trunkSlider, None)) self.optionsWidget = widget return widget
def __init__(self, editorSession, *args, **kwargs): super(FloodFillTool, self).__init__(editorSession, *args, **kwargs) toolWidget = QtGui.QWidget() self.toolWidget = toolWidget self.cursorNode = SelectionCursor() self.floodXPosCheckbox = QtGui.QCheckBox(self.tr("X+"), checked=True) self.floodXNegCheckbox = QtGui.QCheckBox(self.tr("X-"), checked=True) self.floodYPosCheckbox = QtGui.QCheckBox(self.tr("Y+"), checked=True) self.floodYNegCheckbox = QtGui.QCheckBox(self.tr("Y-"), checked=True) self.floodZPosCheckbox = QtGui.QCheckBox(self.tr("Z+"), checked=True) self.floodZNegCheckbox = QtGui.QCheckBox(self.tr("Z-"), checked=True) floodDirsLayout = Column( Row( self.floodXPosCheckbox, self.floodYPosCheckbox, self.floodZPosCheckbox, ), Row( self.floodXNegCheckbox, self.floodYNegCheckbox, self.floodZNegCheckbox, ), ) self.blockTypeWidget = BlockTypeButton() self.blockTypeWidget.block = self.editorSession.worldEditor.blocktypes[ "stone"] self.blockTypeWidget.editorSession = self.editorSession self.indiscriminateCheckBox = QtGui.QCheckBox("Ignore block meta") self.indiscriminateCheckBox.setChecked(False) self.hoverCheckbox = QtGui.QCheckBox("Hover") toolWidget.setLayout( Column(Row(QtGui.QLabel("Block:"), self.blockTypeWidget), Row(self.hoverCheckbox, self.indiscriminateCheckBox), floodDirsLayout, None))
def __init__(self, slotLayout, editorSession, tileEntityRef): super(GenericContainerEditorWidget, self).__init__() assert tileEntityRef.id == self.tileEntityID self.inventoryEditor = InventoryEditor(slotLayout) self.inventoryEditor.editorSession = editorSession self.setLayout(Column(self.inventoryEditor)) self.tileEntityRef = tileEntityRef self.inventoryEditor.inventoryRef = self.getItemsRef()
def __init__(self, editorSession, *args, **kwargs): """ :type editorSession: EditorSession """ super(SelectionTool, self).__init__(editorSession, *args, **kwargs) toolWidget = QtGui.QWidget() editorSession.selectionChanged.connect(self.selectionDidChange) self.toolWidget = toolWidget self.coordInput = SelectionCoordinateWidget() self.coordInput.boxChanged.connect(self.coordInputChanged) self.shapeInput = ShapeWidget() self.shapeInput.shapeChanged.connect(self.shapeDidChange) self.deselectButton = QtGui.QPushButton(self.tr("Deselect")) self.deselectButton.clicked.connect(self.deselect) self.deleteSelectionButton = QtGui.QPushButton(self.tr("Delete")) self.deleteSelectionButton.clicked.connect(self.deleteSelection) self.deleteBlocksButton = QtGui.QPushButton(self.tr("Delete Blocks")) self.deleteBlocksButton.clicked.connect(self.deleteBlocks) self.deleteEntitiesButton = QtGui.QPushButton(self.tr("Delete Entities")) self.deleteEntitiesButton.clicked.connect(self.deleteEntities) self.fillButton = QtGui.QPushButton(self.tr("Fill")) self.fillButton.clicked.connect(self.fill) self.replaceButton = QtGui.QPushButton(self.tr("Replace")) self.replaceButton.clicked.connect(self.replace) self.toolWidget.setLayout(Column(self.coordInput, self.shapeInput, self.deselectButton, self.deleteSelectionButton, self.deleteBlocksButton, self.deleteEntitiesButton, self.fillButton, self.replaceButton, None)) self.cursorNode = SelectionCursor() self.overlayNode = scenegraph.Node() self.faceHoverNode = SelectionFaceNode() self.selectionNode = SelectionScene() self.selectionNode.dimension = editorSession.currentDimension # xxx dimensionDidChange self.overlayNode.addChild(self.selectionNode) self.overlayNode.addChild(self.faceHoverNode) self.boxHandleNode = BoxHandle() self.boxHandleNode.boundsChanged.connect(self.boxHandleResized) self.boxHandleNode.boundsChangedDone.connect(self.boxHandleResizedDone) self.overlayNode.addChild(self.boxHandleNode) self.newSelectionNode = None
def __init__(self, editorSession, *args, **kwargs): super(FindReplaceDialog, self).__init__(*args, **kwargs) self.editorSession = editorSession self.blocktypes = editorSession.worldEditor.blocktypes self.setupUi(self) self.findReplaceBlocks = FindReplaceBlocks(editorSession, self) self.replaceBlocksTab.setLayout( Column(self.findReplaceBlocks.widget, margin=0)) self.findReplaceCommandText = FindReplaceCommandText( editorSession, self) self.commandBlocksTab.setLayout( Column(self.findReplaceCommandText.widget, margin=0)) self.findReplaceNBT = FindReplaceNBT(editorSession, self) self.nbtTab.setLayout(Column(self.findReplaceNBT, margin=0)) self.resultsWidgets = [ # self.findReplaceBlocks.resultsDockWidget, self.findReplaceNBT.resultsDockWidget, ]
def __init__(self, editorSession, *args, **kwargs): super(FloodFillTool, self).__init__(editorSession, *args, **kwargs) toolWidget = QtGui.QWidget() self.toolWidget = toolWidget self.blockTypeWidget = BlockTypeButton() self.blockTypeWidget.block = self.editorSession.worldEditor.blocktypes[ "stone"] self.blockTypeWidget.editorSession = self.editorSession toolWidget.setLayout( Column(Row(QtGui.QLabel("Block:"), self.blockTypeWidget), None))
def createOptionsWidget(self, brushTool): if self.optionsWidget: return self.optionsWidget self.optionsWidget = QtGui.QWidget() label = QtGui.QLabel(self.tr("Fill Biome:")) self.biomeTypeBox = QtGui.QComboBox() self.biomeTypes = BiomeTypes() for biome in self.biomeTypes.types.values(): self.biomeTypeBox.addItem(biome.name, biome.ID) self.biomeTypeBox.activated.connect(brushTool.updateCursor) self.optionsWidget.setLayout(Column(Row(label, self.biomeTypeBox, margin=0), None, margin=0)) return self.optionsWidget
def __init__(self, worldAdapter, parent=None): QtGui.QPushButton.__init__(self, parent) self.filename = worldAdapter.filename self.setCheckable(True) self.setFlat(True) try: # mapLabel = QtGui.QLabel() # mapLabel.setFixedSize(72, 72) displayNameLimit = 50 name = displayName(worldAdapter.filename) if len(name) > displayNameLimit: name = name[:displayNameLimit] + "..." self.displayNameLabel = QtGui.QLabel(name) self.lastPlayed = lastPlayedTime(worldAdapter) lastPlayedText = self.lastPlayed.humanize( ) if self.lastPlayed else "Unknown" self.lastPlayedLabel = QtGui.QLabel(lastPlayedText) #self.sizeLabel = QtGui.QLabel(self.tr("Calculating area...")) # areaText = self.tr("%.02f million square meters") % (world.chunkCount * 0.25) # diskSize = 0 # if hasattr(worldAdapter, 'worldFolder'): # folder = worldAdapter.worldFolder # for rf in folder.findRegionFiles(): # diskSize += os.stat(rf).st_size # else: # diskSize = os.stat(worldAdapter.filename).st_size # # self.diskSizeLabel = QtGui.QLabel(self.tr("%0.2f MB") % (diskSize / 1000000.0)) infoColumn = Column( self.displayNameLabel, self.lastPlayedLabel, #self.diskSizeLabel, None) #layout = Row(mapLabel, (infoColumn, 1), None) layout = infoColumn #if usefulFilename(world) == world.displayName: # boxLabelText = world.displayName #else: # boxLabelText = self.tr("%s (%s)" % (world.displayName, usefulFilename(world))) self.setLayout(layout) self.setMinimumSize(layout.sizeHint()) self.setSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.MinimumExpanding) except EnvironmentError as e: setWidgetError(self, e)
def IsoWorldViewFrame(world, geometryCache, resourceLoader, sharedGLWidget): isoView = IsoWorldView(world, geometryCache, resourceLoader, sharedGLWidget) widget = QtGui.QWidget() widget.setLayout(Column( Row((None, 1), #ScaleSlider(isoView), ), isoView, )) widget.worldView = isoView return widget
def __init__(self): super(CameraPrefs, self).__init__() self.labelText = self.tr("Camera View") layout = QtGui.QFormLayout() maxViewDistanceInput = QtGui.QSpinBox() maxViewDistanceInput.setMinimum(0) maxViewDistanceInput.valueChanged.connect( MaxViewDistanceSetting.setValue) MaxViewDistanceSetting.connectAndCall(maxViewDistanceInput.setValue) layout.addRow(self.tr("Max View Distance"), maxViewDistanceInput) self.setLayout(Column(layout, None))
def createOptionsWidget(self, brushTool): if self.optionsWidget: return self.optionsWidget self.optionsWidget = QtGui.QWidget() label = QtGui.QLabel(self.tr("Fill Block:")) self.blockTypeButton = BlockTypeButton() self.blockTypeButton.editorSession = brushTool.editorSession self.blockTypeButton.block = brushTool.editorSession.worldEditor.blocktypes['minecraft:stone'] self.blockTypeButton.blocksChanged.connect(brushTool.updateCursor) self.optionsWidget.setLayout(Column( Row(label, self.blockTypeButton, margin=0), None, margin=0)) return self.optionsWidget