class ScriptingStatusBar(QStatusBar): def __init__(self, parent=None): super().__init__(parent) if platformSpecific.needsTighterMargins(): margins = (6, -10, 9, -12) else: margins = (2, -1, 5, 0) self.setContentsMargins(*margins) self.setSizeGripEnabled(False) self.positionLabel = ClickLabel(self) self.indentLabel = IndentLabel(self) self.clearButton = QPushButton(self.tr("Clear"), self) self.runButton = QPushButton(self.tr("Run"), self) self.runButton.setShortcut("Ctrl+R") self.addWidget(self.positionLabel) self.addPermanentWidget(self.indentLabel) self.addPermanentWidget(self.clearButton) self.addPermanentWidget(self.runButton) self.indentModified = self.indentLabel.indentModified self.positionClicked = self.positionLabel.clicked self.clearButtonClicked = self.clearButton.clicked self.runButtonClicked = self.runButton.clicked def setIndent(self, indent): # TODO: this could be in a label widget subclass for better # encapsulation space = tab = 0 for char in indent: if char == " ": space += 1 elif char == "\t": tab += 1 if space and not tab: if space < 2: text = self.tr("Space") else: text = self.tr("{}-Spaces").format(space) elif tab and not space: if tab < 2: text = self.tr("Tab") else: text = self.tr("Tabs") else: text = self.tr("Other") self.indentLabel.setText(text) def setPosition(self, textCursor): blockNumber, blockPosition = ( textCursor.blockNumber(), textCursor.positionInBlock(), ) # TODO: display selection information? self.positionLabel.setText("%d:%d" % (blockNumber + 1, blockPosition + 1))
class ScriptingStatusBar(QStatusBar): def __init__(self, parent=None): super().__init__(parent) if platformSpecific.needsTighterMargins(): margins = (6, -10, 9, -12) else: margins = (2, -1, 5, 0) self.setContentsMargins(*margins) self.setSizeGripEnabled(False) self.positionLabel = ClickLabel(self) self.indentLabel = IndentLabel(self) self.clearButton = QPushButton(self.tr("Clear"), self) self.runButton = QPushButton(self.tr("Run"), self) self.runButton.setShortcut("Ctrl+R") self.addWidget(self.positionLabel) self.addPermanentWidget(self.indentLabel) self.addPermanentWidget(self.clearButton) self.addPermanentWidget(self.runButton) self.indentModified = self.indentLabel.indentModified self.positionClicked = self.positionLabel.clicked self.clearButtonClicked = self.clearButton.clicked self.runButtonClicked = self.runButton.clicked def setIndent(self, indent): # TODO: this could be in a label widget subclass for better # encapsulation space = tab = 0 for char in indent: if char == " ": space += 1 elif char == "\t": tab += 1 if space and not tab: if space < 2: text = self.tr("Space") else: text = self.tr("{}-Spaces").format(space) elif tab and not space: if tab < 2: text = self.tr("Tab") else: text = self.tr("Tabs") else: text = self.tr("Other") self.indentLabel.setText(text) def setPosition(self, textCursor): blockNumber, blockPosition = textCursor.blockNumber( ), textCursor.positionInBlock() # TODO: display selection information? self.positionLabel.setText("%d:%d" % (blockNumber+1, blockPosition+1))
def __init__(self, parent=None): super().__init__(parent) if platformSpecific.needsTighterMargins(): margins = (6, -10, 9, -12) else: margins = (2, -1, 5, 0) self.setContentsMargins(*margins) self.setSizeGripEnabled(False) self.positionLabel = ClickLabel(self) self.indentLabel = IndentLabel(self) self.clearButton = QPushButton(self.tr("Clear"), self) self.runButton = QPushButton(self.tr("Run"), self) self.runButton.setShortcut("Ctrl+R") self.addWidget(self.positionLabel) self.addPermanentWidget(self.indentLabel) self.addPermanentWidget(self.clearButton) self.addPermanentWidget(self.runButton) self.indentModified = self.indentLabel.indentModified self.positionClicked = self.positionLabel.clicked self.clearButtonClicked = self.clearButton.clicked self.runButtonClicked = self.runButton.clicked
def __init__(self, parent=None): super().__init__(parent) if platformSpecific.needsTighterMargins(): margins = (6, -10, 9, -12) else: margins = (2, -1, 5, 0) self.setContentsMargins(*margins) self.setSizeGripEnabled(False) self.positionLabel = ClickLabel(self) self.indentLabel = IndentLabel(self) self.clearButton = QPushButton(self.tr("Clear"), self) self.runButton = QPushButton(self.tr("Run"), self) self.addWidget(self.positionLabel) self.addPermanentWidget(self.indentLabel) self.addPermanentWidget(self.clearButton) self.addPermanentWidget(self.runButton) self.indentModified = self.indentLabel.indentModified self.positionClicked = self.positionLabel.clicked self.clearButtonClicked = self.clearButton.clicked self.runButtonClicked = self.runButton.clicked