# Path: Qt.py



from Qt import QtCore, QtWidgets, Qt
class TrackPropertiesModel(QtCore.QAbstractTableModel):
    """This class is a model for accessing TrackItem properties in the editor
    """
    def __init__(self, trackItems):
        """Constructor for the TrackPropertiesModel class"""
        super().__init__()
        self.trackItems = trackItems
        self.simulation = trackItems[0].simulation
        self.multiType = False
        tiType = type(self.trackItems[0])
        for ti in self.trackItems:
            if type(ti) != tiType:
                self.multiType = True
                break

    def rowCount(self, parent=None, *args):
        """Returns the number of rows of the model, corresponding to the
        number of properties."""
        if self.multiType:
            return len(self.trackItems[0].multiProperties)
        else:
            return len(self.trackItems[0].properties)

    def columnCount(self, parent=None, *args):
        """Returns the number of columns of the model, i.e. 2, one for the
        property name, and one for the property value."""
        return 2

    def data(self, index, role=Qt.DisplayRole):
        """Returns the data at the given index"""

# Path: Qt.py



# Path: ts2/scenery/helper.py
from Qt import QtCore, QtWidgets, Qt

class TrackPropertiesModel(QtCore.QAbstractTableModel):
    """This class is a model for accessing TrackItem properties in the editor
    """
    def __init__(self, trackItems):
        """Constructor for the TrackPropertiesModel class"""
        super().__init__()
        self.trackItems = trackItems
        self.simulation = trackItems[0].simulation
        self.multiType = False
        tiType = type(self.trackItems[0])
        for ti in self.trackItems:
            if type(ti) != tiType:
                self.multiType = True
                break

    def rowCount(self, parent=None, *args):
        """Returns the number of rows of the model, corresponding to the
        number of properties."""
        if self.multiType:
            return len(self.trackItems[0].multiProperties)
        else:
            return len(self.trackItems[0].properties)

    def columnCount(self, parent=None, *args):
        """Returns the number of columns of the model, i.e. 2, one for the
        property name, and one for the property value."""
        return 2

    def data(self, index, role=Qt.DisplayRole):
        """Returns the data at the given index"""

        if role == Qt.DisplayRole or role == Qt.EditRole: