Towards a much better, multi-item, property view

This commit is contained in:
Olivier Keshavjee 2015-06-10 21:23:35 +02:00
parent 7f826b83d9
commit 56306a819c
13 changed files with 700 additions and 233 deletions

View file

@ -1,6 +1,7 @@
FORMS += ../src/ui/mainWindow.ui
FORMS += ../src/ui/sldImportance_ui.ui
FORMS += ../src/ui/editors/editorWidget_ui.ui
FORMS += ../src/ui/views/propertiesView_ui.ui
SOURCES += ../src/main.py

View file

@ -21,6 +21,12 @@ def toFloat(text):
else:
return 0.
def toString(text):
if text == None:
return ""
else:
return str(text)
def drawProgress(painter, rect, progress, radius=0):
painter.setPen(Qt.NoPen)
painter.setBrush(QColor("#dddddd"))

View file

@ -163,6 +163,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.treePlanOutline.setModelPersos(self.mdlPersos)
self.treePlanOutline.setModelLabels(self.mdlLabels)
self.treePlanOutline.setModelStatus(self.mdlStatus)
self.viewRedacProperties.setModels(self.mdlOutline, self.mdlPersos, self.mdlLabels, self.mdlStatus)
self.treePlanOutline.setModel(self.mdlOutline)
self.cmbPlanPOV.setModels(self.mdlPersos, self.mdlOutline)
@ -192,29 +193,19 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.btnRedacRemoveItem.clicked.connect(self.outlineRemoveItems)
self.btnPlanRemoveItem.clicked.connect(self.outlineRemoveItems)
self.cmbRedacPOV.setModels(self.mdlPersos, self.mdlOutline)
self.cmbRedacLabel.setModels(self.mdlLabels, self.mdlOutline)
self.cmbRedacStatus.setModels(self.mdlStatus, self.mdlOutline)
#self.chkRedacCompile.setModel(self.mdlOutline)
self.mprOutline = QDataWidgetMapper()
self.mprOutline.setModel(self.mdlOutline)
mapping = [
(self.txtRedacSummarySentance, Outline.summarySentance.value),
(self.txtRedacSummaryFull, Outline.summaryFull.value),
(self.txtRedacNotes, Outline.notes.value),
(self.txtRedacTitle, Outline.title.value),
(self.txtRedacGoal, Outline.setGoal.value)
(self.txtRedacNotes, Outline.notes.value)
]
for w, i in mapping:
self.mprOutline.addMapping(w, i)
self.treeRedacOutline.selectionModel().currentChanged.connect(lambda idx: self.mprOutline.setRootIndex(idx.parent()))
self.treeRedacOutline.selectionModel().currentChanged.connect(self.mprOutline.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.cmbRedacPOV.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.cmbRedacLabel.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.cmbRedacStatus.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.chkRedacCompile.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().selectionChanged.connect(lambda: self.viewRedacProperties.selectionChanged(self.treeRedacOutline))
#self.treeRedacOutline.selectionModel().currentChanged.connect(self.redacEditor.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().selectionChanged.connect(self.redacEditor.setView)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.redacEditor.txtRedacText.setCurrentModelIndex)

View file

@ -70,6 +70,8 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
index = QModelIndex()
item = self._model.rootItem
self.currentIndex = index
def addTitle(itm):
edt = customTextEdit(self, html="<h{l}>{t}</h{l}>".format(l=min(itm.level()+1, 5), t=itm.title()), autoResize=True)
edt.setFrameShape(QFrame.NoFrame)

View file

@ -831,16 +831,6 @@ class Ui_MainWindow(object):
self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.layoutWidget1)
self.verticalLayout_16.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_16.setObjectName("verticalLayout_16")
self.txtRedacTitle = QtWidgets.QLineEdit(self.layoutWidget1)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.txtRedacTitle.setFont(font)
self.txtRedacTitle.setStyleSheet("background:transparent;")
self.txtRedacTitle.setText("")
self.txtRedacTitle.setFrame(False)
self.txtRedacTitle.setObjectName("txtRedacTitle")
self.verticalLayout_16.addWidget(self.txtRedacTitle)
self.redacEditor = editorWidget(self.layoutWidget1)
self.redacEditor.setObjectName("redacEditor")
self.verticalLayout_16.addWidget(self.redacEditor)
@ -928,66 +918,13 @@ class Ui_MainWindow(object):
self.groupBox_4.setFlat(True)
self.groupBox_4.setCheckable(True)
self.groupBox_4.setObjectName("groupBox_4")
self.formLayout_5 = QtWidgets.QFormLayout(self.groupBox_4)
self.formLayout_5.setContentsMargins(0, 0, 0, 0)
self.formLayout_5.setObjectName("formLayout_5")
self.lblRedacPOV = QtWidgets.QLabel(self.groupBox_4)
self.lblRedacPOV.setObjectName("lblRedacPOV")
self.formLayout_5.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.lblRedacPOV)
self.cmbRedacPOV = cmbOutlinePersoChoser(self.groupBox_4)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbRedacPOV.sizePolicy().hasHeightForWidth())
self.cmbRedacPOV.setSizePolicy(sizePolicy)
self.cmbRedacPOV.setFrame(False)
self.cmbRedacPOV.setObjectName("cmbRedacPOV")
self.formLayout_5.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.cmbRedacPOV)
self.label_30 = QtWidgets.QLabel(self.groupBox_4)
self.label_30.setObjectName("label_30")
self.formLayout_5.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_30)
self.cmbRedacStatus = cmbOutlineStatusChoser(self.groupBox_4)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbRedacStatus.sizePolicy().hasHeightForWidth())
self.cmbRedacStatus.setSizePolicy(sizePolicy)
self.cmbRedacStatus.setFrame(False)
self.cmbRedacStatus.setObjectName("cmbRedacStatus")
self.formLayout_5.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.cmbRedacStatus)
self.label_32 = QtWidgets.QLabel(self.groupBox_4)
self.label_32.setObjectName("label_32")
self.formLayout_5.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_32)
self.chkRedacCompile = chkOutlineCompile(self.groupBox_4)
self.chkRedacCompile.setText("")
self.chkRedacCompile.setObjectName("chkRedacCompile")
self.formLayout_5.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.chkRedacCompile)
self.label_29 = QtWidgets.QLabel(self.groupBox_4)
self.label_29.setObjectName("label_29")
self.formLayout_5.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_29)
self.txtRedacGoal = QtWidgets.QLineEdit(self.groupBox_4)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.txtRedacGoal.sizePolicy().hasHeightForWidth())
self.txtRedacGoal.setSizePolicy(sizePolicy)
self.txtRedacGoal.setAutoFillBackground(False)
self.txtRedacGoal.setStyleSheet("border-radius: 6px;")
self.txtRedacGoal.setFrame(False)
self.txtRedacGoal.setObjectName("txtRedacGoal")
self.formLayout_5.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.txtRedacGoal)
self.label_33 = QtWidgets.QLabel(self.groupBox_4)
self.label_33.setObjectName("label_33")
self.formLayout_5.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_33)
self.cmbRedacLabel = cmbOutlineLabelChoser(self.groupBox_4)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbRedacLabel.sizePolicy().hasHeightForWidth())
self.cmbRedacLabel.setSizePolicy(sizePolicy)
self.cmbRedacLabel.setFrame(False)
self.cmbRedacLabel.setObjectName("cmbRedacLabel")
self.formLayout_5.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.cmbRedacLabel)
self.verticalLayout_28 = QtWidgets.QVBoxLayout(self.groupBox_4)
self.verticalLayout_28.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_28.setObjectName("verticalLayout_28")
self.viewRedacProperties = propertiesView(self.groupBox_4)
self.viewRedacProperties.setMinimumSize(QtCore.QSize(0, 50))
self.viewRedacProperties.setObjectName("viewRedacProperties")
self.verticalLayout_28.addWidget(self.viewRedacProperties)
self.verticalLayout_20.addWidget(self.groupBox_4)
self.groupBox_5 = collapsibleGroupBox2(self.tab_17)
self.groupBox_5.setFlat(True)
@ -1312,12 +1249,6 @@ class Ui_MainWindow(object):
self.btnRedacFolderOutline.setText(_translate("MainWindow", "Outline"))
self.btnRedacFullscreen.setShortcut(_translate("MainWindow", "F11"))
self.groupBox_4.setTitle(_translate("MainWindow", "Properties"))
self.lblRedacPOV.setText(_translate("MainWindow", "POV"))
self.label_30.setText(_translate("MainWindow", "Status"))
self.label_32.setText(_translate("MainWindow", "Compile"))
self.label_29.setText(_translate("MainWindow", "Goal"))
self.txtRedacGoal.setPlaceholderText(_translate("MainWindow", "Word count"))
self.label_33.setText(_translate("MainWindow", "Label"))
self.groupBox_5.setTitle(_translate("MainWindow", "Scene summary"))
self.txtRedacSummarySentance.setPlaceholderText(_translate("MainWindow", "One line scene summary"))
self.groupBox_6.setTitle(_translate("MainWindow", "Notes"))
@ -1368,12 +1299,10 @@ class Ui_MainWindow(object):
self.actLabels.setText(_translate("MainWindow", "Labels..."))
self.actStatus.setText(_translate("MainWindow", "Status..."))
from ui.collapsibleGroupBox2 import collapsibleGroupBox2
from ui.cmbOutlineLabelChoser import cmbOutlineLabelChoser
from ui.sldImportance import sldImportance
from ui.cmbOutlineStatusChoser import cmbOutlineStatusChoser
from ui.views.outlineView import outlineView
from ui.chkOutlineCompile import chkOutlineCompile
from ui.views.treeView import treeView
from ui.editors.editorWidget import editorWidget
from ui.cmbOutlinePersoChoser import cmbOutlinePersoChoser
from ui.views.outlineView import outlineView
from ui.sldImportance import sldImportance
from ui.collapsibleGroupBox2 import collapsibleGroupBox2
from ui.editors.editorWidget import editorWidget
from ui.views.propertiesView import propertiesView

