Example #1
0
 def createTree(self):
     objects = list(self.model)
     objects = [object for object in objects
         if self.filter.match(object)]
     objects.sort(key=getIdentifier)
     groups = {}
     for object in objects:
         if isinstance(object, Group):
             key = None
         else:
             key = self.getTreeKey(object)
         if key in groups:
             groups[key].append(object)
         else:
             groups[key] = [object]
     root = []
     for key in sorted(groups.keys()):
         if key:
             label = self.createTreeKeyLabel(key)
         else:
             label = tr('Groups')
         tree = QTreeWidgetItem([label])
         unsetFlag(tree, Qt.ItemIsSelectable)
         for object in groups[key]:
             node = self.createTreeItem(object)
             tree.addChild(node)
         root.append(tree)
     return root
Example #2
0
 def createTree(self):
     nodes = self._createTree(list(self.model))
     root = QTreeWidgetItem([tr("Network interfaces")])
     root.setIcon(0, QIcon(":/icons-32/home.png"))
     unsetFlag(root, Qt.ItemIsSelectable)
     for node in nodes:
         root.addChild(node)
     return [root]
Example #3
0
    def fillHeader(self, row, chain):
        item = chain.createTableWidgetItem()
        self.table.setSpan(row, 0, 1, 3)
        self.table.setItem(row, 0, item)

        item = QTableWidgetItem()
        unsetFlag(item, Qt.ItemIsEditable)
        item.setText(tr("Translated to"))
        item.setTextAlignment(Qt.AlignHCenter)
        item.setBackgroundColor(DECISION_COLORS['ACCEPT'])
        self.table.setSpan(row, 4, 1, 3)
        self.table.setItem(row, 4, item)
Example #4
0
 def createTreeItem(self, object):
     icon = object.getIcon()
     label = object.formatID()
     tree = QTreeWidgetItem([label])
     tree.setData(0, Qt.UserRole, QVariant(object['id']))
     tooltip = object.getToolTip()
     if tooltip:
         tree.setToolTip(0, tooltip)
     if icon:
         tree.setIcon(0, QIcon(icon))
     font = tree.font(0)
     if object['editable']:
         font.setBold(True)
     if not object['references']:
         font.setItalic(True)
     tree.setFont(0, font)
     if not object['editable']:
         unsetFlag(tree, Qt.ItemIsEditable)
     return tree
Example #5
0
    def fillTable(self):
        table = self.ui.table

        table.clear()
        columns = [tr("Host"), tr("Type"), tr("Generic"), tr("Physical")]
        table.setColumnCount(len(columns))
        table.setHorizontalHeaderLabels(columns)

        table_entries = {}
        if self.window.multisite_type == MULTISITE_MASTER:
            if self.ui.hosts_combo.currentIndex() == 0:
                table.showColumn(0)
                table_entries = self.links_list
            else:
                table.hideColumn(0)
                table_entries = { unicode(self.ui.hosts_combo.currentText()) : self.links_list[unicode(self.ui.hosts_combo.currentText())] }
        else:
            table_entries = self.links_list

        count = 0
        for host in table_entries.iterkeys():
            count += sum(len(type_links) for type_links in table_entries[host].itervalues())
        table.setRowCount(count)
        row = 0

        for host in table_entries.iterkeys():
            for type, links in table_entries[host].iteritems():
                for generic_id, physical in links.iteritems():
                    # Hostname
                    item = QTableWidgetItem(QIcon(Resource.ICONS[HOST_RESTYPE]), host)
                    unsetFlag(item, Qt.ItemIsEditable)
                    table.setItem(row, 0, item)

                    # Type
                    item = QTableWidgetItem(QIcon(ICONS[type]), type)
                    unsetFlag(item, Qt.ItemIsEditable)
                    table.setItem(row, 1, item)

                    # Generic ID
                    item = QTableWidgetItem(generic_id)
                    unsetFlag(item, Qt.ItemIsEditable)
                    table.setItem(row, 2, item)

                    # Physical ID
                    item = QTableWidgetItem(physical)
                    table.setItem(row, 3, item)

                    # Hide the row if the value is set
                    if self.ui.hide_defined.isChecked() and physical:
                        table.hideRow(row)
                    else:
                        table.showRow(row)
                    row += 1
        table.resizeColumnsToContents()
Example #6
0
 def createTableWidgetItem(self):
     item = QTableWidgetItem()
     unsetFlag(item, Qt.ItemIsEditable)
     item.setTextAlignment(Qt.AlignHCenter)
     self._setTableWidgetItemAttr(item)
     return item