diff options
Diffstat (limited to '')
-rw-r--r-- | src/ui.py | 48 |
1 files changed, 42 insertions, 6 deletions
@@ -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): |