View file

@ -1608,25 +1608,6 @@
</widget>
<widget class="QWidget" name="layoutWidget">
<layout class="QVBoxLayout" name="verticalLayout_16">
<item>
<widget class="QLineEdit" name="txtRedacTitle">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background:transparent;</string>
</property>
<property name="text">
<string/>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="editorWidget" name="redacEditor" native="true"/>
</item>
@ -1840,110 +1821,17 @@
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QFormLayout" name="formLayout_5">
<layout class="QVBoxLayout" name="verticalLayout_28">
<property name="margin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="lblRedacPOV">
<property name="text">
<string>POV</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="cmbOutlinePersoChoser" name="cmbRedacPOV">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_30">
<property name="text">
<string>Status</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="cmbOutlineStatusChoser" name="cmbRedacStatus">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_32">
<property name="text">
<string>Compile</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="chkOutlineCompile" name="chkRedacCompile">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_29">
<property name="text">
<string>Goal</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="txtRedacGoal">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 6px;</string>
</property>
<property name="frame">
<bool>false</bool>
</property>
<property name="placeholderText">
<string>Word count</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_33">
<property name="text">
<string>Label</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="cmbOutlineLabelChoser" name="cmbRedacLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
<item>
<widget class="propertiesView" name="viewRedacProperties" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
</widget>
</item>
@ -2353,16 +2241,6 @@
<extends>QComboBox</extends>
<header>ui.cmbOutlinePersoChoser.h</header>
</customwidget>
<customwidget>
<class>cmbOutlineStatusChoser</class>
<extends>QComboBox</extends>
<header>ui.cmbOutlineStatusChoser.h</header>
</customwidget>
<customwidget>
<class>chkOutlineCompile</class>
<extends>QCheckBox</extends>
<header>ui.chkOutlineCompile.h</header>
</customwidget>
<customwidget>
<class>editorWidget</class>
<extends>QWidget</extends>
@ -2386,9 +2264,10 @@
<header>ui.views.treeView.h</header>
</customwidget>
<customwidget>
<class>cmbOutlineLabelChoser</class>
<extends>QComboBox</extends>
<header>ui.cmbOutlineLabelChoser.h</header>
<class>propertiesView</class>
<extends>QWidget</extends>
<header>ui.views.propertiesView.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>

