Пример #1
0
    def __init__(self, message, str = None):
        cfg = Config('messages', message)

        if (str is None):
            self.str = cfg.get('message')
        else:
            self.str = str
        
        self.duration = cfg.get('duration')
        self.fade_duration = cfg.get('fade_duration')
        
        self.color = QColor.fromRgb(*cfg.get('color'))
        self.alpha_final = self.color.alpha()
        self.color.setAlpha(0)
        
        self.font = FontManager.getFont(cfg.get('font'))
        self.font.setPointSize(cfg.get('font_size'))
        
        self.font_color = QColor.fromRgb(*cfg.get('font_color'))
        self.font_alpha_final = self.font_color.alpha()
        self.font_color.setAlpha(0)
        
        self.elapsed = 0.0        
        self.state = 0
        self.tick_funcs = [self.tick_fade_in, self.tick_message, self.tick_fade_out]
Пример #2
0
    def __init__(self, message, str=None):
        cfg = Config('messages', message)

        if (str is None):
            self.str = cfg.get('message')
        else:
            self.str = str

        self.duration = cfg.get('duration')
        self.fade_duration = cfg.get('fade_duration')

        self.color = QColor.fromRgb(*cfg.get('color'))
        self.alpha_final = self.color.alpha()
        self.color.setAlpha(0)

        self.font = FontManager.getFont(cfg.get('font'))
        self.font.setPointSize(cfg.get('font_size'))

        self.font_color = QColor.fromRgb(*cfg.get('font_color'))
        self.font_alpha_final = self.font_color.alpha()
        self.font_color.setAlpha(0)

        self.elapsed = 0.0
        self.state = 0
        self.tick_funcs = [
            self.tick_fade_in, self.tick_message, self.tick_fade_out
        ]
Пример #3
0
    def setEulerStep(self, stepNum):

        self.scene.setColorForAllEdges(QColor.fromRgb(0, 0, 0))
        if stepNum > 0:
            for i in range(stepNum):
                node1 = self.eulerPath[i]
                node2 = self.eulerPath[i + 1]
                self.scene.setColorForEdge(node1, node2, QColor.fromRgb(0, 255, 0))
Пример #4
0
 def updateColor(self):
     newcolor = QColorDialog.getColor(QColor.fromRgb(int("%d" % int(self.value, 16))), None )# Non supporté sous Jaunty ??
     if newcolor.isValid():
         self.value = str("%x" % newcolor.rgb())[2:]
         self.color.fill(QColor.fromRgb(int("%d" % int(self.value, 16))))
         self.boutton.setIcon(QIcon(self.color))
         self.line.setText(self.value)
         EkdConfig.set(self.section, self.id, self.value)
Пример #5
0
    def data(self, index, role):
        if role == Qt.TextAlignmentRole:
            return int(Qt.AlignTop | Qt.AlignLeft)

        if role == Qt.FontRole:
            return self.font

        if role == Qt.BackgroundColorRole:
            if index.column() == 0:
                if index.row() != 0:
                    node = self.nodeFromIndex(index)

            if index.column() == 2:
                if index.row() != 0:
                    node = self.nodeFromIndex(index)

            if index.column() == 1:
                node = self.nodeFromIndex(index)

                if isinstance(node, SDBRawNode):
                    node = node.parent

                if isinstance(node, SDBComponentBranch):
                    if node.name == "Interconnect":
                        return QColor.fromRgb(BUS_COLOR)
                    if node.name == "Bridge":
                        return QColor.fromRgb(BRIDGE_COLOR)
                    if node.name == "Empty":
                        return QColor.fromRgb(EMPTY_COLOR)
                    if node.name == "Device":
                        return QColor.fromRgb(DEVICE_COLOR)
                    if node.name == "URL":
                        return QColor.fromRgb(URL_COLOR)
                    if node.name == "Synthesis":
                        return QColor.fromRgb(SYNTHESIS_COLOR)
                    if node.name == "Integration":
                        return QColor.fromRgb(INTEGRATION_COLOR)
                    if node.name == "???":
                        return QColor.fromRgb(UNKOWN_COLOR)
                    return QColor.fromRgb(BAD_CHOICE_COLOR)


        if role != Qt.DisplayRole:
            return

        node = self.nodeFromIndex(index)
        assert node is not None

        node_value = ""
        if isinstance(node, SDBRawRoot):
            return None
        if isinstance(node, SDBComponentBranch):
            return node.field(index.column())
        if isinstance(node, SDBRawNode):
            return node.field(index.column())
        return None
Пример #6
0
    def drawInWorld(self, qPainter):
        pen = qPainter.pen()
        pen.setColor(QColor.fromRgb(255, 0, 0))
        qPainter.setPen(pen)


        old_transform = qPainter.worldTransform()
        pen.setWidth(5)
        pen.setColor(QColor.fromRgb(0, 0, 0))
        qPainter.setPen(pen)
        qPainter.resetTransform()


        qPainter.setWorldTransform(old_transform)
Пример #7
0
    def canvasPressEvent(self, event):
        self.dragging = False
        self.selectrect.setRect(0, 0, 0, 0)

        self.selectband = QgsRubberBand(self.canvas, QGis.Polygon)
        self.selectband.setColor(QColor.fromRgb(0, 0, 255, 65))
        self.selectband.setWidth(5)
Пример #8
0
    def __init__(self, canvas, layerfrom, layerto,
                 mapping, validation_method):
        """
            mapping - A dict of field - field mapping with values to
                            copy to the new layer
        """
        QgsMapTool.__init__(self, canvas)
        self.layerfrom = layerfrom
        self.layerto = layerto
        self.fields = mapping
        self.validation_method = validation_method
        self.band = QgsRubberBand(canvas, QGis.Polygon)
        self.band.setColor(QColor.fromRgb(255, 0, 0, 65))
        self.band.setWidth(5)

        self.cursor = QCursor(QPixmap(["16 16 3 1",
                                       "      c None",
                                       ".     c #FF0000",
                                       "+     c #FFFFFF",
                                       "                ",
                                       "       +.+      ",
                                       "      ++.++     ",
                                       "     +.....+    ",
                                       "    +.     .+   ",
                                       "   +.   .   .+  ",
                                       "  +.    .    .+ ",
                                       " ++.    .    .++",
                                       " ... ...+... ...",
                                       " ++.    .    .++",
                                       "  +.    .    .+ ",
                                       "   +.   .   .+  ",
                                       "   ++.     .+   ",
                                       "    ++.....+    ",
                                       "      ++.++     ",
                                       "       +.+      "]))
Пример #9
0
    def __init__(self, canvas, forms, snapradius = 2):
        MapTool.__init__(self, canvas, [])
        self.canvas = canvas
        self.radius = snapradius
        self.forms = forms
        
        self.band = QgsRubberBand(self.canvas)
        self.band.setColor(QColor.fromRgb(224,162,16))
        self.band.setWidth(3)
        
        self.selectband = None
        
        self.selectrect = QRect()
        self.dragging = False

        self.cursor = QCursor(QPixmap(["16 16 3 1",
            "      c None",
            ".     c #FF0000",
            "+     c #FFFFFF",
            "                ",
            "       +.+      ",
            "      ++.++     ",
            "     +.....+    ",
            "    +.     .+   ",
            "   +.   .   .+  ",
            "  +.    .    .+ ",
            " ++.    .    .++",
            " ... ...+... ...",
            " ++.    .    .++",
            "  +.    .    .+ ",
            "   +.   .   .+  ",
            "   ++.     .+   ",
            "    ++.....+    ",
            "      ++.++     ",
            "       +.+      "]))
 def getRGBFromPixel(self, event):
     if len(self._detected_colors) < self._MAX_COLORS:
         pixel_coords = QPoint(event.pos().x(), event.pos().y())
         self._detected_colors.append(
             QColor.fromRgb(self._image.pixel(pixel_coords)))
         if self._detected_colors[len(self._detected_colors) - 1].isValid():
             print "Selected color: RED=" + str(self._detected_colors[
                 len(self._detected_colors) - 1].red()) + ", GREEN=" + str(
                     self._detected_colors[len(self._detected_colors) - 1].
                     green()) + ", BLUE=" + str(
                         self._detected_colors[len(self._detected_colors) -
                                               1].blue())
             widgets = (self.gridLayoutColors.itemAt(i).widget()
                        for i in range(self.gridLayoutColors.count()))
             for w in widgets:
                 if isinstance(w, QGraphicsView) and not w.isVisible():
                     w.setVisible(True)
                     w.setStyleSheet(
                         "background-color: rgb(" +
                         str(self._detected_colors[
                             len(self._detected_colors) - 1].red()) + ", " +
                         str(self._detected_colors[
                             len(self._detected_colors) - 1].green()) +
                         ", " + str(self._detected_colors[
                             len(self._detected_colors) - 1].blue()) + ")")
                     break
         else:
             print "Invalid color selected!"
