示例#1
0
 def setNodeState(self, running_nodes, stopped_nodes, error_nodes):
   '''
   Sets the state of this capability.
   @param running_nodes: a list with running nodes.
   @type running_nodes: C{[str]}
   @param stopped_nodes: a list with not running nodes.
   @type stopped_nodes: C{[str]}
   @param error_nodes: a list with nodes having a problem.
   @type error_nodes: C{[str]}
   '''
   self.setAutoFillBackground(True)
   self.setBackgroundRole(QtGui.QPalette.Base)
   palette = QtGui.QPalette()
   if error_nodes:
     brush = QtGui.QBrush(QtGui.QColor(255, 100, 0))
   elif running_nodes and stopped_nodes:
     brush = QtGui.QBrush(QtGui.QColor(140, 185, 255)) #30, 50, 255
   elif running_nodes:
     self.on_button.setFlat(True)
     self.off_button.setFlat(False)
     brush = QtGui.QBrush(QtGui.QColor(59, 223, 18)) # 59, 223, 18
   else:
     brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
     self.on_button.setFlat(False)
     self.off_button.setFlat(True)
   palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
   brush.setStyle(QtCore.Qt.SolidPattern)
   palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
   self.setPalette(palette)
示例#2
0
    def paintEvent(self, event):
        super(ColorButton, self).paintEvent(event)
        padding = 5

        rect = event.rect()
        painter = QtGui.QPainter(self)
        painter.setBrush(QtGui.QBrush(self.color))
        painter.setPen(QtGui.QColor("#CECECE"))
        rect.adjust(
            padding, padding,
            -1-padding, -1-padding)
        painter.drawRect(rect)
    def __init__(self, parent=None):
        QtGui.QSyntaxHighlighter.__init__(self, parent)
        self.rules = []
        self.commentStart = QtCore.QRegExp("<!--")
        self.commentEnd = QtCore.QRegExp("-->")
        self.default_format = QtGui.QTextCharFormat()
        self.default_format.setForeground(QtGui.QColor(24, 24, 24))
        self.mark_background = QtGui.QBrush(QtGui.QColor(251, 247, 222))
        self.commentFormat = QtGui.QTextCharFormat()
        f = QtGui.QTextCharFormat()
        r = QtCore.QRegExp()
        r.setMinimal(True)
        f.setFontWeight(QtGui.QFont.Normal)
        f.setForeground(QtCore.Qt.darkBlue)
        # create patterns for TAG
        tagList = ["\\b%s\\b" % t for t in self.LAUNCH_CHILDS.keys()]
        for tag in tagList:
            r.setPattern(tag)
            self.rules.append((QtCore.QRegExp(r), QtGui.QTextCharFormat(f)))
        # create patterns for ATTRIBUTES
        f.setForeground(QtCore.Qt.darkGreen)
        attrList = set([
            "\\b%s" % attr for v in self.LAUNCH_ATTR.values()
            for attr in v.keys()
        ])
        for attr in attrList:
            r.setPattern(attr)
            self.rules.append((QtCore.QRegExp(r), QtGui.QTextCharFormat(f)))
        # create patterns for strings
        f.setForeground(QtCore.Qt.magenta)
        r.setPattern("\".*\"")
        self.rules.append((QtCore.QRegExp(r), QtGui.QTextCharFormat(f)))
        # create patterns for substitutions
        f.setForeground(QtGui.QColor(127, 64, 127))
        r.setPattern("\\$\\(.*\\)")
        self.rules.append((QtCore.QRegExp(r), QtGui.QTextCharFormat(f)))
        # create patterns for DOCTYPE
        f.setForeground(QtCore.Qt.lightGray)
        r.setPattern("<!DOCTYPE.*>")
        self.rules.append((QtCore.QRegExp(r), QtGui.QTextCharFormat(f)))
        r.setPattern("<\\?xml.*\\?>")
        self.rules.append((QtCore.QRegExp(r), QtGui.QTextCharFormat(f)))

        self.commentFormat.setFontItalic(True)
        self.commentFormat.setForeground(QtCore.Qt.darkGray)

        # part to select an XML block
        self._current_mark_range = (-1, -1)  # absolute (start, end) positions
示例#4
0
    def addRow(self, label, c_rgba, mean, deviation):
        rowIdx = self.rowCount() - 1
        self.insertRow(rowIdx)
        # create QColor
        color = QtGui.QColor.fromRgbF(c_rgba[0], c_rgba[1], c_rgba[2],
                                      c_rgba[3])
        # create QBrush with color
        brush = QtGui.QBrush(color)

        # legend item
        leg_item = QTableWidgetItem(label)
        leg_item.setBackground(brush)
        self.setItem(rowIdx, 0, leg_item)

        # mean item
        mean_item = QTableWidgetItem(str(mean))
        mean_item.setBackground(brush)
        self.setItem(rowIdx, 1, mean_item)

        # deviation item
        dev_item = QTableWidgetItem(str(deviation))
        dev_item.setBackground(brush)
        self.setItem(rowIdx, 2, dev_item)