View file

@ -90,7 +90,7 @@ class Ui_Settings(object):
self.verticalLayout.addWidget(self.tabWidget)
self.retranslateUi(Settings)
self.tabWidget.setCurrentIndex(1)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(Settings)
def retranslateUi(self, Settings):

View file

@ -17,7 +17,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">

View file

@ -0,0 +1,108 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from qt import *
from enums import *
from functions import *
class lineEditView(QLineEdit):
def __init__(self, parent=None):
QLineEdit.__init__(self, parent)
self._column = Outline.title.value
self._indexes = None
self._index = None
self._placeholderText = None
self._updating = False
def setModel(self, model):
self._model = model
def setColumn(self, col):
self._column = col
def setCurrentModelIndex(self, index):
self._indexes = None
if index.isValid():
if index.column() != self._column:
index = index.sibling(index.row(), self._column)
self._index = index
self.item = index.internalPointer()
if self._placeholderText != None:
self.setPlaceholderText(self._placeholderText)
self.textEdited.connect(self.submit)
self._model.dataChanged.connect(self.update)
self.updateText()
def setCurrentModelIndexes(self, indexes):
self._indexes = []
self._index = None
for i in indexes:
if i.isValid():
if i.column() != self._column:
i = i.sibling(i.row(), self._column)
self._indexes.append(i)
self.textEdited.connect(self.submit)
self._model.dataChanged.connect(self.update)
self.updateText()
def submit(self):
if self._index:
item = self._index.internalPointer()
if self.text() != item.data(self._column):
self._model.setData(self._index, self.text())
elif self._indexes:
self._updating = True
for i in self._indexes:
item = i.internalPointer()
if self.text() != item.data(self._column):
self._model.setData(i, self.text())
self._updating = False
def update(self, topLeft, bottomRight):
if self._updating:
# We are currently putting data in the model, so no updates
return
if self._index:
if topLeft.row() <= self._index.row() <= bottomRight.row():
self.updateText()
elif self._indexes:
update = False
for i in self._indexes:
if topLeft.row() <= i.row() <= bottomRight.row():
update = True
if update:
self.updateText()
def updateText(self):
if self._index:
item = self._index.internalPointer()
txt = toString(item.data(self._column))
if self.text() != txt:
self.setText(txt)
elif self._indexes:
t = []
same = True
for i in self._indexes:
item = i.internalPointer()
t.append(str(item.data(self._column)))
for t2 in t[1:]:
if t2 != t[0]:
same = False
if same:
self.setText(t[0])
else:
self.setText("")
self._placeholderText = self.placeholderText()
self.setPlaceholderText("Various")

