mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-09-28 07:21:31 +12:00
Adds enums
This commit is contained in:
parent
239095a2e3
commit
0cdd017340
6 changed files with 67 additions and 56 deletions
25
src/enums.py
Normal file
25
src/enums.py
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
#--!-- coding: utf8 --!--
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
# As seen on http://stackoverflow.com/questions/36932/how-can-i-represent-an-enum-in-python
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
#def enum(**enums):
|
||||||
|
#return type(str('Enum'), (), enums)
|
||||||
|
|
||||||
|
class Perso(Enum):
|
||||||
|
name = 0
|
||||||
|
ID = 1
|
||||||
|
importance = 2
|
||||||
|
motivation = 3
|
||||||
|
goal = 4
|
||||||
|
conflict = 5
|
||||||
|
epiphany = 6
|
||||||
|
summarySentance = 7
|
||||||
|
summaryPara = 8
|
||||||
|
summaryFull = 9
|
||||||
|
|
|
@ -9,6 +9,7 @@ from PyQt4.QtGui import *
|
||||||
|
|
||||||
from ui.mainWindow import *
|
from ui.mainWindow import *
|
||||||
from loadSave import *
|
from loadSave import *
|
||||||
|
from enums import *
|
||||||
|
|
||||||
class MainWindow(QMainWindow, Ui_MainWindow):
|
class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -96,13 +97,11 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
# Persos
|
# Persos
|
||||||
self.mdlPersos = QStandardItemModel(0, 10)
|
self.mdlPersos = QStandardItemModel(0, 10)
|
||||||
self.mdlPersosInfos = QStandardItemModel(1, 0)
|
self.mdlPersosInfos = QStandardItemModel(1, 0)
|
||||||
self.mdlPersosInfos.insertColumn(0, [QStandardItem(i) for i in ["ID"]])
|
self.mdlPersosInfos.insertColumn(0, [QStandardItem("ID")])
|
||||||
self.mdlPersosInfos.setHorizontalHeaderLabels(["Description"])
|
self.mdlPersosInfos.setHorizontalHeaderLabels(["Description"])
|
||||||
self.lstPersos.setModel(self.mdlPersos)
|
self.lstPersos.setModel(self.mdlPersos)
|
||||||
self.tblDebugPersos.setModel(self.mdlPersos)
|
|
||||||
self.tblPersoInfos.setModel(self.mdlPersosInfos)
|
self.tblPersoInfos.setModel(self.mdlPersosInfos)
|
||||||
self.tblPersoInfos.setRowHidden(0, True)
|
self.tblPersoInfos.setRowHidden(0, True)
|
||||||
self.tblDebugPersosInfos.setModel(self.mdlPersosInfos)
|
|
||||||
|
|
||||||
self.btnAddPerso.clicked.connect(self.createPerso)
|
self.btnAddPerso.clicked.connect(self.createPerso)
|
||||||
self.btnRmPerso.clicked.connect(self.removePerso)
|
self.btnRmPerso.clicked.connect(self.removePerso)
|
||||||
|
@ -111,18 +110,18 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
self.mprPersos.setModel(self.mdlPersos)
|
self.mprPersos.setModel(self.mdlPersos)
|
||||||
|
|
||||||
mapping = [
|
mapping = [
|
||||||
(self.txtPersoName, 0),
|
(self.txtPersoName, Perso.name.value),
|
||||||
(self.txtPersoMotivation, 2),
|
(self.txtPersoMotivation, Perso.motivation.value),
|
||||||
(self.txtPersoGoal, 3),
|
(self.txtPersoGoal, Perso.goal.value),
|
||||||
(self.txtPersoConflict, 4),
|
(self.txtPersoConflict, Perso.conflict.value),
|
||||||
(self.txtPersoEpiphany, 5),
|
(self.txtPersoEpiphany, Perso.epiphany.value),
|
||||||
(self.txtPersoSummarySentance, 6),
|
(self.txtPersoSummarySentance, Perso.summarySentance.value),
|
||||||
(self.txtPersoSummaryPara, 7),
|
(self.txtPersoSummaryPara, Perso.summaryPara.value),
|
||||||
(self.txtPersoSummaryFull, 8)
|
(self.txtPersoSummaryFull, Perso.summaryFull.value)
|
||||||
]
|
]
|
||||||
for w, i in mapping:
|
for w, i in mapping:
|
||||||
self.mprPersos.addMapping(w, i)
|
self.mprPersos.addMapping(w, i)
|
||||||
self.mprPersos.addMapping(self.sldPersoImportance, 8, "importance")
|
self.mprPersos.addMapping(self.sldPersoImportance, Perso.importance.value, "importance")
|
||||||
self.sldPersoImportance.importanceChanged.connect(self.mprPersos.submit)
|
self.sldPersoImportance.importanceChanged.connect(self.mprPersos.submit)
|
||||||
|
|
||||||
self.mprPersos.setCurrentIndex(0)
|
self.mprPersos.setCurrentIndex(0)
|
||||||
|
@ -133,6 +132,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
#Debug
|
#Debug
|
||||||
self.mdlFlatData.setVerticalHeaderLabels(["Infos générales", "Summary"])
|
self.mdlFlatData.setVerticalHeaderLabels(["Infos générales", "Summary"])
|
||||||
self.tblDebugFlatData.setModel(self.mdlFlatData)
|
self.tblDebugFlatData.setModel(self.mdlFlatData)
|
||||||
|
self.tblDebugPersos.setModel(self.mdlPersos)
|
||||||
|
self.tblDebugPersosInfos.setModel(self.mdlPersosInfos)
|
||||||
|
|
||||||
|
|
||||||
self.loadProject("test_project")
|
self.loadProject("test_project")
|
||||||
|
@ -156,7 +157,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
"Returns an unused perso ID (row 1)"
|
"Returns an unused perso ID (row 1)"
|
||||||
vals = []
|
vals = []
|
||||||
for i in range(self.mdlPersos.rowCount()):
|
for i in range(self.mdlPersos.rowCount()):
|
||||||
item = self.mdlPersos.item(i, 1)
|
item = self.mdlPersos.item(i, Perso.ID.value)
|
||||||
if item and item.text():
|
if item and item.text():
|
||||||
vals.append(int(item.text()))
|
vals.append(int(item.text()))
|
||||||
|
|
||||||
|
@ -168,11 +169,11 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
"Checks whether some persos ID (row 1) are empty, if so, assign an ID"
|
"Checks whether some persos ID (row 1) are empty, if so, assign an ID"
|
||||||
empty = []
|
empty = []
|
||||||
for i in range(self.mdlPersos.rowCount()):
|
for i in range(self.mdlPersos.rowCount()):
|
||||||
item = self.mdlPersos.item(i, 1)
|
item = self.mdlPersos.item(i, Perso.ID.value)
|
||||||
if not item:
|
if not item:
|
||||||
item = QStandardItem()
|
item = QStandardItem()
|
||||||
item.setText(self.getPersosID())
|
item.setText(self.getPersosID())
|
||||||
self.mdlPersos.setItem(i, 1, item)
|
self.mdlPersos.setItem(i, Perso.ID.value, item)
|
||||||
|
|
||||||
def removePerso(self):
|
def removePerso(self):
|
||||||
i = self.lstPersos.currentIndex()
|
i = self.lstPersos.currentIndex()
|
||||||
|
@ -181,7 +182,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
|
|
||||||
def changeCurrentPerso(self, trash=None):
|
def changeCurrentPerso(self, trash=None):
|
||||||
idx = self.lstPersos.currentIndex()
|
idx = self.lstPersos.currentIndex()
|
||||||
pid = self.mdlPersos.item(idx.row(), 1).text()
|
pid = self.mdlPersos.item(idx.row(), Perso.ID.value).text()
|
||||||
for c in range(self.mdlPersosInfos.columnCount()):
|
for c in range(self.mdlPersosInfos.columnCount()):
|
||||||
pid2 = self.mdlPersosInfos.item(0, c).text()
|
pid2 = self.mdlPersosInfos.item(0, c).text()
|
||||||
self.tblPersoInfos.setColumnHidden(c, c <> 0 and pid <> pid2)
|
self.tblPersoInfos.setColumnHidden(c, c <> 0 and pid <> pid2)
|
||||||
|
@ -208,6 +209,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
|
|
||||||
# Stuff
|
# Stuff
|
||||||
self.checkPersosID()
|
self.checkPersosID()
|
||||||
|
# Adds header labels
|
||||||
|
self.mdlPersos.setHorizontalHeaderLabels(
|
||||||
|
[i.name for i in Perso])
|
||||||
|
|
||||||
def readSettings(self):
|
def readSettings(self):
|
||||||
# Load State and geometry
|
# Load State and geometry
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
# Form implementation generated from reading ui file 'src/ui/mainWindow.ui'
|
# Form implementation generated from reading ui file 'src/ui/mainWindow.ui'
|
||||||
#
|
#
|
||||||
# Created: Sun May 31 22:39:01 2015
|
# Created: Mon Jun 1 12:00:14 2015
|
||||||
# by: PyQt4 UI code generator 4.11.3
|
# by: PyQt4 UI code generator 4.10.4
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING! All changes made in this file will be lost!
|
||||||
|
|
||||||
|
@ -983,7 +983,7 @@ class Ui_MainWindow(object):
|
||||||
self.menubar.addAction(self.menuMode.menuAction())
|
self.menubar.addAction(self.menuMode.menuAction())
|
||||||
|
|
||||||
self.retranslateUi(MainWindow)
|
self.retranslateUi(MainWindow)
|
||||||
self.tabMain.setCurrentIndex(6)
|
self.tabMain.setCurrentIndex(2)
|
||||||
self.tabSummary.setCurrentIndex(0)
|
self.tabSummary.setCurrentIndex(0)
|
||||||
self.tabPersos.setCurrentIndex(0)
|
self.tabPersos.setCurrentIndex(0)
|
||||||
self.tabPlot.setCurrentIndex(0)
|
self.tabPlot.setCurrentIndex(0)
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="tabMain">
|
<widget class="QTabWidget" name="tabMain">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>6</number>
|
<number>2</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="documentMode">
|
<property name="documentMode">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
|
|
|
@ -6,41 +6,41 @@
|
||||||
<label row="1" text="2"/>
|
<label row="1" text="2"/>
|
||||||
</vertical>
|
</vertical>
|
||||||
<horizontal>
|
<horizontal>
|
||||||
<label row="0" text="1"/>
|
<label row="0" text="name"/>
|
||||||
<label row="1" text="2"/>
|
<label row="1" text="ID"/>
|
||||||
<label row="2" text="3"/>
|
<label row="2" text="importance"/>
|
||||||
<label row="3" text="4"/>
|
<label row="3" text="motivation"/>
|
||||||
<label row="4" text="5"/>
|
<label row="4" text="goal"/>
|
||||||
<label row="5" text="6"/>
|
<label row="5" text="conflict"/>
|
||||||
<label row="6" text="7"/>
|
<label row="6" text="epiphany"/>
|
||||||
<label row="7" text="8"/>
|
<label row="7" text="summarySentance"/>
|
||||||
<label row="8" text="9"/>
|
<label row="8" text="summaryPara"/>
|
||||||
<label row="9" text="10"/>
|
<label row="9" text="summaryFull"/>
|
||||||
</horizontal>
|
</horizontal>
|
||||||
</header>
|
</header>
|
||||||
<data>
|
<data>
|
||||||
<row row="0">
|
<row row="0">
|
||||||
<col col="0">Albert</col>
|
<col col="0">Albert</col>
|
||||||
<col col="1">0</col>
|
<col col="1">0</col>
|
||||||
<col col="2"></col>
|
<col col="2">2</col>
|
||||||
<col col="3"></col>
|
<col col="3"></col>
|
||||||
<col col="4"></col>
|
<col col="4"></col>
|
||||||
<col col="5"></col>
|
<col col="5"></col>
|
||||||
<col col="6"></col>
|
<col col="6"></col>
|
||||||
<col col="7"></col>
|
<col col="7"></col>
|
||||||
<col col="8">1</col>
|
<col col="8"></col>
|
||||||
<col col="9"></col>
|
<col col="9"></col>
|
||||||
</row>
|
</row>
|
||||||
<row row="1">
|
<row row="1">
|
||||||
<col col="0">Jean</col>
|
<col col="0">Ginette</col>
|
||||||
<col col="1">1</col>
|
<col col="1">1</col>
|
||||||
<col col="2"></col>
|
<col col="2">1</col>
|
||||||
<col col="3"></col>
|
<col col="3"></col>
|
||||||
<col col="4"></col>
|
<col col="4"></col>
|
||||||
<col col="5"></col>
|
<col col="5"></col>
|
||||||
<col col="6"></col>
|
<col col="6"></col>
|
||||||
<col col="7"></col>
|
<col col="7"></col>
|
||||||
<col col="8">2</col>
|
<col col="8"></col>
|
||||||
<col col="9"></col>
|
<col col="9"></col>
|
||||||
</row>
|
</row>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -4,9 +4,6 @@
|
||||||
<vertical>
|
<vertical>
|
||||||
<label row="0" text="1"/>
|
<label row="0" text="1"/>
|
||||||
<label row="1" text="2"/>
|
<label row="1" text="2"/>
|
||||||
<label row="2" text="3"/>
|
|
||||||
<label row="3" text="4"/>
|
|
||||||
<label row="4" text="5"/>
|
|
||||||
</vertical>
|
</vertical>
|
||||||
<horizontal>
|
<horizontal>
|
||||||
<label row="0" text="Description"/>
|
<label row="0" text="Description"/>
|
||||||
|
@ -21,24 +18,9 @@
|
||||||
<col col="2">1</col>
|
<col col="2">1</col>
|
||||||
</row>
|
</row>
|
||||||
<row row="1">
|
<row row="1">
|
||||||
<col col="0">Àge</col>
|
<col col="0">Age</col>
|
||||||
<col col="1">14</col>
|
<col col="1">42</col>
|
||||||
<col col="2">42</col>
|
<col col="2">12</col>
|
||||||
</row>
|
|
||||||
<row row="2">
|
|
||||||
<col col="0">Animal favori</col>
|
|
||||||
<col col="1"></col>
|
|
||||||
<col col="2"></col>
|
|
||||||
</row>
|
|
||||||
<row row="3">
|
|
||||||
<col col="0">Histoire préférée</col>
|
|
||||||
<col col="1"></col>
|
|
||||||
<col col="2"></col>
|
|
||||||
</row>
|
|
||||||
<row row="4">
|
|
||||||
<col col="0">Couleur des cheveux</col>
|
|
||||||
<col col="1"></col>
|
|
||||||
<col col="2"></col>
|
|
||||||
</row>
|
</row>
|
||||||
</data>
|
</data>
|
||||||
</model>
|
</model>
|
||||||
|
|
Loading…
Reference in a new issue