mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-10-01 01:36:27 +13:00
68 lines
1.7 KiB
Python
68 lines
1.7 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf8 -*-
|
|
|
|
from qt import *
|
|
|
|
|
|
class blockUserData (QTextBlockUserData):
|
|
|
|
@staticmethod
|
|
def getUserData(block):
|
|
"Returns userData if it exists, or a blank one."
|
|
data = block.userData()
|
|
if data is None:
|
|
data = blockUserData()
|
|
return data
|
|
|
|
@staticmethod
|
|
def getUserState(block):
|
|
"Returns the block state."
|
|
state = block.userState()
|
|
while state >= 100:
|
|
state -= 100 # +100 means in a list
|
|
return state
|
|
|
|
def __init__(self):
|
|
QTextBlockUserData.__init__(self)
|
|
self._listLevel = 0
|
|
self._leadingSpaces = 0
|
|
self._emptyLinesBefore = 0
|
|
self._listSymbol = ""
|
|
|
|
def isList(self):
|
|
return self._listLevel > 0
|
|
|
|
def listLevel(self):
|
|
return self._listLevel
|
|
|
|
def setListLevel(self, level):
|
|
self._listLevel = level
|
|
|
|
def listSymbol(self):
|
|
return self._listSymbol
|
|
|
|
def setListSymbol(self, s):
|
|
self._listSymbol = s
|
|
|
|
def leadingSpaces(self):
|
|
return self._leadingSpaces
|
|
|
|
def setLeadingSpaces(self, n):
|
|
self._leadingSpaces = n
|
|
|
|
def emptyLinesBefore(self):
|
|
return self._emptyLinesBefore
|
|
|
|
def setEmptyLinesBefore(self, n):
|
|
self._emptyLinesBefore = n
|
|
|
|
def text(self):
|
|
return str(self.listLevel()) + "|" + str(self.leadingSpaces()) + "|" + str(self.emptyLinesBefore())
|
|
|
|
def __eq__(self, b):
|
|
return self._listLevel == b._listLevel and \
|
|
self._leadingSpaces == b._leadingSpaces and \
|
|
self._emptyLinesBefore == b._emptyLinesBefore
|
|
|
|
def __ne__(self, b):
|
|
return not self == b
|