summaryrefslogtreecommitdiff
path: root/src/ui.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui.py')
-rw-r--r--src/ui.py48
1 files changed, 42 insertions, 6 deletions
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):