Пример #11
0
    def _add_proc_to_table(self, row, proc_info):
        self.setItem(row, 0, QTableWidgetItem(str(proc_info.identifier)))
        self.item(row, 0).setTextAlignment(Qt.AlignCenter)
        self.setItem(row, 1, QTableWidgetItem(str(proc_info.name)))
        self.setItem(row, 2,
                     QTableWidgetItem(str(proc_info.cs_overhead)))
        self.item(row, 2).setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)
        self.setItem(row, 3,
                     QTableWidgetItem(str(proc_info.cl_overhead)))
        self.item(row, 3).setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)
        self.setItem(
            row, 4,
            QTableWidgetItem(', '.join([x.name for x in proc_info.caches])))
        penalty_item = QTableWidgetItem(str(proc_info.penalty))
        penalty_item.setFlags(penalty_item.flags() ^
                              (Qt.ItemIsEditable | Qt.ItemIsEnabled))
        self.setItem(row, 5, penalty_item)
        self.item(row, 5).setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)
        self.setItem(row, 6, QTableWidgetItem(str(proc_info.speed)))

        for col in range(len(self._custom_fields)):
            key = self._custom_fields[col]
            if key in proc_info.data and proc_info.data[key] is not None:
                item = QTableWidgetItem(str(proc_info.data[key]))
            else:
                item = QTableWidgetItem('')
            item.setBackgroundColor(QColor.fromRgb(200, 255, 200))
            self.setItem(row, col + len(self._header), item)
Пример #12
0
    def _add_task_to_table(self, row, task):
        self._ignore_cell_changed = True
        self.setItem(row, self._dict_header['id'],
                     QTableWidgetItem(str(task.identifier)))
        self.item(row, self._dict_header['id']) \
            .setTextAlignment(Qt.AlignCenter)
        self.setItem(row, self._dict_header['name'],
                     QTableWidgetItem(str(task.name)))

        combo = QComboBox()
        items = [task_type for task_type in Task.task_types_names]
        combo.addItems(items)
        # FIXME: only until I get an access to the documentation.
        for i, t in enumerate(Task.task_types_names):
            if t == task.task_type:
                combo.setCurrentIndex(i)
        combo.currentIndexChanged.connect(
            lambda x: self._cell_changed(row, self._dict_header['task_type']))
        self.setCellWidget(row, self._dict_header['task_type'], combo)

        item = QTableWidgetItem(task.abort_on_miss and 'Yes' or 'No')
        item.setFlags(
            Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsSelectable)
        item.setCheckState(task.abort_on_miss and Qt.Checked or Qt.Unchecked)
        self.setItem(row, self._dict_header['abort'], item)

        self.setItem(row, self._dict_header['list_activation_dates'],
                     QTableWidgetItem(
                         ', '.join(map(str, task.list_activation_dates))))
        self.item(row, self._dict_header['list_activation_dates']) \
            .setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)

        for i in ['activation_date', 'period',
                  'deadline', 'wcet', 'base_cpi', 'n_instr', 'mix', 'acet',
                  'et_stddev', 'preemption_cost']:
            self.setItem(row, self._dict_header[i],
                         QTableWidgetItem(str(task.__dict__[i])))
            self.item(row, self._dict_header[i]) \
                .setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)

        stack_item = QTableWidgetItem(str(task.stack_file))
        stack_item.setFlags(stack_item.flags() ^ (Qt.ItemIsEditable))
        self.setItem(row, self._dict_header['sdp'], stack_item)

        combo = QComboBox()
        combo.currentIndexChanged.connect(
            lambda x: self._cell_changed(row, self._dict_header['followed']))
        self.setCellWidget(row, self._dict_header['followed'], combo)

        for col in range(len(self._custom_fields)):
            key = self._custom_fields[col]
            if key in task.data and task.data[key] is not None:
                item = QTableWidgetItem(str(task.data[key]))
            else:
                item = QTableWidgetItem('')
            item.setBackgroundColor(QColor.fromRgb(200, 255, 200))
            self.setItem(row, col + len(self._header), item)

        self._ignore_cell_changed = False
        self._show_period(task, row)
Пример #13
0
    def __init__(self, canvas, forms, snapradius=2):
        MapTool.__init__(self, canvas, [])
        self.canvas = canvas
        self.radius = snapradius
        self.forms = forms

        self.band = QgsRubberBand(self.canvas)
        self.band.setColor(QColor.fromRgb(224, 162, 16))
        self.band.setWidth(3)

        self.selectband = None

        self.selectrect = QRect()
        self.dragging = False

        self.cursor = QCursor(
            QPixmap([
                "16 16 3 1", "      c None", ".     c #FF0000",
                "+     c #FFFFFF", "                ", "       +.+      ",
                "      ++.++     ", "     +.....+    ", "    +.     .+   ",
                "   +.   .   .+  ", "  +.    .    .+ ", " ++.    .    .++",
                " ... ...+... ...", " ++.    .    .++", "  +.    .    .+ ",
                "   +.   .   .+  ", "   ++.     .+   ", "    ++.....+    ",
                "      ++.++     ", "       +.+      "
            ]))
Пример #14
0
    def _add_proc_to_table(self, row, proc_info):
        self.setItem(row, 0, QTableWidgetItem(str(proc_info.identifier)))
        self.item(row, 0).setTextAlignment(Qt.AlignCenter)
        self.setItem(row, 1, QTableWidgetItem(str(proc_info.name)))
        self.setItem(row, 2, QTableWidgetItem(str(proc_info.cs_overhead)))
        self.item(row, 2).setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)
        self.setItem(row, 3, QTableWidgetItem(str(proc_info.cl_overhead)))
        self.item(row, 3).setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)
        self.setItem(
            row, 4,
            QTableWidgetItem(', '.join([x.name for x in proc_info.caches])))
        penalty_item = QTableWidgetItem(str(proc_info.penalty))
        penalty_item.setFlags(penalty_item.flags()
                              ^ (Qt.ItemIsEditable | Qt.ItemIsEnabled))
        self.setItem(row, 5, penalty_item)
        self.item(row, 5).setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)
        self.setItem(row, 6, QTableWidgetItem(str(proc_info.speed)))

        for col in range(len(self._custom_fields)):
            key = self._custom_fields[col]
            if key in proc_info.data and proc_info.data[key] is not None:
                item = QTableWidgetItem(str(proc_info.data[key]))
            else:
                item = QTableWidgetItem('')
            item.setBackgroundColor(QColor.fromRgb(200, 255, 200))
            self.setItem(row, col + len(self._header), item)
