예제 #1
0
 def flags(self, index):
     if not index.isValid():
         return Qt.NoItemFlags
     # Cannot edit name, per col
     if index.column() in (NAME_COL, PER_COL):
         return Qt.ItemFlags(QAbstractTableModel.flags(self, index) | ~Qt.ItemIsEditable)
     return Qt.ItemFlags(QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
예제 #2
0
 def flags(self, index):
     if not index.isValid():
         return Qt.NoItemFlags
     if index.column() in (Req.attr_to_col['min'], Req.attr_to_col['max'],
                           Req.attr_to_col['target']):
         return Qt.ItemFlags(
             QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
     else:
         return Qt.ItemFlags(
             QAbstractTableModel.flags(self, index) | ~Qt.ItemIsEditable)
예제 #3
0
    def flags(self, index):

        if not index.isValid():
            return Qt.ItemIsEnabled

        elif index.column() in (MASK, HIGHLIGHT):
            return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable
                                | Qt.ItemIsSelectable)
        elif index.column() in (NAME, COLORLABEL):
            return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable
                                | Qt.ItemIsSelectable)
        elif index.column() == COLOR:
            return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable)
        else:
            return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
예제 #4
0
 def flags(self, index):
     """ Set the item flags at the given index. Seems like we're 
         implementing this function just to see how it's done, as we 
         manually adjust each tableView to have NoEditTriggers.
     """
     if not index.isValid():
         return Qt.ItemIsEnabled
     return Qt.ItemFlags(QAbstractTableModel.flags(self, index) |
                         Qt.ItemIsEditable)
예제 #5
0
    def flags(self, index):
        if not index.isValid():
            return Qt.ItemIsEnabled
        col = index.column()
        if col == 0:
            return Qt.ItemIsEnabled

        return Qt.ItemFlags(
            QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
예제 #6
0
    def flags(self, index):
        """Override Qt flags method for custom editing behaviour

        :param QModelIndex index: Target index
        """

        if not index.isValid():
            return Qt.ItemIsEnabled

        current_flags = QAbstractTableModel.flags(self, index)
        return Qt.ItemFlags(current_flags | Qt.ItemIsEditable)
예제 #7
0
 def flags(self, index):
     if not index.isValid():
         return Qt.ItemIsEnabled
     if index.column() == self.K_REMOVE_COL_INDEX:
         if self.K_CUSTOM_INPUT == self.metadataList[index.row()][
                 self.K_SOURCE_META_KEY]:
             return Qt.ItemFlags(
                 QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
         else:
             return Qt.ItemIsEnabled
     elif index.column() == self.K_SOURCE_COL_INDEX or index.column(
     ) == self.K_USESOURCE_COL_INDEX:
         return Qt.ItemFlags(
             QAbstractTableModel.flags(self, index) ^ Qt.ItemIsEnabled)
     else:
         if index.data() == "" or self.metadataList[index.row()][
                 self.K_EDITABLE_META_KEY] == 2:
             return Qt.ItemFlags(
                 QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
         else:
             return Qt.ItemIsEnabled
예제 #8
0
    def flags(self, index):
        """Set the item flags at the given index.

        Args:
            index (QModelIndex): The index

        Returns:
            Qt flags: Flags from Qt
        """
        # https://doc.qt.io/qt-5/qt.html#ItemFlag-enum

        if not index.isValid():
            return Qt.ItemIsEnabled

        return Qt.ItemFlags(
            QAbstractTableModel.flags(self, index)
            | Qt.ItemIsSelectable)  # | Qt.ToolTip)  # ItemIsEditable
예제 #9
0
    def flags(self, index: QModelIndex):
        """Set the item flags at the given index. Seems like we're implementing
        this function just to see how it's done, as we manually adjust each
        treeView to have NoEditTriggers.

        Args:
            index (QModelIndex): The index

        Returns:
            Qt flags: Flags from Qt
        """
        # https://doc.qt.io/qt-5/qt.html#ItemFlag-enum

        if not index.isValid():
            return Qt.ItemIsEnabled

        # Returns the item flags for the given index.
        # The base class implementation returns a combination of flags that enables
        # the item (ItemIsEnabled) and allows it to be selected (ItemIsSelectable).
        flags = QAbstractTableModel.flags(self, index)
        if index.column() == 1:
            flags |= Qt.ItemIsEditable

        return Qt.ItemFlags(flags)
예제 #10
0
from PySide2.QtCore import Qt
from PySide2.QtWidgets import QDialog, QGridLayout, QTableWidget, QTableWidgetItem, QPushButton, QMessageBox

from node_launcher.node_set.lib.configuration import ConfigurationProperty

from node_launcher.node_set.lib.network_node import NetworkNode

# noinspection PyUnresolvedReferences
editDisabledFlags = Qt.ItemFlags() ^ Qt.ItemIsEnabled


class ConfigurationDialog(QDialog):

    def __init__(self, node):
        super().__init__()

        self.node: NetworkNode = node

        self.delete_popup = None

        self.layout = QGridLayout()

        self.table = QTableWidget(0, 3)
        self.table.setHorizontalHeaderLabels(['Id', 'Key', 'Value'])

        self.table.setColumnHidden(0, True)

        self.node.configuration.configuration_changed.connect(
            self.handle_configuration_change
        )
예제 #11
0
 def flags(self, index):
     if not index.isValid():
         return Qt.NoItemFlags
     return Qt.ItemFlags(
         QAbstractTableModel.flags(self, index) | ~Qt.ItemIsEditable)