예제 #1
0
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))
예제 #2
0
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))
예제 #3
0
    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
예제 #4
0
    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