Пример #15
0
    def __init__(self, message, str=None):
        cfg = Config('chats', message)

        if (str is None):
            self.str = cfg.get('message')
        else:
            self.str = str

        self.str = self.str.replace('\\\n', '').replace('\n', '\n\n')

        self.duration = cfg.get('duration')

        self.font = FontManager.getFont(cfg.get('font'))
        self.font.setPointSize(cfg.get('font_size'))
        self.font_color = QColor.fromRgb(*cfg.get('font_color'))

        self.image = QImage(cfg.get('image_path'))

        p = cfg.get('image_pos')
        self.image_rect = QRect(0., 0., self.image.width(),
                                self.image.height())
        self.image_rect.moveCenter(QPoint(p[0], p[1]))

        self.text_rect = QRect(*cfg.get('text_rect'))

        self.has_cursor = True
        self.blink_elapsed = 0.
        self.blink_time = cfg.get('blink_time')

        self.elapsed = 0.
        self.message_sz = len(self.str)
Пример #16
0
    def paint(self, painter, option, index):
        r = option.rect
        fontPen = QPen(QColor.fromRgb(51, 51, 51), 1, Qt.SolidLine)

        if option.state & QStyle.State_Selected:
            painter.setBrush(Qt.cyan)
            painter.drawRect(r)
        else:
            painter.setBrush(
                Qt.white if (index.row() % 2) == 0 else QColor(252, 252, 252))
            painter.drawRect(r)

        painter.setPen(fontPen)

        name = index.data(Qt.DisplayRole)
        path = index.data(Qt.UserRole)

        imageSpace = 10
        # notebook name
        r = option.rect.adjusted(imageSpace, 0, -10, -20)
        painter.setFont(QFont('Lucida Grande', 10, QFont.Bold))
        painter.drawText(r.left(), r.top(
        ), r.width(), r.height(), Qt.AlignBottom|Qt.AlignLeft, name)
        # notebook path
        r = option.rect.adjusted(imageSpace, 20, -10, 0)
        painter.setFont(QFont('Lucida Grande', 8, QFont.Normal))
        painter.drawText(
            r.left(), r.top(), r.width(), r.height(), Qt.AlignLeft, path)
Пример #17
0
 def drawInWorld(self, qPainter):
     pen = qPainter.pen()
     pen.setColor(QColor.fromRgb(0, 0, 0))
     # pen.setWidth()
     qPainter.setPen(pen)
     for l in self.qLineFs:
         qPainter.drawLines(l)
Пример #18
0
    def __init__(self, message, str = None):       
        cfg = Config('chats', message)

        if (str is None):
            self.str = cfg.get('message')
        else:
            self.str = str
        
        self.str = self.str.replace('\\\n', '').replace('\n','\n\n')
        
        self.duration = cfg.get('duration')
        
        self.font = FontManager.getFont(cfg.get('font'))
        self.font.setPointSize(cfg.get('font_size'))
        self.font_color = QColor.fromRgb(*cfg.get('font_color'))
        
        self.image = QImage(cfg.get('image_path'))
        
        p = cfg.get('image_pos')
        self.image_rect = QRect(0.,0.,self.image.width(),self.image.height())
        self.image_rect.moveCenter(QPoint(p[0],p[1]))
        
        self.text_rect = QRect(*cfg.get('text_rect'))
        
        self.has_cursor = True
        self.blink_elapsed = 0.
        self.blink_time = cfg.get('blink_time')

        self.elapsed = 0.
        self.message_sz = len(self.str)
Пример #19
0
    def canvasPressEvent(self, event):
        self.dragging = False
        self.selectrect.setRect( 0, 0, 0, 0 )

        self.selectband = QgsRubberBand(self.canvas, QGis.Polygon )
        self.selectband.setColor(QColor.fromRgb(0,0,255, 65))
        self.selectband.setWidth(5)
Пример #20
0
 def __init__(self, canvas, layerfrom, layerto, 
                     mapping, validation_method):
     """
         mapping - A dict of field - field mapping with values to
                         copy to the new layer
     """
     QgsMapTool.__init__(self, canvas)
     self.layerfrom = layerfrom
     self.layerto = layerto
     self.fields = mapping
     self.validation_method = validation_method
     self.band = QgsRubberBand(canvas, QGis.Polygon )
     self.band.setColor(QColor.fromRgb(255,0,0, 65))
     self.band.setWidth(5)
     
     self.cursor = QCursor(QPixmap(["16 16 3 1",
         "      c None",
         ".     c #FF0000",
         "+     c #FFFFFF",
         "                ",
         "       +.+      ",
         "      ++.++     ",
         "     +.....+    ",
         "    +.     .+   ",
         "   +.   .   .+  ",
         "  +.    .    .+ ",
         " ++.    .    .++",
         " ... ...+... ...",
         " ++.    .    .++",
         "  +.    .    .+ ",
         "   +.   .   .+  ",
         "   ++.     .+   ",
         "    ++.....+    ",
         "      ++.++     ",
         "       +.+      "]))
Пример #21
0
    def __init__(self, canvas, layers, snapradius = 2):
        MapTool.__init__(self, canvas, layers)
        self.canvas = canvas
        self.radius = snapradius
        
        self.band = QgsRubberBand(self.canvas)
        self.band.setColor(QColor.fromRgb(224,162,16))
        self.band.setWidth(3)

        self.cursor = QCursor(QPixmap(["16 16 3 1",
            "      c None",
            ".     c #FF0000",
            "+     c #FFFFFF",
            "                ",
            "       +.+      ",
            "      ++.++     ",
            "     +.....+    ",
            "    +.     .+   ",
            "   +.   .   .+  ",
            "  +.    .    .+ ",
            " ++.    .    .++",
            " ... ...+... ...",
            " ++.    .    .++",
            "  +.    .    .+ ",
            "   +.   .   .+  ",
            "   ++.     .+   ",
            "    ++.....+    ",
            "      ++.++     ",
            "       +.+      "]))
Пример #22
0
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self._options = None
        self._conf = None

        self._go = QPushButton('Go')
        self._go.setMaximumWidth(100)
        font = self._go.font()
        font.setPointSizeF(font.pointSizeF() * 2.0)
        font.setWeight(QFont.Bold)
        self._go.setFont(font)
        self._go.clicked.connect(self.go)

        self._saveLog = QPushButton('Save')
        saveLogLabel = QLabel('Log File:')
        saveLogBrowse = QPushButton('&Browse')
        saveLogBrowse.clicked.connect(self.browseSaveLog)
        self._saveLogEdit = QLineEdit('')

        gLayout = QGridLayout()
        gLayout.addWidget(saveLogLabel, 0, 0, 1, 1, Qt.AlignRight)
        gLayout.addWidget(self._saveLogEdit, 0, 1, 1, 6)
        gLayout.addWidget(saveLogBrowse, 0, 7, 1, 1)

        self._console = QTextEdit()
        self._console.setLineWrapMode(QTextEdit.NoWrap)
        self._console.setMinimumSize(800, 400)
        palette = self._console.palette()
        palette.setColor(QPalette.Base, QColor.fromRgb(255, 255,
                                                       221))  # ffffdd.
        self._console.setPalette(palette)
        font = QFont('Bitstream Vera Sans Mono',
                     self._console.font().pointSize())
        self._console.setFont(font)
        self._highlighter = Highlighter(self._console.document())

        self._progressBar = QProgressBar()
        self._progressBar.setRange(0, 100)
        self._progressBar.setTextVisible(True)

        hLayout = QHBoxLayout()
        hLayout.addStretch()
        hLayout.addWidget(self._go)
        hLayout.addStretch()
        hLayout.addWidget(self._saveLog)
        hLayout.addStretch()

        vLayout = QVBoxLayout()
        vLayout.addLayout(hLayout)
        vLayout.addLayout(gLayout)
        vLayout.addWidget(self._progressBar)
        vLayout.addWidget(self._console)
        self.setLayout(vLayout)

        self.progress.connect(self._progressBar.setValue)
        self._saveLog.clicked.connect(self.saveLog)

        self.readSettings()
        return
