From 2015541472eb19b8039e98bfeec3aa5678dd0b75 Mon Sep 17 00:00:00 2001 From: Treeki Date: Fri, 4 Nov 2011 00:04:26 +0100 Subject: finally fixed the layer models and such crap --- src/ui.py | 53 ++++++++++++++++------------------------------------- 1 file changed, 16 insertions(+), 37 deletions(-) (limited to 'src/ui.py') diff --git a/src/ui.py b/src/ui.py index 95ced0c..57c396b 100644 --- a/src/ui.py +++ b/src/ui.py @@ -3,38 +3,6 @@ from editorui import * class KPLayerList(QtGui.QWidget): - class LayerModel(QtCore.QAbstractListModel): - def headerData(self, section, orientation, role = Qt.DisplayRole): - return 'Layer' - - def rowCount(self, parent): - return len(KP.map.layers) - - def data(self, index, role = Qt.DisplayRole): - try: - if (role == Qt.DisplayRole or role == Qt.EditRole) and index.isValid(): - return KP.map.layers[index.row()].name - except IndexError: - pass - - return QtCore.QVariant() - - def flags(self, index): - if not index.isValid(): - return Qt.ItemIsEnabled - - return Qt.ItemIsEditable \ - | QtCore.QAbstractListModel.flags(self, index) - - def setData(self, index, value, role = Qt.EditRole): - if index.isValid() and role == Qt.EditRole: - value = str(value.toString()) - if len(value) > 0: - KP.map.layers[index.row()].name = value - self.dataChanged.emit(index, index) - return True - - return False def __init__(self): @@ -43,7 +11,7 @@ class KPLayerList(QtGui.QWidget): self.layout = QtGui.QVBoxLayout() self.layout.setSpacing(0) - self.model = KPLayerList.LayerModel() + self.model = KP.map.layerModel self.listView = QtGui.QListView() self.listView.setModel(self.model) @@ -64,14 +32,25 @@ class KPLayerList(QtGui.QWidget): tb.addAction(QtGui.QIcon(), 'Move Down', self.moveDown) + def selectedLayerIndex(self): + return self.listView.selectionModel().currentIndex().row() + def selectedLayer(self): + return KP.map.layers[self.listView.selectionModel().currentIndex().row()] + + def addLayer(self): - pass + KP.map.appendLayer(KP.map.createNewLayer()) + def removeLayer(self): - pass + KP.map.removeLayer(self.selectedLayer()) + def moveUp(self): - pass + index = self.selectedLayerIndex() + KP.map.moveLayer(index, index - 1) + def moveDown(self): - pass + index = self.selectedLayerIndex() + KP.map.moveLayer(index, index + 2) class KPMainWindow(QtGui.QMainWindow): -- cgit v1.2.3