View file

@ -0,0 +1,58 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from qt import *
from enums import *
from ui.views.propertiesView_ui import *
class propertiesView(QWidget, Ui_propertiesView):
def __init__(self, parent=None):
QWidget.__init__(self)
self.setupUi(self)
self.txtGoal.setColumn(Outline.setGoal.value)
def setModels(self, mdlOutline, mdlPersos, mdlLabels, mdlStatus):
self.cmbPOV.setModels(mdlPersos, mdlOutline)
self.cmbLabel.setModels(mdlLabels, mdlOutline)
self.cmbStatus.setModels(mdlStatus, mdlOutline)
self.chkCompile.setModel(mdlOutline)
self.txtTitle.setModel(mdlOutline)
self.txtGoal.setModel(mdlOutline)
def getIndexes(self, sourceView):
"Returns a list of indexes from list of QItemSelectionRange"
indexes = []
for i in sourceView.selectionModel().selection().indexes():
if i.column() != 0:
continue
if i not in indexes:
indexes.append(i)
return indexes
def selectionChanged(self, sourceView):
indexes = self.getIndexes(sourceView)
#print(indexes)
if len(indexes) == 0:
self.setEnabled(False)
elif len(indexes) == 1:
self.setEnabled(True)
idx = indexes[0]
self.cmbPOV.setCurrentModelIndex(idx)
self.cmbLabel.setCurrentModelIndex(idx)
self.cmbStatus.setCurrentModelIndex(idx)
self.chkCompile.setCurrentModelIndex(idx)
self.txtTitle.setCurrentModelIndex(idx)
self.txtGoal.setCurrentModelIndex(idx)
else:
print("Multiple selection, Work in progress")
self.txtTitle.setCurrentModelIndexes(indexes)
self.txtGoal.setCurrentModelIndexes(indexes)
#FIXME: do the other views