Пример #23
0
 def createRubberBand(self):
     """
     Creates a new rubber band.
     """
     band = QgsRubberBand(self.canvas())
     band.setColor(QColor.fromRgb(237, 85, 9))
     band.setWidth(6)
     return band
Пример #24
0
	def createRubberBand(self):
		"""
		Creates a new rubber band.
		"""
		band = QgsRubberBand(self.canvas)
		band.setColor(QColor.fromRgb(237,85,9))
		band.setWidth(6)
		return band
Пример #25
0
    def _add_task_to_table(self, row, task):
        self._ignore_cell_changed = True
        self.setItem(row, self._dict_header['id'],
                     QTableWidgetItem(str(task.identifier)))
        self.item(row, self._dict_header['id']) \
            .setTextAlignment(Qt.AlignCenter)
        self.setItem(row, self._dict_header['name'],
                     QTableWidgetItem(str(task.name)))

        combo = QComboBox()
        items = [task_type for task_type in Task.task_types_names]
        combo.addItems(items)
        combo.setCurrentIndex(combo.findText(task.task_type))
        combo.currentIndexChanged.connect(
            lambda x: self._cell_changed(row, self._dict_header['task_type']))
        self.setCellWidget(row, self._dict_header['task_type'], combo)

        item = QTableWidgetItem(task.abort_on_miss and 'Yes' or 'No')
        item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled
                      | Qt.ItemIsSelectable)
        item.setCheckState(task.abort_on_miss and Qt.Checked or Qt.Unchecked)
        self.setItem(row, self._dict_header['abort'], item)

        self.setItem(
            row, self._dict_header['list_activation_dates'],
            QTableWidgetItem(', '.join(map(str, task.list_activation_dates))))
        self.item(row, self._dict_header['list_activation_dates']) \
            .setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)

        for i in [
                'activation_date', 'period', 'deadline', 'wcet', 'base_cpi',
                'n_instr', 'mix', 'acet', 'et_stddev', 'preemption_cost'
        ]:
            self.setItem(row, self._dict_header[i],
                         QTableWidgetItem(str(task.__dict__[i])))
            self.item(row, self._dict_header[i]) \
                .setTextAlignment(Qt.AlignRight | Qt.AlignVCenter)

        stack_item = QTableWidgetItem(str(task.stack_file))
        stack_item.setFlags(stack_item.flags() ^ (Qt.ItemIsEditable))
        self.setItem(row, self._dict_header['sdp'], stack_item)

        combo = QComboBox()
        combo.currentIndexChanged.connect(
            lambda x: self._cell_changed(row, self._dict_header['followed']))
        self.setCellWidget(row, self._dict_header['followed'], combo)

        for col in range(len(self._custom_fields)):
            key = self._custom_fields[col]
            if key in task.data and task.data[key] is not None:
                item = QTableWidgetItem(str(task.data[key]))
            else:
                item = QTableWidgetItem('')
            item.setBackgroundColor(QColor.fromRgb(200, 255, 200))
            self.setItem(row, col + len(self._header), item)

        self._ignore_cell_changed = False
        self._show_period(task, row)
Пример #26
0
def _parse_qcolor_html(color_spec):
    digits = color_spec[1:] if color_spec.startswith("#") else color_spec

    if len(digits) not in [6, 8]:
        raise ValueError("Invalid length for HTML format")

    components = [int(digits[i : i + 2], 16) for i in range(0, len(digits), 2)]

    return QColor.fromRgb(*components)
Пример #27
0
 def __changeColor(self):
     color = QColorDialog.getColor(
         QColor.fromRgb(*self.game.clientPlayer.color),
         self,
         "Choose your color",
     )
     if color.isValid():
         color = color.getRgb()
         self.colorChanged.emit(list(color[:-1]))
Пример #28
0
    def __init__(self, methodName):
        """Run once on class initialisation."""
        unittest.TestCase.__init__(self, methodName)

        # create composition
        self.mMapRenderer = QgsMapRenderer()
        self.mComposition = QgsComposition(self.mMapRenderer)
        self.mComposition.setPaperSize(297, 210)

        self.mComposerRect1 = QgsComposerShape(20, 20, 150, 100, self.mComposition)
        self.mComposerRect1.setShapeType(QgsComposerShape.Rectangle)
        self.mComposerRect1.setBackgroundColor(QColor.fromRgb(255, 150, 0))
        self.mComposition.addComposerShape(self.mComposerRect1)

        self.mComposerRect2 = QgsComposerShape(50, 50, 150, 100, self.mComposition)
        self.mComposerRect2.setShapeType(QgsComposerShape.Rectangle)
        self.mComposerRect2.setBackgroundColor(QColor.fromRgb(0, 100, 150))
        self.mComposition.addComposerShape(self.mComposerRect2)
Пример #29
0
 def preDraw(self, qPainter):
     qPainter.save()
     qPainter.setWorldTransform(self.getWorldToScreenTransform())
     pen = qPainter.pen()
     pen.setCosmetic(True)
     qPainter.setPen(pen)
     brush = QtGui.QBrush()
     brush.setColor(QColor.fromRgb(255, 0, 0))
     # brush.setStyle(Qt.SolidLine)       #
     qPainter.setBrush(brush)
Пример #30
0
 def paintEvent(self, e):
     """
     @summary: Call when Qt renderer engine estimate that is needed
     @param e: QEvent
     """
     #draw in widget
     with QtGui.QPainter(self) as qp:
         qp.drawImage(0, 0, self._buffer)
         qp.setBrush(QColor.fromRgb(255, 255, 0, 180))
         qp.drawEllipse(QPoint(self.mouseX, self.mouseY), 5, 5)
Пример #31
0
    def __init__(self, qnt_pontos=10):
        self.qnt_pontos = qnt_pontos

        self.app = QtGui.QApplication([])
        self.plot = pg.plot()

        self.plot.setBackgroundBrush(QBrush(QColor.fromRgb(255, 255, 255)))
        #self.plot.windowTitle().
        #self.plot.setForegroundBrush(QBrush(QColor.fromRgb(250,0,0,30)))
        self.plot.setWindowTitle('PlotterHandler')
        self.plot.setRange(QtCore.QRectF(0, -10, 5000, 20))
        self.plot.setLabel('bottom', 'Index', units='un')
        self.plot.setLabel('left', 'Valor', units='V')
        self.curve = self.plot.plot(pen='b')
        # self.plot.enableAutoRange('xy', True)
        self.plot.enableAutoRange('xy', False)
        self.plot.setXRange(0, 5000)
        self.plot.setYRange(0, 5)

        #self.plot.enableAutoRange('xy', True)
        #grade = pg.GridItem()
        #self.plot.addItem(grade)
        self.plot.showGrid(True, True)
        #self.plot.showAxis('top', False)
        #self.plot.showAxis('bottom', False)
        #self.plot.showAxis('left', False)
        #self.plot.showAxis('right', False)
        self.plot.getAxis('left').setPen(QPen(QColor.fromRgb(0, 0, 0)))
        self.plot.getAxis('bottom').setPen(QPen(QColor.fromRgb(0, 0, 0)))
        #print self.plot.getRange
        #self.plot.
        # self.plot.showGrid(2,3)
        #self.plot.hideAxis(ax)
        #

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.update_y_points)

        self.lastTime = time()
        self.fps = None

        self.y_values = [0] * self.qnt_pontos
        self.plot_buffer = Queue(qnt_pontos)
Пример #32
0
    def __init__(self, methodName):
        """Run once on class initialisation."""
        unittest.TestCase.__init__(self, methodName)

        # create composition
        self.mComposition = QgsComposition(None)
        self.mComposition.setPaperSize(297, 210)

        self.mComposerShape = QgsComposerShape(20, 20, 150, 100, self.mComposition)
        self.mComposerShape.setBackgroundColor(QColor.fromRgb(255, 150, 0))
        self.mComposition.addComposerShape(self.mComposerShape)
