Exemplo n.º 1
0
    def __init__(self, styleProperties, useData, parent=None):
        super(StyleLexer, self).__init__(parent)

        self.styleProperties = styleProperties
        self.useData = useData

        self.setCurrentStyle("Default", "Python")

        mainLayout = QtGui.QHBoxLayout()
        mainLayout.setMargin(0)

        # style properties
        self.propertyListWidget = QtGui.QListWidget()
        self.propertyListWidget.setSortingEnabled(True)
        self.propertyListWidget.currentRowChanged.connect(
            self.newPropertySelected)
        mainLayout.addWidget(self.propertyListWidget)

        self.setLayout(mainLayout)

        # settings
        vbox = QtGui.QVBoxLayout()
        mainLayout.addLayout(vbox)

        self.fontColorScopeBG = QtGui.QButtonGroup()

        hbox = QtGui.QHBoxLayout()
        label = QtGui.QLabel("Foreground")
        label.setStyleSheet("background: lightgrey; padding: 2px;")
        hbox.addWidget(label)
        vbox.addLayout(hbox)

        hbox = QtGui.QHBoxLayout()
        vbox.addLayout(hbox)
        fontColorScopeAll = QtGui.QRadioButton("All")
        self.fontColorScopeBG.addButton(fontColorScopeAll)
        hbox.addWidget(fontColorScopeAll)

        fontColorScopeCurrent = QtGui.QRadioButton("Selected")
        self.fontColorScopeBG.addButton(fontColorScopeCurrent)
        fontColorScopeCurrent.setChecked(True)
        hbox.addWidget(fontColorScopeCurrent)

        self.fontColorChooser = ColorChooser()
        self.fontColorChooser.colorChanged.connect(self.updateColor)
        hbox.addWidget(self.fontColorChooser)

        self.backgroundColorScopeBG = QtGui.QButtonGroup()

        hbox = QtGui.QHBoxLayout()
        label = QtGui.QLabel("Background")
        label.setStyleSheet("background: lightgrey; padding: 2px;")
        hbox.addWidget(label)
        vbox.addLayout(hbox)

        hbox = QtGui.QHBoxLayout()
        vbox.addLayout(hbox)
        backgroundColorScopeAll = QtGui.QRadioButton("All")
        self.backgroundColorScopeBG.addButton(backgroundColorScopeAll)
        hbox.addWidget(backgroundColorScopeAll)

        backgroundColorScopeCurrent = QtGui.QRadioButton("Selected")
        self.backgroundColorScopeBG.addButton(backgroundColorScopeCurrent)
        backgroundColorScopeCurrent.setChecked(True)
        hbox.addWidget(backgroundColorScopeCurrent)

        self.backgroundColorChooser = ColorChooser()
        self.backgroundColorChooser.colorChanged.connect(self.updatePaper)
        hbox.addWidget(self.backgroundColorChooser)

        self.fontScopeBG = QtGui.QButtonGroup()

        hbox = QtGui.QHBoxLayout()
        label = QtGui.QLabel("Font")
        label.setStyleSheet("background: lightgrey; padding: 2px;")
        hbox.addWidget(label)
        vbox.addLayout(hbox)

        hbox = QtGui.QHBoxLayout()
        vbox.addLayout(hbox)
        fontScopeAll = QtGui.QRadioButton("All")
        self.fontScopeBG.addButton(fontScopeAll)
        hbox.addWidget(fontScopeAll)

        fontScopeCurrent = QtGui.QRadioButton("Selected")
        self.fontScopeBG.addButton(fontScopeCurrent)
        fontScopeCurrent.setChecked(True)
        hbox.addWidget(fontScopeCurrent)

        hbox.addStretch(1)

        self.fontButton = QtGui.QPushButton("Font")
        self.fontButton.clicked.connect(self.fontChanged)
        hbox.addWidget(self.fontButton)

        vbox.addStretch(1)
