From fd78999a93710ba53c915779c126e664323a728f Mon Sep 17 00:00:00 2001 From: Treeki Date: Thu, 3 Nov 2011 19:35:50 +0100 Subject: added stuff preparing for the layer system --- src/ui.py | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) (limited to 'src/ui.py') diff --git a/src/ui.py b/src/ui.py index fdb83f2..95ced0c 100644 --- a/src/ui.py +++ b/src/ui.py @@ -4,7 +4,6 @@ from editorui import * class KPLayerList(QtGui.QWidget): class LayerModel(QtCore.QAbstractListModel): - def headerData(self, section, orientation, role = Qt.DisplayRole): return 'Layer' @@ -13,29 +12,66 @@ class KPLayerList(QtGui.QWidget): def data(self, index, role = Qt.DisplayRole): try: - if role == Qt.DisplayRole and index.isValid(): + if (role == Qt.DisplayRole or role == Qt.EditRole) and index.isValid(): return KP.map.layers[index.row()].name except IndexError: pass - return QVariant() + 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): QtGui.QWidget.__init__(self) self.layout = QtGui.QVBoxLayout() + self.layout.setSpacing(0) self.model = KPLayerList.LayerModel() - self.listWidget = QtGui.QListView() - self.listWidget.setModel(self.model) - self.layout.addWidget(self.listWidget) + self.listView = QtGui.QListView() + self.listView.setModel(self.model) + self.layout.addWidget(self.listView) self.toolbar = QtGui.QToolBar() self.layout.addWidget(self.toolbar) + self.setupToolbar(self.toolbar) + self.setLayout(self.layout) + + + def setupToolbar(self, tb): + tb.addAction(QtGui.QIcon(), 'Add', self.addLayer) + tb.addAction(QtGui.QIcon(), 'Remove', self.removeLayer) + tb.addAction(QtGui.QIcon(), 'Move Up', self.moveUp) + tb.addAction(QtGui.QIcon(), 'Move Down', self.moveDown) + + + def addLayer(self): + pass + def removeLayer(self): + pass + def moveUp(self): + pass + def moveDown(self): + pass class KPMainWindow(QtGui.QMainWindow): -- cgit v1.2.3