Пример #33
0
    def __init__(self, canvas, snapradius = 2):
        super(InfoTool, self).__init__(canvas)
        self.radius = snapradius

        self.band = QgsRubberBand(self.canvas)
        self.band.setColor(QColor.fromRgb(224,162,16))
        self.band.setWidth(3)

        self.selectband = None
        self.selectrect = QRect()
        self.dragging = False
        self.selectionlayers = []
Пример #34
0
    def __init__(self, methodName):
        """Run once on class initialisation."""
        unittest.TestCase.__init__(self, methodName)

        # create composition
        self.mComposition = QgsComposition(None)
        self.mComposition.setPaperSize(297, 210)

        self.mComposerShape = QgsComposerShape(20, 20, 150, 100,
                                               self.mComposition)
        self.mComposerShape.setBackgroundColor(QColor.fromRgb(255, 150, 0))
        self.mComposition.addComposerShape(self.mComposerShape)
Пример #35
0
    def __init__(self, canvas, snapradius=2):
        super(InfoTool, self).__init__(canvas)
        self.radius = snapradius

        self.band = QgsRubberBand(self.canvas)
        self.band.setColor(QColor.fromRgb(224, 162, 16))
        self.band.setWidth(3)

        self.selectband = None
        self.selectrect = QRect()
        self.dragging = False
        self.selectionlayers = []
 def __init__(self, canvas):
     self.canvas = canvas
     QgsMapToolEmitPoint.__init__(self, self.canvas)
     self.rubberband = QgsRubberBand(self.canvas, QGis.Polygon)
     self.point = None
     self.points = []
     attribs = ['id']
     types = [QtCore.QVariant.String]
     self.layer = uf.createTempLayer('Danger Zones', 'POLYGON', '28992',
                                     attribs, types, 50)
     self.symbols = self.layer.rendererV2().symbols()
     self.symbol = self.symbols[0]
     self.symbol.setColor(QColor.fromRgb(160, 160, 160))
Пример #37
0
    def paint(self, painter, option, index):
        filePath = self.model.filePath(index)
        fileName = self.model.fileName(index)
        r = option.rect

        img = QPixmap(filePath)
        if img.isNull():
            # If not image file, try to load icon with QFileIconProvider
            # according to file type (extension name).
            # Currently not work as intended.
            fileInfo = self.model.fileInfo(index)
            icon = QFileIconProvider().icon(fileInfo)
            img = icon.pixmap(QSize(32, 32))

        # Scale to height, align center horizontally, align bottom vertically.
        if img.height() > self.thumbHeight:
            img = img.scaledToHeight(self.thumbHeight, Qt.SmoothTransformation)
        imgLeft = (self.width - img.width()) / 2
        imgTop = self.thumbHeight - img.height()
        painter.drawPixmap(r.left()+imgLeft, r.top()+imgTop, img)

        rect = QRect(r.left(), r.top()+self.thumbHeight,
                     self.width, self.nameHeight)
        flag = Qt.AlignHCenter | Qt.TextWrapAnywhere
        # get the bounding rectangle of the fileName
        bdRect = painter.boundingRect(rect, flag, fileName)
        if bdRect.height() < rect.height():
            rect = bdRect

        if option.state & QStyle.State_Selected:
            painter.setBrush(Qt.darkBlue)
            painter.drawRoundedRect(rect, 5, 5)
            pen = QPen(QColor.fromRgb(255, 255, 255), 1, Qt.SolidLine)
        else:
            pen = QPen(QColor.fromRgb(51, 51, 51), 1, Qt.SolidLine)

        painter.setPen(pen)
        painter.drawText(rect, flag, fileName)
def extract_color_at_point(raster, point, point_crs):

    if not raster.crs() == point_crs:
        xform = QgsCoordinateTransform(point_crs, raster.crs())
        point = xform.transform(point)

    color_rgba = raster.dataProvider().identify(point,QgsRaster.IdentifyFormatValue).results()
    try:
        r, g, b, a = color_rgba.values()
        color = QColor.fromRgb(r, g, b, a)
    except (ValueError, TypeError):
        return None
    else:
        return color
Пример #39
0
 def configure_area(self, x_title='Index', x_unit='',  y_title='Values', y_unit=''):
     """
     Configure the plot to:
         Show a X,Y grid.
         Sets the colors to a white background theme.
         Sets the axis range and labels.
     :param x_title: The x axis label.
     :param x_unit: The unit names of the x values.
     :param y_title: The y axis label.
     :param y_unit: The unit names of the y axis.
     """
     self.plotWidget.showGrid(True, True)
     # Colors:
     self.plotWidget.setBackgroundBrush(QBrush(QColor.fromRgb(255, 255, 255)))
     self.plotWidget.getAxis('left').setPen(QPen(QColor.fromRgb(0, 0, 0)))
     self.plotWidget.getAxis('bottom').setPen(QPen(QColor.fromRgb(0, 0, 0)))
     self.plotWidget.getAxis('left').setPen(QPen(QColor.fromRgb(0, 0, 0)))
     self.plotWidget.getAxis('bottom').setPen(QPen(QColor.fromRgb(0, 0, 0)))
     # Axis:
     self.plotWidget.setXRange(0, self.qnt_points)
     self.plotWidget.setYRange(self.__y_range[0], self.__y_range[1])
     self.plotWidget.setLabel('bottom', x_title, units=x_unit)
     self.plotWidget.setLabel('left', y_title, units=y_unit)
Пример #40
0
def extract_color_at_point(raster, point, point_crs):

    if not raster.crs() == point_crs:
        xform = QgsCoordinateTransform(point_crs, raster.crs())
        point = xform.transform(point)

    color_rgba = raster.dataProvider().identify(
        point, QgsRaster.IdentifyFormatValue).results()
    try:
        r, g, b, a = color_rgba.values()
        color = QColor.fromRgb(r, g, b, a)
    except (ValueError, TypeError):
        return None
    else:
        return color
Пример #41
0
def createLayerControle(proj):

    layerStopLine = QgsVectorLayer("Point?crs=" + proj,
                                   CONST_NOM_LAYER_PT_CONTROLE, "memory")

    # Style
    # Symbologie des stations
    symbolPoint = QgsMarkerSymbolV2.createSimple({
        'name': 'square',
        'color_border': '255,216,0'
    })
    symbolPoint.setColor(QColor.fromRgb(255, 216, 0))  #F 216,7,96
    symbolPoint.setSize(2)
    layerStopLine.rendererV2().setSymbol(symbolPoint)

    return layerStopLine
Пример #42
0
    def __init__(self, name, iface):
        QAction.__init__(self, name, iface.mainWindow())
        self.canvas = iface.mapCanvas()
        self.toggled.connect(self.setTool)
        self.tool = PointTool(self.canvas)
        self.tool.mouseClicked.connect(self.findFeatures)
        self.tool.mouseMove.connect(self.highlightFeatures)

        self.setIcon(QIcon(":/icons/edit"))
        self.dialogprovider = DialogProvider(self.canvas, iface)
        self.dialogprovider.accepted.connect(self.setTool)
        self.dialogprovider.rejected.connect(self.setTool)
        self.setCheckable(True)
        self.band = QgsRubberBand(self.canvas)
        self.band.setColor(QColor.fromRgb(224, 162, 16))
        self.band.setWidth(3)