Exemplo n.º 2
0
    def __init__(self, useData, parent=None):
        QtGui.QWidget.__init__(self, parent)

        self.useData = useData

        mainLayout = QtGui.QHBoxLayout()
        self.setLayout(mainLayout)
        mainLayout.setMargin(0)

        properties = self.loadDefaultProperties()
        self.propertyListWidget = QtGui.QListWidget()
        self.propertyListWidget.setSortingEnabled(True)
        for key, value in properties.items():
            if key != "Paper":
                self.propertyListWidget.addItem(QtGui.QListWidgetItem(key))
        self.propertyListWidget.itemSelectionChanged.connect(
            self.newPropertySelected)
        mainLayout.addWidget(self.propertyListWidget)

        vbox = QtGui.QVBoxLayout()
        mainLayout.addLayout(vbox)

        label = QtGui.QLabel("Background")
        label.setStyleSheet("background: lightgrey; padding: 2px;")
        vbox.addWidget(label)

        self.backgroundColorChooser = ColorChooser()
        self.backgroundColorChooser.colorChanged.connect(self.updateBackground)
        vbox.addWidget(self.backgroundColorChooser)

        label = QtGui.QLabel("Foreground")
        label.setStyleSheet("background: lightgrey; padding: 2px;")
        vbox.addWidget(label)

        self.foregroundColorChooser = ColorChooser()
        self.foregroundColorChooser.colorChanged.connect(self.updateForeground)
        vbox.addWidget(self.foregroundColorChooser)

        # Additional settings for elements that need them -------------------

        self.extra_settings_stack = QtGui.QStackedLayout()
        vbox.addLayout(self.extra_settings_stack)

        # empty stack for display when current property has no need of extra
        # settings
        stackWidget = QtGui.QWidget()
        self.extra_settings_stack.addWidget(stackWidget)

        # CALLTIP Highlight Color

        stackWidget = QtGui.QWidget()
        stackBox = QtGui.QVBoxLayout()
        stackBox.setMargin(0)
        stackWidget.setLayout(stackBox)
        self.extra_settings_stack.addWidget(stackWidget)

        label = QtGui.QLabel("Highlight Text")
        label.setStyleSheet("background: lightgrey; padding: 2px;")
        stackBox.addWidget(label)

        hbox = QtGui.QHBoxLayout()
        stackBox.addLayout(hbox)

        self.callTipHighlightColorChooser = ColorChooser()
        self.callTipHighlightColorChooser.colorChanged.connect(
            self.updateCalltipHighlight)
        hbox.addWidget(self.callTipHighlightColorChooser)

        # MARGIN FONT

        stackWidget = QtGui.QWidget()
        stackBox = QtGui.QVBoxLayout()
        stackBox.setMargin(0)
        stackWidget.setLayout(stackBox)
        self.extra_settings_stack.addWidget(stackWidget)

        label = QtGui.QLabel("Margin Font")
        label.setStyleSheet("background: lightgrey; padding: 2px;")
        stackBox.addWidget(label)

        self.fontButton = QtGui.QPushButton("Font")
        self.fontButton.clicked.connect(self.fontChanged)
        stackBox.addWidget(self.fontButton)

        # ----------------------------------------------------------------
        vbox.addStretch(1)

        self.paperBG = QtGui.QButtonGroup()

        label = QtGui.QLabel("Paper")
        label.setStyleSheet("background: lightgrey; padding: 2px;")
        vbox.addWidget(label)

        hbox = QtGui.QHBoxLayout()
        vbox.addLayout(hbox)

        self.paperPlainButton = QtGui.QRadioButton("Plain")
        self.paperBG.addButton(self.paperPlainButton)
        self.paperPlainButton.toggled.connect(self.paperScopeChanged)
        hbox.addWidget(self.paperPlainButton)

        self.paperCustomButton = QtGui.QRadioButton("Custom")
        self.paperBG.addButton(self.paperCustomButton)
        self.paperCustomButton.setChecked(True)
        self.paperCustomButton.toggled.connect(self.paperScopeChanged)
        hbox.addWidget(self.paperCustomButton)

        self.paperColorChooser = ColorChooser()
        self.paperColorChooser.colorChanged.connect(self.updatePaper)
        hbox.addWidget(self.paperColorChooser)

        self.setCurrentProperty("Default", "Python")

        self.paperColorChooser.setColor(self.currentProperties["Paper"][1])
        if self.currentProperties["Paper"][0] == "Plain":
            self.paperColorChooser.setDisabled(True)

        self.propertyListWidget.setCurrentRow(0)