Source code for

# region Import
from __future__ import annotations
from typing import Any, Tuple

from import KeyValCancelArgs
from ooodev.meta.static_prop import static_prop
from ooodev.format.inner.kind.format_kind import FormatKind
from ooodev.format.inner.style_base import StyleName
from import StyleParaKind as StyleParaKind

# endregion Import

[docs]class Para(StyleName): """ Style Paragraph. Manages Paragraph styles for Writer. Any properties starting with ``prop_`` set or get current instance values. All methods starting with ``fmt_`` can be used to chain together Border Table properties. .. seealso:: - :ref:`help_writer_format_style_para` .. versionadded:: 0.9.0 """
[docs] def __init__(self, name: StyleParaKind | str = "") -> None: """ Constructor Args: name (StyleCharKind, str, optional): Style Name. Defaults to "Standard". Returns: None: See Also: - :ref:`help_writer_format_style_para` """ if name == "": name = Para.default.prop_name super().__init__(name=name)
# region Overrides def _get_family_style_name(self) -> str: return "ParagraphStyles" def _supported_services(self) -> Tuple[str, ...]: try: return self._supported_services_values except AttributeError: self._supported_services_values = ("",) return self._supported_services_values def _get_property_name(self) -> str: try: return self._property_name except AttributeError: self._property_name = "ParaStyleName" return self._property_name
[docs] def on_property_setting(self, source: Any, event_args: KeyValCancelArgs): """ Triggers for each property that is set Args: event_args (KeyValueCancelArgs): Event Args """ # there is only one style property for this class. # if ParaStyleName is set to "" then an error is raised. # Solution is set to "Standard" Which LibreOffice recognizes and set to "" # this event covers apply() and restore() if event_args.value == "": event_args.value = Para.default.prop_name super().on_property_setting(source, event_args)
# endregion Overrides # region Style Properties @property def addressee(self) -> Para: """Style Addressee""" return Para(StyleParaKind.ADDRESSEE) @property def salutation(self) -> Para: """Style Salutation""" return Para(StyleParaKind.SALUTATION) @property def complimentary_close(self) -> Para: """Style Complimentary Close""" return Para(StyleParaKind.SALUTATION) @property def endnote(self) -> Para: """Style Endnote""" return Para(StyleParaKind.ENDNOTE) @property def footnote(self) -> Para: """Style Footnote""" return Para(StyleParaKind.FOOTNOTE) @property def frame_contents(self) -> Para: """Style Frame Contents""" return Para(StyleParaKind.FRAME_CONTENTS) @property def header(self) -> Para: """Style Header""" return Para(StyleParaKind.HEADER) @property def header_footer(self) -> Para: """Style Header Footer""" return Para(StyleParaKind.HEADER_FOOTER) @property def header_left(self) -> Para: """Style Header Left""" return Para(StyleParaKind.HEADER_LEFT) @property def header_right(self) -> Para: """Style Header Right""" return Para(StyleParaKind.HEADER_RIGHT) @property def footer(self) -> Para: """Style Footer""" return Para(StyleParaKind.FOOTER) @property def footer_left(self) -> Para: """Style Footer Left""" return Para(StyleParaKind.FOOTER_LEFT) @property def footer_right(self) -> Para: """Style Footer Right""" return Para(StyleParaKind.FOOTER_RIGHT) @property def heading(self) -> Para: """Style Heading""" return Para(StyleParaKind.HEADING) @property def h1(self) -> Para: """Style Heading 1""" return Para(StyleParaKind.HEADING_1) @property def h2(self) -> Para: """Style Heading 2""" return Para(StyleParaKind.HEADING_2) @property def h3(self) -> Para: """Style Heading 3""" return Para(StyleParaKind.HEADING_3) @property def h4(self) -> Para: """Style Heading 4""" return Para(StyleParaKind.HEADING_4) @property def h5(self) -> Para: """Style Heading 5""" return Para(StyleParaKind.HEADING_5) @property def h6(self) -> Para: """Style Heading 6""" return Para(StyleParaKind.HEADING_6) @property def h7(self) -> Para: """Style Heading 7""" return Para(StyleParaKind.HEADING_7) @property def h8(self) -> Para: """Style Heading 8""" return Para(StyleParaKind.HEADING_8) @property def h9(self) -> Para: """Style Heading 9""" return Para(StyleParaKind.HEADING_9) @property def h10(self) -> Para: """Style Heading 10""" return Para(StyleParaKind.HEADING_10) @property def horizontal_line(self) -> Para: """Style Horizontal Line""" return Para(StyleParaKind.HORIZONTAL_LINE) @property def idx(self) -> Para: """Style Index""" return Para(StyleParaKind.INDEX) @property def idx_bib1(self) -> Para: """Style Bibliography 1""" return Para(StyleParaKind.BIBLIOGRAPHY_1) @property def idx_c1(self) -> Para: """Style Contents 1""" return Para(StyleParaKind.CONTENTS_1) @property def idx_c2(self) -> Para: """Style Contents 2""" return Para(StyleParaKind.CONTENTS_2) @property def idx_c3(self) -> Para: """Style Contents 3""" return Para(StyleParaKind.CONTENTS_3) @property def idx_c4(self) -> Para: """Style Contents 4""" return Para(StyleParaKind.CONTENTS_4) @property def idx_c5(self) -> Para: """Style Contents 5""" return Para(StyleParaKind.CONTENTS_5) @property def idx_c6(self) -> Para: """Style Contents 6""" return Para(StyleParaKind.CONTENTS_6) @property def idx_c7(self) -> Para: """Style Contents 7""" return Para(StyleParaKind.CONTENTS_7) @property def idx_c8(self) -> Para: """Style Contents 8""" return Para(StyleParaKind.CONTENTS_8) @property def idx_c9(self) -> Para: """Style Contents 9""" return Para(StyleParaKind.CONTENTS_9) @property def idx_c10(self) -> Para: """Style Contents 10""" return Para(StyleParaKind.CONTENTS_10) @property def idx_separator(self) -> Para: """Style Index Separator""" return Para(StyleParaKind.INDEX_SEPARATOR) @property def idx_1(self) -> Para: """Style Index 1""" return Para(StyleParaKind.INDEX_1) @property def idx_2(self) -> Para: """Style Index 2""" return Para(StyleParaKind.INDEX_2) @property def idx_3(self) -> Para: """Style Index 3""" return Para(StyleParaKind.INDEX_3) @property def idx_obj1(self) -> Para: """Style Object Index 1""" return Para(StyleParaKind.OBJECT_INDEX_1) @property def idx_tbl1(self) -> Para: """Style Table Index 1""" return Para(StyleParaKind.TABLE_INDEX_1) @property def idx_user1(self) -> Para: """Style User Index 1""" return Para(StyleParaKind.USER_INDEX_1) @property def idx_user2(self) -> Para: """Style User Index 2""" return Para(StyleParaKind.USER_INDEX_2) @property def idx_user3(self) -> Para: """Style User Index 3""" return Para(StyleParaKind.USER_INDEX_3) @property def idx_user4(self) -> Para: """Style User Index 4""" return Para(StyleParaKind.USER_INDEX_4) @property def idx_user5(self) -> Para: """Style User Index 5""" return Para(StyleParaKind.USER_INDEX_5) @property def idx_user6(self) -> Para: """Style User Index 6""" return Para(StyleParaKind.USER_INDEX_6) @property def idx_user7(self) -> Para: """Style User Index 7""" return Para(StyleParaKind.USER_INDEX_7) @property def idx_user8(self) -> Para: """Style User Index 8""" return Para(StyleParaKind.USER_INDEX_8) @property def idx_user9(self) -> Para: """Style User Index 9""" return Para(StyleParaKind.USER_INDEX_9) @property def idx_user10(self) -> Para: """Style User Index 10""" return Para(StyleParaKind.USER_INDEX_10) @property def list_contents(self) -> Para: """Style List Contents""" return Para(StyleParaKind.LIST_CONTENTS) @property def list_heading(self) -> Para: """Style List Heading""" return Para(StyleParaKind.LIST_HEADING) @property def pre_text(self) -> Para: """Style Preformatted text""" return Para(StyleParaKind.PREFORMATTED_TEXT) @property def quotations(self) -> Para: """Style Quotations""" return Para(StyleParaKind.QUOTATIONS) @property def sender(self) -> Para: """Style Sender""" return Para(StyleParaKind.SENDER) @property def signature(self) -> Para: """Style Signature""" return Para(StyleParaKind.SIGNATURE) @property def tbl_contents(self) -> Para: """Style Table Contents""" return Para(StyleParaKind.TABLE_CONTENTS) @property def tbl_heading(self) -> Para: """Style Table Heading""" return Para(StyleParaKind.TABLE_HEADING) @property def txt_body(self) -> Para: """Style Text Body""" return Para(StyleParaKind.TEXT_BODY) @property def txt_first_line_indent(self) -> Para: """Style First Line Indent""" return Para(StyleParaKind.FIRST_LINE_INDENT) @property def txt_hanging_indent(self) -> Para: """Style Hanging Indent""" return Para(StyleParaKind.HANGING_INDENT) @property def txt_list_indent(self) -> Para: """Style List Indent""" return Para(StyleParaKind.LIST_INDENT) @property def txt_marginalia(self) -> Para: """Style Marginalia""" return Para(StyleParaKind.MARGINALIA) @property def txt_body_indent(self) -> Para: """Style Text Body Indent""" return Para(StyleParaKind.TEXT_BODY_INDENT) # endregion Style Properties @property def prop_format_kind(self) -> FormatKind: """Gets the kind of style""" try: return self._format_kind_prop except AttributeError: self._format_kind_prop = FormatKind.STYLE | FormatKind.PARA return self._format_kind_prop
[docs] @static_prop def default() -> Para: # type: ignore[misc] """Gets ``Para`` default. Static Property.""" try: return Para._DEFAULT_INST # type: ignore[attr-defined] except AttributeError: Para._DEFAULT_INST = Para(name=StyleParaKind.STANDARD) # type: ignore[attr-defined] Para._DEFAULT_INST._is_default_inst = True # type: ignore[attr-defined] return Para._DEFAULT_INST # type: ignore[attr-defined]