Пример #43
0
	def onCursorPositionChanged(self):
		# paint a different background color on the line that contains the cursor
		selection = QTextEdit.ExtraSelection()
		clr = QColor.fromRgb(*(0xF0,) * 3)
		selection.format.setBackground(clr)
		selection.format.setProperty(QTextFormat.FullWidthSelection, True)
		selection.cursor = self.textCursor()
		selection.cursor.clearSelection()
		self.setExtraSelections([selection])

		# discover what word we are over and signal an event if it changes
		cursor = self.textCursor()
		pos = (cursor.block().firstLineNumber() + 1, cursor.position() - cursor.block().position())
		cursor.select(QTextCursor.WordUnderCursor)
		word = cursor.selectedText()
		QCoreApplication.instance().on_click_text(self.document().module, pos, word)
Пример #44
0
    def __init__(self, prop, name, value, section=None ):
        super(EkdColorPropertie, self).__init__(prop, name, value, EkdPropertie.COLOR, section)
        self.label = QLabel(name)
        self.widget = QFrame()
        self.layout = QHBoxLayout(self.widget)
        self.line = QLineEdit(value)
        self.value = value
        self.line.setReadOnly(True)
        self.layout.addWidget(self.line)
        self.color = QPixmap(15, 15)
        self.color.fill(QColor.fromRgb(int("%d" % int(self.value, 16))))
        self.boutton = QPushButton(QIcon(self.color), u"")
        self.boutton.setFixedSize(25,25)
        self.layout.addWidget(self.boutton)

        # Quand on clique sur le boutton on défini la couleur
        self.connect(self.boutton, SIGNAL("clicked()"), self.updateColor)
Пример #45
0
 def setColorText(self, idx, txt):
     if len(txt) != 9 or txt[0] != '#':
         return False
     if self.show_rgba:
         r = int(txt[1:3], 16)
         g = int(txt[3:5], 16)
         b = int(txt[5:7], 16)
         a = int(txt[7:9], 16)
         col = QColor.fromRgb(r, g, b, a)
     else:
         h = int(txt[1:3], 16)
         v = int(txt[3:5], 16)
         s = int(txt[5:7], 16)
         a = int(txt[7:9], 16)
         col = QColor.fromHsv(h, s, v, a)
     self.colors[idx] = col
     return True
Пример #46
0
 def setColorText(self, idx, txt):
     if len(txt) != 9 or txt[0] != '#':
         return False
     if self.show_rgba:
         r = int(txt[1:3], 16)
         g = int(txt[3:5], 16)
         b = int(txt[5:7], 16)
         a = int(txt[7:9], 16)
         col = QColor.fromRgb(r,g,b,a)
     else:
         h = int(txt[1:3], 16)
         v = int(txt[3:5], 16)
         s = int(txt[5:7], 16)
         a = int(txt[7:9], 16)
         col = QColor.fromHsv(h, s, v, a)
     self.colors[idx] = col
     return True
Пример #47
0
 def __init__(self, level_number, level):
     self.level_number = level_number
     
     self.info = {}
     self.fields = set()
     
     self.level = level
     self.player_state = Player.get_instance()
             
     cfg = Config('interface', 'Settings')
     font_name = cfg.get('field_font')
     font_size = cfg.get('field_font_sz')
     self.field_font = FontManager.getFont(font_name)
     self.field_font.setPointSize(font_size)
     self.field_color = QColor.fromRgb(*cfg.get('field_color'))
     
     for f_name in ConfigManager.getOptions('interface', 'Fields'):
         s = ConfigManager.getVal('interface', 'Fields', f_name)
         s = map(str.strip, s.split('||'))
         
         img = QImage('resources/images/'+s[0])
         img_pos = QPoint(*eval(s[1]))
         info_rect = QRect(*eval(s[2]))
         scale = float(s[3])
         
         if (len(s) >= 5):
             font = QFont(self.field_font)
             font.setPointSize(int(s[4]))
         else:
             font = self.field_font
         
         img_w, img_h = img.width(), img.height()
         img_rect = QRect(
             img_pos.x(), img_pos.y(),
             int(img_w*scale), int(img_h*scale)
         )
         
         self.info[f_name] = ''
         
         self.fields.add(Field(f_name, img, img_rect, info_rect, font))
     
     self.radar = Radar.from_config('E-Radar', self)
     self.missile = GuidedMissile.from_config('GuidedMissile', self)
Пример #48
0
    def __init__(self, canvas, layers, snapradius=2):
        MapTool.__init__(self, canvas, layers)
        self.canvas = canvas
        self.radius = snapradius

        self.band = QgsRubberBand(self.canvas)
        self.band.setColor(QColor.fromRgb(224, 162, 16))
        self.band.setWidth(3)

        self.cursor = QCursor(
            QPixmap([
                "16 16 3 1", "      c None", ".     c #FF0000",
                "+     c #FFFFFF", "                ", "       +.+      ",
                "      ++.++     ", "     +.....+    ", "    +.     .+   ",
                "   +.   .   .+  ", "  +.    .    .+ ", " ++.    .    .++",
                " ... ...+... ...", " ++.    .    .++", "  +.    .    .+ ",
                "   +.   .   .+  ", "   ++.     .+   ", "    ++.....+    ",
                "      ++.++     ", "       +.+      "
            ]))
Пример #49
0
    def convertRGB(self, clr, forced=False):
        if clr.spec() == QColor.Cmyk:
            cmyk = COLORB()
            cmyk[0] = clr.cyan()
            cmyk[1] = clr.magenta()
            cmyk[2] = clr.yellow()
            cmyk[3] = clr.black()
		
            rgb = COLORB()
            rgb[0] = 0
            rgb[1] = 0
            rgb[2] = 0		
            cmsDoTransform(self.cmykTransform, cmyk, rgb, 1)

            return QColor.fromRgb(rgb[0], rgb[1], rgb[2], clr.alpha())
        elif forced:
            clr=self.convertCMYK(clr)
            return self.convertRGB(clr)
        elif clr.spec() == QColor.Rgb:
            return clr
        return clr.toRgb()
Пример #50
0
def _parse_qcolor_arrayish(color_spec):
    if len(color_spec) < 3 or len(color_spec) > 4:
        raise ValueError("Expecting an array of length 3 or 4")

    if len(set(type(x) for x in color_spec)) > 1:
        raise ValueError("All components must have the same type")

    comp_type = type(color_spec[0])

    if comp_type == int:
        if not all(0 <= x <= 255 for x in color_spec):
            raise ValueError("Integer components must be in the [0..255] range")

        return QColor.fromRgb(*color_spec)
    elif comp_type == float:
        if not all(0.0 <= x <= 1.0 for x in color_spec):
            raise ValueError("Float components must be in the [0.0..1.0] range")

        return QColor.fromRgbF(*color_spec)

    raise ValueError("Only int and float components are supported")
Пример #51
0
    def convertRGB(self, clr, forced=False):
        if clr.spec() == QColor.Cmyk:
            cmyk = COLORB()
            cmyk[0] = clr.cyan()
            cmyk[1] = clr.magenta()
            cmyk[2] = clr.yellow()
            cmyk[3] = clr.black()

            rgb = COLORB()
            rgb[0] = 0
            rgb[1] = 0
            rgb[2] = 0
            cmsDoTransform(self.cmykTransform, cmyk, rgb, 1)

            return QColor.fromRgb(rgb[0], rgb[1], rgb[2], clr.alpha())
        elif forced:
            clr = self.convertCMYK(clr)
            return self.convertRGB(clr)
        elif clr.spec() == QColor.Rgb:
            return clr
        return clr.toRgb()
                
        #creates the coloring pattern for the layer
                #note: find setting for opacity
        if True:
                malNutRange = (
                    ('0 to 2', 0.0, 2, [0,150,0,TRANSPARENCY]),
                    ('2 to 10', 2, 10, [230,230,0,TRANSPARENCY]),
                    ('10 to 20', 10, 20, [230,90,0,TRANSPARENCY]),
                    ('>20', 20, 999, [222,0,0,TRANSPARENCY]))
                                                
        # maybe switch with: '20 to '+str(maxTotal)
        # create a category for each item 
                ranges = []
                for label, lower, upper, color in malNutRange:
                    symbol = QgsSymbolV2.defaultSymbol(myPolyLayer.geometryType())
                    symbol.setColor(QColor.fromRgb(color[0],color[1],color[2],color[3]))
                    rng = QgsRendererRangeV2(lower, upper, symbol, label)
                    ranges.append(rng)

                # create the renderer and assign it to a layer
                expression = FIELD # field name
                renderer = QgsGraduatedSymbolRendererV2(expression, ranges)
        else:
                renderer=QgsGraduatedSymbolRendererV2.createRenderer(myPolyLayer,'total',
                CLASSES,QgsGraduatedSymbolRendererV2.Jenks,
                QgsSymbolV2.defaultSymbol(myPolyLayer.geometryType()),RAMP)
        #set the border of the polygons
        for Symbol in renderer.symbols():
                Symbol.symbolLayer(0).setBorderColor(QColor.fromRgb(0,0,0,TRANSPARENCY))
        myPolyLayer.setRendererV2(renderer)
        myPolyLayer.commitChanges()