示例#5
0
  def __init__(self, params=dict(), buttons=QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok, sidebar_var='', parent=None):
    '''
    Creates an input dialog.
    @param params: a dictionary with parameter names and (type, values). 
    The C{value}, can be a primitive value, a list with values or parameter 
    dictionary to create groups. In this case the type is the name of the group.
    @type params: C{dict(str:(str, {value, [..], dict()}))}
    '''
    QtGui.QDialog.__init__(self, parent=parent)
    self.setObjectName('ParameterDialog - %s'%str(params))

    self.__current_path = nm.settings().current_dialog_path
    self.horizontalLayout = QtGui.QHBoxLayout(self)
    self.horizontalLayout.setObjectName("horizontalLayout")
    self.horizontalLayout.setContentsMargins(1, 1, 1, 1)
    self.verticalLayout = QtGui.QVBoxLayout()
    self.verticalLayout.setObjectName("verticalLayout")
    self.verticalLayout.setContentsMargins(1, 1, 1, 1)
    # add filter row
    self.filter_frame = QtGui.QFrame(self)
    filterLayout = QtGui.QHBoxLayout(self.filter_frame)
    filterLayout.setContentsMargins(1, 1, 1, 1)
    label = QtGui.QLabel("Filter:", self.filter_frame)
    self.filter_field = QtGui.QLineEdit(self.filter_frame)
    filterLayout.addWidget(label)
    filterLayout.addWidget(self.filter_field)
    self.filter_field.textChanged.connect(self._on_filter_changed)
    self.filter_visible = True

    self.verticalLayout.addWidget(self.filter_frame)

    # create area for the parameter
    self.scrollArea = scrollArea = ScrollArea(self);
    scrollArea.setObjectName("scrollArea")
    scrollArea.setWidgetResizable(True)
    self.content = MainBox('/', 'str', False, self)
    scrollArea.setWidget(self.content)
    self.verticalLayout.addWidget(scrollArea)

    # add info text field
    self.info_field = QtGui.QTextEdit(self)
    self.info_field.setVisible(False)
    palette = QtGui.QPalette()
    brush = QtGui.QBrush(QtGui.QColor(255, 254, 242))
    brush.setStyle(QtCore.Qt.SolidPattern)
    palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
    brush = QtGui.QBrush(QtGui.QColor(255, 254, 242))
    brush.setStyle(QtCore.Qt.SolidPattern)
    palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
    brush = QtGui.QBrush(QtGui.QColor(244, 244, 244))
    brush.setStyle(QtCore.Qt.SolidPattern)
    palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
    self.info_field.setPalette(palette)
    self.info_field.setFrameShadow(QtGui.QFrame.Plain)
    self.info_field.setReadOnly(True)
    self.info_field.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByKeyboard|QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextBrowserInteraction|QtCore.Qt.TextSelectableByKeyboard|QtCore.Qt.TextSelectableByMouse)
    self.info_field.setObjectName("dialog_info_field")
    self.verticalLayout.addWidget(self.info_field)

    # create buttons
    self.buttonBox = QtGui.QDialogButtonBox(self)
    self.buttonBox.setObjectName("buttonBox")
    self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
    self.buttonBox.setStandardButtons(buttons)
    self.buttonBox.accepted.connect(self.accept)
    self.buttonBox.rejected.connect(self.reject)
    self.verticalLayout.addWidget(self.buttonBox)
    self.horizontalLayout.addLayout(self.verticalLayout)

    # add side bar for checklist
    values = nm.history().cachedParamValues('/%s'%sidebar_var)
    self.sidebar_frame = QtGui.QFrame()
    self.sidebar_frame.setObjectName(sidebar_var)
    sidebarframe_verticalLayout = QtGui.QVBoxLayout(self.sidebar_frame)
    sidebarframe_verticalLayout.setObjectName("sidebarframe_verticalLayout")
    sidebarframe_verticalLayout.setContentsMargins(1, 1, 1, 1)
    self._sidebar_selected = 0
    if len(values) > 1 and sidebar_var in params:
      self.horizontalLayout.addWidget(self.sidebar_frame)
      try:
        self.sidebar_default_val = params[sidebar_var][1]
      except:
        self.sidebar_default_val = ''
      values.sort()
      for v in values:
        checkbox = QtGui.QCheckBox(v)
        checkbox.stateChanged.connect(self._on_sidebar_stateChanged)
        self.sidebar_frame.layout().addWidget(checkbox)
      self.sidebar_frame.layout().addItem(QtGui.QSpacerItem(100, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding))
    # set the input fields
    if params:
      self.content.createFieldFromValue(params)
      self.setInfoActive(False)

    if self.filter_frame.isVisible():
      self.filter_field.setFocus()
    self.setMinimumSize(350,200)