View file

@ -0,0 +1,188 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/ui/views/propertiesView_ui.ui'
#
# Created by: PyQt5 UI code generator 5.4.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_propertiesView(object):
def setupUi(self, propertiesView):
propertiesView.setObjectName("propertiesView")
propertiesView.resize(192, 153)
self.verticalLayout = QtWidgets.QVBoxLayout(propertiesView)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.txtTitle = lineEditView(propertiesView)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.txtTitle.setFont(font)
self.txtTitle.setStyleSheet("background:transparent;")
self.txtTitle.setFrame(False)
self.txtTitle.setObjectName("txtTitle")
self.verticalLayout.addWidget(self.txtTitle)
self.stack = QtWidgets.QStackedWidget(propertiesView)
self.stack.setObjectName("stack")
self.page = QtWidgets.QWidget()
self.page.setObjectName("page")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.formLayout = QtWidgets.QFormLayout()
self.formLayout.setObjectName("formLayout")
self.lblPOV = QtWidgets.QLabel(self.page)
self.lblPOV.setObjectName("lblPOV")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.lblPOV)
self.cmbPOV = cmbOutlinePersoChoser(self.page)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbPOV.sizePolicy().hasHeightForWidth())
self.cmbPOV.setSizePolicy(sizePolicy)
self.cmbPOV.setFrame(False)
self.cmbPOV.setObjectName("cmbPOV")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.cmbPOV)
self.label_30 = QtWidgets.QLabel(self.page)
self.label_30.setObjectName("label_30")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_30)
self.cmbStatus = cmbOutlineStatusChoser(self.page)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbStatus.sizePolicy().hasHeightForWidth())
self.cmbStatus.setSizePolicy(sizePolicy)
self.cmbStatus.setFrame(False)
self.cmbStatus.setObjectName("cmbStatus")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.cmbStatus)
self.label_33 = QtWidgets.QLabel(self.page)
self.label_33.setObjectName("label_33")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_33)
self.cmbLabel = cmbOutlineLabelChoser(self.page)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbLabel.sizePolicy().hasHeightForWidth())
self.cmbLabel.setSizePolicy(sizePolicy)
self.cmbLabel.setFrame(False)
self.cmbLabel.setObjectName("cmbLabel")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.cmbLabel)
self.label_32 = QtWidgets.QLabel(self.page)
self.label_32.setObjectName("label_32")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_32)
self.chkCompile = chkOutlineCompile(self.page)
self.chkCompile.setText("")
self.chkCompile.setObjectName("chkCompile")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.chkCompile)
self.label_29 = QtWidgets.QLabel(self.page)
self.label_29.setObjectName("label_29")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_29)
self.txtGoal = lineEditView(self.page)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.txtGoal.sizePolicy().hasHeightForWidth())
self.txtGoal.setSizePolicy(sizePolicy)
self.txtGoal.setAutoFillBackground(False)
self.txtGoal.setStyleSheet("border-radius: 6px;")
self.txtGoal.setFrame(False)
self.txtGoal.setObjectName("txtGoal")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.txtGoal)
self.verticalLayout_2.addLayout(self.formLayout)
self.stack.addWidget(self.page)
self.page_2 = QtWidgets.QWidget()
self.page_2.setObjectName("page_2")
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page_2)
self.verticalLayout_3.setSpacing(0)
self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.formLayout_2 = QtWidgets.QFormLayout()
self.formLayout_2.setObjectName("formLayout_2")
self.lblPOV_2 = QtWidgets.QLabel(self.page_2)
self.lblPOV_2.setObjectName("lblPOV_2")
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.lblPOV_2)
self.cmbPOVMulti = cmbOutlinePersoChoser(self.page_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbPOVMulti.sizePolicy().hasHeightForWidth())
self.cmbPOVMulti.setSizePolicy(sizePolicy)
self.cmbPOVMulti.setFrame(False)
self.cmbPOVMulti.setObjectName("cmbPOVMulti")
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.cmbPOVMulti)
self.label_31 = QtWidgets.QLabel(self.page_2)
self.label_31.setObjectName("label_31")
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_31)
self.cmbStatusMulti = cmbOutlineStatusChoser(self.page_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbStatusMulti.sizePolicy().hasHeightForWidth())
self.cmbStatusMulti.setSizePolicy(sizePolicy)
self.cmbStatusMulti.setFrame(False)
self.cmbStatusMulti.setObjectName("cmbStatusMulti")
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.cmbStatusMulti)
self.label_34 = QtWidgets.QLabel(self.page_2)
self.label_34.setObjectName("label_34")
self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_34)
self.cmbLabelMulti = cmbOutlineLabelChoser(self.page_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbLabelMulti.sizePolicy().hasHeightForWidth())
self.cmbLabelMulti.setSizePolicy(sizePolicy)
self.cmbLabelMulti.setFrame(False)
self.cmbLabelMulti.setObjectName("cmbLabelMulti")
self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.cmbLabelMulti)
self.label_35 = QtWidgets.QLabel(self.page_2)
self.label_35.setObjectName("label_35")
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_35)
self.chkCompileMulti = chkOutlineCompile(self.page_2)
self.chkCompileMulti.setText("")
self.chkCompileMulti.setObjectName("chkCompileMulti")
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.chkCompileMulti)
self.label_36 = QtWidgets.QLabel(self.page_2)
self.label_36.setObjectName("label_36")
self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_36)
self.txtGoalMulti = lineEditView(self.page_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.txtGoalMulti.sizePolicy().hasHeightForWidth())
self.txtGoalMulti.setSizePolicy(sizePolicy)
self.txtGoalMulti.setAutoFillBackground(False)
self.txtGoalMulti.setStyleSheet("border-radius: 6px;")
self.txtGoalMulti.setFrame(False)
self.txtGoalMulti.setObjectName("txtGoalMulti")
self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.txtGoalMulti)
self.verticalLayout_3.addLayout(self.formLayout_2)
self.stack.addWidget(self.page_2)
self.verticalLayout.addWidget(self.stack)
self.retranslateUi(propertiesView)
self.stack.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(propertiesView)
def retranslateUi(self, propertiesView):
_translate = QtCore.QCoreApplication.translate
propertiesView.setWindowTitle(_translate("propertiesView", "Form"))
self.lblPOV.setText(_translate("propertiesView", "POV"))
self.label_30.setText(_translate("propertiesView", "Status"))
self.label_33.setText(_translate("propertiesView", "Label"))
self.label_32.setText(_translate("propertiesView", "Compile"))
self.label_29.setText(_translate("propertiesView", "Goal"))
self.txtGoal.setPlaceholderText(_translate("propertiesView", "Word count"))
self.lblPOV_2.setText(_translate("propertiesView", "POV"))
self.label_31.setText(_translate("propertiesView", "Status"))
self.label_34.setText(_translate("propertiesView", "Label"))
self.label_35.setText(_translate("propertiesView", "Compile"))
self.label_36.setText(_translate("propertiesView", "Goal"))
self.txtGoalMulti.setPlaceholderText(_translate("propertiesView", "Word count"))
from ui.chkOutlineCompile import chkOutlineCompile
from ui.cmbOutlineLabelChoser import cmbOutlineLabelChoser
from ui.cmbOutlineStatusChoser import cmbOutlineStatusChoser
from ui.views.lineEditView import lineEditView
from ui.cmbOutlinePersoChoser import cmbOutlinePersoChoser