Пример #53
0
	def mouseMoveEvent( self, event ):
		pos = event.globalPos()
		rgb = self.image.pixel( pos )
		color = QColor.fromRgb( rgb )
		if self.owner:
			self.owner.setColor( color )
Пример #54
0
    def data(self, index, role):
        if role == Qt.TextAlignmentRole:
            return int(Qt.AlignTop | Qt.AlignLeft)

        if role == Qt.FontRole:
            return self.font

        if role == Qt.BackgroundColorRole:
            node = self.nodeFromIndex(index)
            if isinstance(node, SDBBusBranch):
                if index.column() < node.get_depth():
                    return
                return QColor.fromRgb(BUS_COLOR)
            if isinstance(node, SDBComponentBranch):
                if index.column() < node.get_depth():
                    return
                c = node.component
                if c.is_integration_record():
                    return QColor.fromRgb(INTEGRATION_COLOR)
                if c.is_synthesis_record():
                    return QColor.fromRgb(SYNTHESIS_COLOR)
                if c.is_url_record():
                    return QColor.fromRgb(URL_COLOR)
                else:
                    return QColor.fromRgb(DEVICE_COLOR)
            if isinstance(node, SDBEntryNode):
                if index.column() < node.get_depth():
                    return
                return QColor.fromRgb(INFO_COLOR)

        if role != Qt.DisplayRole:
            return

        node = self.nodeFromIndex(index)
        assert node is not None

        if isinstance(node, RootBusBranch):
            return None
        if isinstance(node, SDBBusBranch):
            depth = node.get_depth()
            if index.column() == depth:
                return "Bus: %s" % node.get_name()
        if isinstance(node, SDBComponentBranch):
            depth = node.get_depth()
            if index.column() == depth:
                c = node.component
                if c.is_integration_record():
                    return "Integration: %s" % node.get_name()
                if c.is_synthesis_record():
                    return "Synthesis"
                if c.is_url_record():
                    return "URL"
                else:
                    return "Device: %s" % node.get_name()
        if isinstance(node, SDBEntryNode):
            depth = node.get_depth()
            if index.column() == depth:
                return node.get_name()
            if index.column() == depth + 1:
                return node.get_value()
        return None
    def calculateBuffer(self):
        layer = uf.getLegendLayerByName(self.iface, "Attack Point")
        origins = layer.getFeatures()
        if origins > 0:
            cutoff_distance = self.getBufferCutoff()
            if cutoff_distance:
                if (QgsMapLayerRegistry.instance().mapLayersByName("Perimeter")
                    ):
                    buffer_layer = uf.getLegendLayerByName(
                        self.iface, "Perimeter")
                    QgsMapLayerRegistry.instance().removeMapLayer(
                        buffer_layer.id())
                buffers = {}
                for point in origins:
                    geom = point.geometry()
                    buffers[point.id()] = geom.buffer(cutoff_distance,
                                                      12).asPolygon()
                # store the buffer results in temporary layer called "Perimeter"
                buffer_layer = uf.getLegendLayerByName(self.iface, "Perimeter")
                # Create one if it doesn't exist
                if not buffer_layer:
                    attribs = ['id', 'distance']
                    types = [QtCore.QVariant.String, QtCore.QVariant.Double]
                    buffer_layer = uf.createTempLayer(
                        'Perimeter', 'POLYGON',
                        layer.crs().postgisSrid(), attribs, types, 70)
                    uf.loadTempLayer(buffer_layer)
                    buffer_layer.setLayerName('Perimeter')
                    symbols = buffer_layer.rendererV2().symbols()
                    symbol = symbols[0]
                    symbol.setColor(QColor.fromRgb(220, 220, 0))
                # Insert buffer polygons
                geoms = []
                values = []
                for buffer in buffers.iteritems():
                    # Each buffer has an id and a geometry
                    geoms.append(buffer[1])
                    # In the case of values, it expects a list of multiple values in each item - list of lists
                    values.append([buffer[0], cutoff_distance])
                uf.insertTempFeatures(buffer_layer, geoms, values)
                self.refreshCanvas(buffer_layer)

                extent = buffer_layer.extent()
                self.canvas.setExtent(extent)

                layers = ["road_net"]
                for layer in layers:
                    vl = uf.getLegendLayerByName(self.iface, layer)
                    iface.legendInterface().setLayerVisible(vl, True)

                # Make half transparent Open Street Map
                rlayer = uf.getLegendLayerByName(self.iface, "OpenStreetMap")
                rlayer.renderer().setOpacity(0.5)  # 0.5 = 50%; 0.1 = 90%...
                rlayer.triggerRepaint()

                # Jump to tab 2
                self.tabs.setTabEnabled(1, True)
                self.tabs.setCurrentIndex(1)
                self.scrollArea.verticalScrollBar().setValue(0)

                # If POIs in and out already exist, remove them
                check_layer = uf.getLegendLayerByName(self.iface,
                                                      "Buildings to evacuate")
                check_layer2 = uf.getLegendLayerByName(self.iface, "Shelters")
                if check_layer:
                    QgsMapLayerRegistry.instance().removeMapLayer(
                        check_layer.id())
                    QgsMapLayerRegistry.instance().removeMapLayer(
                        check_layer2.id())
                    self.buildings.clear()
                if buffer_layer:
                    names = ["Buildings to evacuate", "Shelters"]
                    styles = ["style.qml", "style2.qml"]
                    self.dup_layer(28992, names)
                    self.load_style(names, styles)
                    self.intersectANDdelete()

                    build = uf.getLegendLayerByName(iface,
                                                    "Buildings to evacuate")
                    feats = build.getFeatures()
                    n = 0
                    for feat in feats:
                        if feat.attributes(
                        )[2] != 'police' and feat.attributes(
                        )[2] != 'fire_station':
                            n += 1
                    self.buildings.append('%s' % n)
