manuskript/manuskript/models/outlineModel.py

33 lines
927 B
Python
Raw Permalink Normal View History

2015-06-02 10:06:17 +12:00
#!/usr/bin/env python
# --!-- coding: utf8 --!--
2017-11-16 08:33:27 +13:00
from manuskript.models.abstractModel import abstractModel
2019-12-22 04:42:49 +13:00
from manuskript.models.searchableModel import searchableModel
2021-04-09 04:33:27 +12:00
from manuskript.models.outlineItem import outlineItem
2019-12-22 04:42:49 +13:00
class outlineModel(abstractModel, searchableModel):
def __init__(self, parent):
2017-11-16 08:33:27 +13:00
abstractModel.__init__(self, parent)
self.rootItem = outlineItem(model=self, title="Root", ID="0")
2015-07-01 00:01:32 +12:00
def findItemsByPOV(self, POV):
"Returns a list of IDs of all items whose POV is ``POV``."
return self.rootItem.findItemsByPOV(POV)
2019-12-22 04:42:49 +13:00
def searchableItems(self):
result = []
for child in self.rootItem.children():
result += self._searchableItems(child)
return result
def _searchableItems(self, item):
result = [item]
for child in item.children():
result += self._searchableItems(child)
return result