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)
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)