Пример #56
0
# -*- coding: utf-8 -*-
from PyQt4.QtGui import QColor
#SELECCIONA LA CAPA DE RIOS
layer=iface.activeLayer()
#CREA EL OBJETO DE ETIQUETA Y DETERMINA EL CAMPO A ETIQUETAR
palyr = QgsPalLayerSettings()
palyr.readFromLayer(layer)
palyr.enabled = True
palyr.fieldName = 'NOMBRE' #cuidado con nombre del campo
#PLACEMENT:
palyr.placement= QgsPalLayerSettings.Line
#COLOR:
palyr.textColor = QColor.fromRgb(49,195,255) #requiere importar QColor de PyQt4.QtGui
#TAMAÑO CON DEFINE PROPERTIES (EN MM)
palyr.setDataDefinedProperty(QgsPalLayerSettings.Size,True,True,'20','')
#PINTA LA ETIQUETA
palyr.writeToLayer(layer)
#REFRESCA EL MAPA Y LA TOC
iface.mapCanvas().refresh()
iface.legendInterface().refreshLayerSymbology(layer)
layer.triggerRepaint()
Пример #57
0
    def run(self):
        """Run method that performs all the real work"""
        layers = self.iface.legendInterface().layers()
        raster_layer_list = []
        domain_layer_list = []
        for layer in layers:
            if layer.type() == QgsMapLayer.VectorLayer:
                domain_layer_list.append(layer.name())
            elif layer.type() == QgsMapLayer.RasterLayer:
                raster_layer_list.append(layer.name())

        raster_prefix_list = ['B5', 'BQA']

        toc = self.iface.legendInterface()
        root = QgsProject.instance().layerTreeRoot()
        groups = toc.groups()

        self.dlg.comboBox_rasterLayer.clear()
        self.dlg.comboBox_rasterPrefix.clear()
        self.dlg.comboBox_rasterGroup.clear()
        self.dlg.comboBox_domainLayer.clear()
        self.dlg.comboBox_rasterLayer.addItems(raster_layer_list)
        self.dlg.comboBox_rasterPrefix.addItems(raster_prefix_list)
        self.dlg.comboBox_rasterGroup.addItems(groups)
        self.dlg.comboBox_domainLayer.addItems(domain_layer_list)

        # show the dialog
        self.dlg.show()
        # Run the dialog event loop
        result = self.dlg.exec_()

        # See if OK was pressed
        if result:
            rasterLayerIndex = self.dlg.comboBox_rasterLayer.currentIndex()
            rasterPrefixIndex = self.dlg.comboBox_rasterPrefix.currentIndex()
            rasterGroupIndex = self.dlg.comboBox_rasterGroup.currentIndex()
            domainLayerIndex = self.dlg.comboBox_domainLayer.currentIndex()
            rasterLayerName = raster_layer_list[rasterLayerIndex]
            rasterPrefix = raster_prefix_list[rasterPrefixIndex]
            rasterGroupName = groups[rasterGroupIndex]
            domainLayerName = domain_layer_list[domainLayerIndex]

            rasterGroup = root.findGroup(rasterGroupName)
            rasterLayers = rasterGroup.findLayers()
            for layer in QgsMapLayerRegistry.instance().mapLayers().values():
                if layer.name() == domainLayerName:
                    domainLayer = layer
                    break

            for rasterLayer in rasterLayers:
                try:
                    if rasterLayer.name().endswith(rasterPrefix):
                        maskRasterLayer, maskVectorLayer = coastline_masker_core.maskFromLayers(
                            rasterLayer.layer(), domainLayer, None, [5, 15])
                        # step 1: add the layer to the registry, False indicates not to add to the layer tree
                        #QgsMapLayerRegistry.instance().addMapLayer(maskRasterLayer, False)
                        QgsMapLayerRegistry.instance().addMapLayer(
                            maskVectorLayer, False)
                        # step 2: append layer to the root group node
                        #maskRasterLayerObject = rasterGroup.insertLayer(0, maskRasterLayer)
                        maskVectorLayerObject = rasterGroup.insertLayer(
                            0, maskVectorLayer)
                        # step 3: Add transparency slider to layers
                        #maskRasterLayer.setCustomProperty("embeddedWidgets/count", 1)
                        #maskRasterLayer.setCustomProperty("embeddedWidgets/0/id", "transparency")
                        #qgis.utils.iface.legendInterface().refreshLayerSymbology(maskRasterLayer)
                        maskVectorLayer.setCustomProperty(
                            "embeddedWidgets/count", 1)
                        maskVectorLayer.setCustomProperty(
                            "embeddedWidgets/0/id", "transparency")
                        # Alter fill style for vector layers
                        symbols = maskVectorLayer.rendererV2().symbols()
                        symbol = symbols[0]
                        symbol.setColor(QColor.fromRgb(50, 50, 250, 25))
                        # Redraw canvas and save variable to global context
                        qgis.utils.iface.legendInterface(
                        ).refreshLayerSymbology(maskVectorLayer)
                        g_vectorLayer = maskVectorLayer
                except cv2.error as e:
                    print "OpenCV ERROR", e
                except Exception as e:
                    print e
Пример #58
0
class Highlighter(QSyntaxHighlighter):

    Normal = 0x0001
    Bold = 0x0002
    Italic = 0x0004

    ttyBackground = QColor.fromRgb(255, 255, 221)  # #ffffdd
    ttyBlack = QColor.fromRgb(46, 52, 54)  # #2e3436
    ttyRed = QColor.fromRgb(204, 0, 0)  # #cc0000
    ttyGreen = QColor.fromRgb(78, 154, 6)  # #4e9a06
    ttyYellow = QColor.fromRgb(196, 160, 0)  # #c4a000
    ttyBlue = QColor.fromRgb(52, 101, 164)  # #3465a4
    ttyViolet = QColor.fromRgb(117, 80, 123)  # #75507b
    ttyCyan = QColor.fromRgb(6, 152, 154)  # #06989a
    ttyGrey = QColor.fromRgb(211, 215, 207)  # #d3d7cf
    ttyLightBlack = QColor.fromRgb(85, 87, 83)  # #555753
    ttyLightRed = QColor.fromRgb(239, 41, 41)  # #ef2929
    ttyLightGreen = QColor.fromRgb(138, 226, 52)  # #8ae234
    ttyLightYellow = QColor.fromRgb(252, 233, 79)  # #fce94f
    ttyLightBlue = QColor.fromRgb(114, 159, 207)  # #729fcf
    ttyLightViolet = QColor.fromRgb(173, 127, 168)  # #ad7fa8
    ttyLightCyan = QColor.fromRgb(52, 226, 226)  # #34e2e2
    ttyLightGrey = QColor.fromRgb(238, 238, 236)  # #eeeeec

    Rules = [
        [ttyLightViolet, Bold,
         re.compile(r'^Scanning.*'), None],
        [ttyLightRed, Bold, re.compile(r'^Linking.*'), None],
        [
            ttyLightGreen, Normal,
            re.compile(r'^\[(?P<percent>\s*\d+)%\]\s*(?P<message>Building.*)'),
            None
        ],
        [
            ttyLightGreen, Bold,
            re.compile(
                r'^\[(?P<percent>\s*\d+)%\]\s*(?P<message>Built target.*)'),
            None
        ],
        [
            ttyLightBlue, Normal,
            re.compile(
                r'^\[(?P<percent>\s*\d+)%\]\s*(?P<message>Generating.*moc_.*)'
            ), None
        ], [ttyLightBlue, Bold,
            re.compile(r'^Generating.*'), None],
        [ttyLightCyan, Normal,
         re.compile(r'^Install the project.*'), None],
        [ttyCyan, Bold, re.compile(r'^-- Install.*'), None],
        [ttyCyan, Bold | Italic,
         re.compile(r'^-- Up-to-date.*'), None]
    ]

    def __init__(self, parent=None):
        QSyntaxHighlighter.__init__(self, parent)
        for rule in Highlighter.Rules:
            if not rule[3]:
                rule[3] = QTextCharFormat()
                rule[3].setForeground(rule[0])
                if rule[1] & Highlighter.Normal:
                    rule[3].setFontWeight(QFont.Normal)
                if rule[1] & Highlighter.Bold:
                    rule[3].setFontWeight(QFont.Bold)
                if rule[1] & Highlighter.Italic: rule[3].setFontItalic(True)
        return

    def highlightBlock(self, line):
        for rule in Highlighter.Rules:
            m = rule[2].match(line)
            if m:
                if 'percent' in m.groupdict():
                    self.setFormat(7, len(line), rule[3])
                else:
                    self.setFormat(0, len(line), rule[3])
        return