You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.2 KiB
48 lines
1.2 KiB
# encoding: utf-8
|
|
|
|
"""
|
|
|NumberingPart| and closely related objects
|
|
"""
|
|
|
|
from __future__ import (
|
|
absolute_import, division, print_function, unicode_literals
|
|
)
|
|
|
|
from ..opc.part import XmlPart
|
|
from ..shared import lazyproperty
|
|
|
|
|
|
class NumberingPart(XmlPart):
|
|
"""
|
|
Proxy for the numbering.xml part containing numbering definitions for
|
|
a document or glossary.
|
|
"""
|
|
@classmethod
|
|
def new(cls):
|
|
"""
|
|
Return newly created empty numbering part, containing only the root
|
|
``<w:numbering>`` element.
|
|
"""
|
|
raise NotImplementedError
|
|
|
|
@lazyproperty
|
|
def numbering_definitions(self):
|
|
"""
|
|
The |_NumberingDefinitions| instance containing the numbering
|
|
definitions (<w:num> element proxies) for this numbering part.
|
|
"""
|
|
return _NumberingDefinitions(self._element)
|
|
|
|
|
|
class _NumberingDefinitions(object):
|
|
"""
|
|
Collection of |_NumberingDefinition| instances corresponding to the
|
|
``<w:num>`` elements in a numbering part.
|
|
"""
|
|
def __init__(self, numbering_elm):
|
|
super(_NumberingDefinitions, self).__init__()
|
|
self._numbering = numbering_elm
|
|
|
|
def __len__(self):
|
|
return len(self._numbering.num_lst)
|