View file

@ -0,0 +1,305 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>propertiesView</class>
<widget class="QWidget" name="propertiesView">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>192</width>
<height>153</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="lineEditView" name="txtTitle">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background:transparent;</string>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="stack">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="margin">
<number>0</number>
</property>
<item>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="lblPOV">
<property name="text">
<string>POV</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="cmbOutlinePersoChoser" name="cmbPOV">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_30">
<property name="text">
<string>Status</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="cmbOutlineStatusChoser" name="cmbStatus">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_33">
<property name="text">
<string>Label</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="cmbOutlineLabelChoser" name="cmbLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_32">
<property name="text">
<string>Compile</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="chkOutlineCompile" name="chkCompile">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_29">
<property name="text">
<string>Goal</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="lineEditView" name="txtGoal">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 6px;</string>
</property>
<property name="frame">
<bool>false</bool>
</property>
<property name="placeholderText">
<string>Word count</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="lblPOV_2">
<property name="text">
<string>POV</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="cmbOutlinePersoChoser" name="cmbPOVMulti">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_31">
<property name="text">
<string>Status</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="cmbOutlineStatusChoser" name="cmbStatusMulti">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_34">
<property name="text">
<string>Label</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="cmbOutlineLabelChoser" name="cmbLabelMulti">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_35">
<property name="text">
<string>Compile</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="chkOutlineCompile" name="chkCompileMulti">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_36">
<property name="text">
<string>Goal</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="lineEditView" name="txtGoalMulti">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 6px;</string>
</property>
<property name="frame">
<bool>false</bool>
</property>
<property name="placeholderText">
<string>Word count</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>cmbOutlinePersoChoser</class>
<extends>QComboBox</extends>
<header>ui.cmbOutlinePersoChoser.h</header>
</customwidget>
<customwidget>
<class>cmbOutlineStatusChoser</class>
<extends>QComboBox</extends>
<header>ui.cmbOutlineStatusChoser.h</header>
</customwidget>
<customwidget>
<class>chkOutlineCompile</class>
<extends>QCheckBox</extends>
<header>ui.chkOutlineCompile.h</header>
</customwidget>
<customwidget>
<class>cmbOutlineLabelChoser</class>
<extends>QComboBox</extends>
<header>ui.cmbOutlineLabelChoser.h</header>
</customwidget>
<customwidget>
<class>lineEditView</class>
<extends>QLineEdit</extends>
<header>ui.views.lineEditView.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<outlineItem title="root" type="folder" compile="2" wordCount="2118" setGoal="112">
<outlineItem title="root" type="folder" compile="2" wordCount="2124" setGoal="112">
<outlineItem title="Nouveau" type="folder" compile="2" wordCount="15">
<outlineItem title="Nouveau" type="scene" POV="1" label="2" status="2" compile="2" text="return QTextEdit.resizeEvent(self, e) ad ad ad ad adaasd ad adsdasd ad e drset" wordCount="15"/>
</outlineItem>
@ -51,7 +51,7 @@
<outlineItem title="Nouveau" type="scene" label="0" compile="2" text="ASDASd ASD " wordCount="2"/>
<outlineItem title="A" type="scene" label="0" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
</outlineItem>
<outlineItem title="A" type="scene" POV="1" label="0" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
<outlineItem title="Same title" type="scene" POV="1" label="0" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
<outlineItem title="Nouveau" type="folder" status="2" compile="2" wordCount="596">
<outlineItem title="Nouveau" type="scene" POV="0" label="0" status="0" compile="2" text="ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" wordCount="211"/>
<outlineItem title="Titre cool" type="scene" POV="0" label="0" status="1" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
@ -59,5 +59,5 @@
<outlineItem title="Titre cool" type="scene" POV="0" label="1" status="3" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
<outlineItem title="Titre cool" type="scene" POV="0" label="0" status="0" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
</outlineItem>
<outlineItem title="Titre cool" type="scene" POV="2" label="3" status="0" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
<outlineItem title="Same title 2" type="scene" POV="2" label="1" status="0" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd asdasd &#10;&#10;asdasd asd " wordCount="64" setGoal="1000"/>
</outlineItem>