Source code for ooodev.format.inner.style_factory

from __future__ import annotations
from typing import Any, TYPE_CHECKING, Type

# pylint: disable=redefined-outer-name
from ooodev.mock import mock_g

if TYPE_CHECKING:
    from ooodev.format.proto.font.font_effects_t import FontEffectsT
    from ooodev.format.proto.font.font_only_t import FontOnlyT
    from ooodev.format.proto.area.fill_color_t import FillColorT
    from ooodev.format.proto.write.char.font.font_t import FontT
    from ooodev.format.proto.chart2.area.chart_fill_gradient_t import ChartFillGradientT

    # from ooodev.format.proto.area.fill_img_t import FillImgT as AreaFillImgT
    from ooodev.format.proto.write.fill.area.fill_img_t import FillImgT as WriteFillImgT
    from ooodev.format.proto.chart2.area.chart_fill_img_t import ChartFillImgT
    from ooodev.format.proto.chart2.area.chart_fill_pattern_t import ChartFillPatternT
    from ooodev.format.proto.chart2.area.chart_fill_hatch_t import ChartFillHatchT
    from ooodev.format.proto.chart2.position_size.position_t import PositionT as Chart2PositionT
    from ooodev.format.proto.chart2.position_size.size_t import SizeT as Chart2SizeT
    from ooodev.format.proto.draw.position_size.size_t import SizeT as DrawSizeT
    from ooodev.format.proto.draw.position_size.position_t import PositionT as DrawPositionT
    from ooodev.format.proto.draw.position_size.protect_t import ProtectT as DrawProtectT
    from ooodev.format.proto.borders.line_properties_t import LinePropertiesT as BorderLinePropertiesT
    from ooodev.format.proto.area.transparency.transparency_t import TransparencyT as TransparencyTransparencyT
    from ooodev.format.proto.area.transparency.gradient_t import GradientT as TransparencyGradientT
    from ooodev.format.proto.chart2.axis.positioning.axis_line_t import AxisLineT as Chart2AxisLineT
    from ooodev.format.proto.chart2.axis.positioning.interval_marks_t import IntervalMarksT as Chart2IntervalMarksT
    from ooodev.format.proto.chart2.axis.positioning.label_position_t import LabelPositionT as Chart2LabelPositionT
    from ooodev.format.proto.chart2.axis.positioning.position_axis_t import PositionAxisT as Chart2PositionAxisT
    from ooodev.format.proto.calc.numbers.numbers_t import NumbersT as CalcNumbersT
    from ooodev.format.proto.chart2.numbers.numbers_t import NumbersT as Chart2NumbersT
    from ooodev.format.proto.chart2.series.data_labels.data_labels.numbers_t import (
        NumbersT as Chart2SeriesDataLabelsNumbersT,
    )
    from ooodev.format.proto.calc.alignment.text_align_t import TextAlignT as CalcAlignTextT
    from ooodev.format.proto.calc.alignment.text_orientation_t import TextOrientationT as CalcAlignOrientationT
    from ooodev.format.proto.calc.alignment.properties_t import PropertiesT as CalcAlignPropertiesT
    from ooodev.format.proto.calc.borders.borders_t import BordersT as CalcBordersT
    from ooodev.format.proto.write.char.font.font_position_t import FontPositionT as WriteCharFontPositionT
    from ooodev.format.proto.font.highlight_t import HighlightT as WriteCharFontHighlightT
else:
    FontEffectsT = Any
    FontOnlyT = Any
    FillColorT = Any
    ChartFillGradientT = Any
    ChartFillImgT = Any
    ChartFillHatchT = Any
    Chart2PositionT = Any
    Chart2SizeT = Any
    DrawSizeT = Any
    DrawPositionT = Any
    DrawProtectT = Any
    BorderLinePropertiesT = Any
    TransparencyTransparencyT = Any
    TransparencyGradientT = Any
    Chart2AxisLineT = Any
    Chart2IntervalMarksT = Any
    Chart2LabelPositionT = Any
    Chart2PositionAxisT = Any
    CalcNumbersT = Any
    Chart2NumbersT = Any
    Chart2SeriesDataLabelsNumbersT = Any
    CalcAlignTextT = Any
    CalcAlignOrientationT = Any
    CalcAlignPropertiesT = Any
    CalcBordersT = Any
    WriteCharFontPositionT = Any
    WriteFillImgT = Any

# pylint: disable=import-outside-toplevel


# region Font
[docs]def font_only_factory(name: str) -> Type[FontOnlyT]: if name == "ooodev.write.char": from ooodev.format.inner.direct.write.char.font.font_only import FontOnly as FontOnly1 return FontOnly1 if name == "ooodev.chart2.axis": from ooodev.format.inner.direct.chart2.axis.font.font_only import FontOnly as FontOnly2 return FontOnly2 if name == "ooodev.chart2.title": from ooodev.format.inner.direct.chart2.title.font.font_only import FontOnly as FontOnly3 return FontOnly3 if name == "ooodev.chart2.series.data_labels": from ooodev.format.inner.direct.chart2.series.data_labels.font.font_only import FontOnly as FontOnly4 return FontOnly4 if name == "ooodev.chart2.legend": from ooodev.format.inner.direct.chart2.legend.font.font_only import FontOnly as FontOnly5 return FontOnly5 if name in {"ooodev.calc.cell", "ooodev.calc.cell_rng"}: from ooodev.format.inner.direct.calc.char.font.font_only import FontOnly as FontOnly6 return FontOnly6 raise ValueError(f"Invalid name: {name}")
[docs]def font_factory(name: str) -> Type[FontT]: if name == "ooodev.write.char": from ooodev.format.inner.direct.write.char.font.font import Font as Font1 return Font1 if name == "ooodev.general_style.text": from ooodev.format.inner.direct.general_style.text.font import Font as Font2 return Font2 raise ValueError(f"Invalid name: {name}")
[docs]def font_effects_factory(name: str) -> Type[FontEffectsT]: if name == "ooodev.write.char": from ooodev.format.inner.direct.write.char.font.font_effects import FontEffects as FontEffects1 return FontEffects1 if name == "ooodev.chart2.axis": from ooodev.format.inner.direct.chart2.axis.font.font_effects import FontEffects as FontEffects2 return FontEffects2 if name == "ooodev.chart2.title": from ooodev.format.inner.direct.chart2.title.font.font_effects import FontEffects as FontEffects3 return FontEffects3 if name == "ooodev.chart2.series.data_labels": from ooodev.format.inner.direct.chart2.series.data_labels.font.font_effects import FontEffects as FontEffects4 return FontEffects4 if name == "ooodev.chart2.legend": from ooodev.format.inner.direct.chart2.legend.font.font_effects import FontEffects as FontEffects5 return FontEffects5 if name in {"ooodev.calc.cell", "ooodev.calc.cell_rng"}: from ooodev.format.inner.direct.calc.char.font.font_effects import FontEffects as FontEffects6 return FontEffects6 raise ValueError(f"Invalid name: {name}")
[docs]def font_position_factory(name: str) -> Type[WriteCharFontPositionT]: if name == "ooodev.write.char": from ooodev.format.inner.direct.write.char.font.font_position import FontPosition as FontPosition1 return FontPosition1 raise ValueError(f"Invalid name: {name}")
# endregion Font # region Calc
[docs]def calc_align_text_factory(name: str) -> Type[CalcAlignTextT]: if name in {"ooodev.calc.cell", "ooodev.calc.cell_rng"}: from ooodev.format.inner.direct.calc.alignment.text_align import TextAlign as TextAlign1 return TextAlign1 raise ValueError(f"Invalid name: {name}")
[docs]def calc_align_orientation_factory(name: str) -> Type[CalcAlignOrientationT]: if name in {"ooodev.calc.cell", "ooodev.calc.cell_rng"}: from ooodev.format.inner.direct.calc.alignment.text_orientation import TextOrientation as TextOrientation1 return TextOrientation1 raise ValueError(f"Invalid name: {name}")
[docs]def calc_align_properties_factory(name: str) -> Type[CalcAlignPropertiesT]: if name in {"ooodev.calc.cell", "ooodev.calc.cell_rng"}: from ooodev.format.inner.direct.calc.alignment.properties import Properties as Properties1 return Properties1 raise ValueError(f"Invalid name: {name}")
[docs]def calc_borders_factory(name: str) -> Type[CalcBordersT]: if name in {"ooodev.calc.cell", "ooodev.calc.cell_rng"}: from ooodev.format.inner.direct.calc.border.borders import Borders as Borders1 return Borders1 raise ValueError(f"Invalid name: {name}")
# endregion Calc # region numbers format # region general numbers format
[docs]def numbers_numbers_factory(name: str) -> Type[CalcNumbersT]: if name == "ooodev.number.numbers": from ooodev.format.inner.direct.calc.numbers.numbers import Numbers as Numbers1 return Numbers1 raise ValueError(f"Invalid name: {name}")
# endregion general numbers format # region chart2 numbers format
[docs]def chart2_numbers_numbers_factory(name: str) -> Type[Chart2NumbersT]: if name == "ooodev.chart2.number.numbers": from ooodev.format.inner.direct.chart2.chart.numbers.numbers import Numbers as Numbers2 return Numbers2 raise ValueError(f"Invalid name: {name}")
[docs]def chart2_series_data_labels_numbers_factory(name: str) -> Type[Chart2SeriesDataLabelsNumbersT]: if name == "ooodev.chart2.series.data_labels.number.numbers": from ooodev.format.inner.direct.chart2.series.data_labels.data_labels.number_format import ( NumberFormat as NumberFormat1, ) return NumberFormat1 if name == "ooodev.chart2.axis.numbers.numbers": from ooodev.format.inner.direct.chart2.axis.numbers.numbers import Numbers as NumberFormat2 return NumberFormat2 raise ValueError(f"Invalid name: {name}")
# endregion chart2 numbers format # endregion numbers format
[docs]def area_color_factory(name: str) -> Type[FillColorT]: if name == "ooodev.chart2.general": from ooodev.format.inner.direct.chart2.chart.area.color import Color as Color1 return Color1 if name == "ooodev.char2.legend.area.color": from ooodev.format.inner.direct.chart2.legend.area.color import Color as Color2 return Color2 if name == "ooodev.char2.wall.area": from ooodev.format.inner.direct.chart2.wall.area.color import Color as Color3 return Color3 if name in {"ooodev.char2.series.data_series.area", "ooodev.char2.series.data_point.area"}: from ooodev.format.inner.direct.chart2.series.data_series.area.color import Color as Color4 return Color4 if name == "ooodev.char2.title.area": from ooodev.format.inner.direct.chart2.title.area.color import Color as Color5 return Color5 if name in {"ooodev.calc.cell", "ooodev.calc.cell_rng"}: from ooodev.format.inner.direct.calc.background.color import Color as Color6 return Color6 if name == "ooodev.write.table.background": from ooodev.format.inner.direct.write.table.background.color import Color as Color7 return Color7 raise ValueError(f"Invalid name: {name}")
[docs]def area_transparency_transparency_factory(name: str) -> Type[TransparencyTransparencyT]: if name == "ooodev.area.transparency": from ooodev.format.draw.direct.transparency.transparency import Transparency as Transparency1 return Transparency1 if name == "ooodev.write.para.transparency": from ooodev.format.inner.direct.write.fill.transparent.transparency import Transparency as Transparency2 return Transparency2 if name == "ooodev.write.shape.area.transparency": from ooodev.format.writer.direct.shape.transparency.transparency import Transparency as Transparency3 return Transparency3 if name == "ooodev.chart2.general": from ooodev.format.inner.direct.chart2.chart.transparent.transparency import Transparency as Transparency4 return Transparency4 if name == "ooodev.chart2.legend": from ooodev.format.inner.direct.chart2.legend.transparent.transparency import Transparency as Transparency5 return Transparency5 if name == "ooodev.chart2.wall": from ooodev.format.inner.direct.chart2.wall.transparent.transparency import Transparency as Transparency6 return Transparency6 if name in {"ooodev.char2.series.data_series.transparency", "ooodev.char2.series.data_point.transparency"}: from ooodev.format.inner.direct.chart2.series.data_series.transparent.transparency import ( Transparency as Transparency7, ) return Transparency7 raise ValueError(f"Invalid name: {name}")
[docs]def area_transparency_gradient_factory(name: str) -> Type[TransparencyGradientT]: if name == "ooodev.area.transparency": from ooodev.format.draw.direct.transparency.gradient import Gradient as Gradient1 return Gradient1 if name == "ooodev.write.shape.area.transparency": from ooodev.format.writer.direct.shape.transparency.gradient import Gradient as Gradient2 return Gradient2 if name == "ooodev.chart2.general": from ooodev.format.inner.direct.chart2.chart.transparent.gradient import Gradient as Gradient3 return Gradient3 if name == "ooodev.chart2.legend": from ooodev.format.inner.direct.chart2.legend.transparent.gradient import Gradient as Gradient4 return Gradient4 if name == "ooodev.chart2.wall.transparency": from ooodev.format.inner.direct.chart2.wall.transparent.gradient import Gradient as Gradient5 return Gradient5 if name in {"ooodev.char2.series.data_series.transparency", "ooodev.char2.series.data_point.transparency"}: from ooodev.format.inner.direct.chart2.series.data_series.transparent.gradient import Gradient as Gradient6 return Gradient6 raise ValueError(f"Invalid name: {name}")
[docs]def write_area_img_factory(name: str) -> Type[WriteFillImgT]: if name == "ooodev.write.table.background": from ooodev.format.inner.direct.write.table.background.img import Img as Img1 return Img1 # if name == "ooodev.chart2.general": # ooodev.format.inner.direct.write.table.background.img raise ValueError(f"Invalid name: {name}")
# def area_gradient_factory(name: str) -> Type[FillGradientT]: # if name == "ooodev.chart2.general": # # from ooodev.format.inner.direct.chart2.chart.area.color import Gradient # from ooodev.format.inner.direct.chart2.chart.area.gradient import Gradient # return Gradient # raise ValueError(f"Invalid name: {name}")
[docs]def chart2_area_gradient_factory(name: str) -> Type[ChartFillGradientT]: if name == "ooodev.chart2.general": from ooodev.format.inner.direct.chart2.chart.area.gradient import Gradient as Gradient20 return Gradient20 if name == "ooodev.chart2.legend": from ooodev.format.inner.direct.chart2.legend.area.gradient import Gradient as Gradient21 return Gradient21 if name == "ooodev.char2.wall.area": from ooodev.format.inner.direct.chart2.wall.area.gradient import Gradient as Gradient22 return Gradient22 if name in {"ooodev.char2.series.data_series.area", "ooodev.char2.series.data_point.area"}: from ooodev.format.inner.direct.chart2.series.data_series.area.gradient import Gradient as Gradient23 return Gradient23 if name == "ooodev.char2.title": from ooodev.format.inner.direct.chart2.title.area.gradient import Gradient as Gradient24 return Gradient24 raise ValueError(f"Invalid name: {name}")
[docs]def chart2_area_img_factory(name: str) -> Type[ChartFillImgT]: if name == "ooodev.chart2.general": from ooodev.format.inner.direct.chart2.chart.area.img import Img as Img20 return Img20 if name == "ooodev.chart2.legend": from ooodev.format.inner.direct.chart2.legend.area.img import Img as Img21 return Img21 if name == "ooodev.char2.wall.area": from ooodev.format.inner.direct.chart2.wall.area.img import Img as Img22 return Img22 if name in {"ooodev.char2.series.data_series.area", "ooodev.char2.series.data_point.area"}: from ooodev.format.inner.direct.chart2.series.data_series.area.img import Img as Img23 return Img23 if name == "ooodev.char2.title": from ooodev.format.inner.direct.chart2.title.area.img import Img as Img24 return Img24 # if name == "ooodev.chart2.general": # ooodev.format.inner.direct.write.table.background.img raise ValueError(f"Invalid name: {name}")
[docs]def chart2_area_pattern_factory(name: str) -> Type[ChartFillPatternT]: if name == "ooodev.chart2.general": from ooodev.format.inner.direct.chart2.chart.area.pattern import Pattern as Pattern20 return Pattern20 if name == "ooodev.chart2.legend": from ooodev.format.inner.direct.chart2.legend.area.pattern import Pattern as Pattern21 return Pattern21 if name == "ooodev.char2.wall.area": from ooodev.format.inner.direct.chart2.wall.area.pattern import Pattern as Pattern22 return Pattern22 if name in {"ooodev.char2.series.data_series.area", "ooodev.char2.series.data_point.area"}: from ooodev.format.inner.direct.chart2.series.data_series.area.pattern import Pattern as Pattern23 return Pattern23 if name == "ooodev.char2.title": from ooodev.format.inner.direct.chart2.title.area.pattern import Pattern as Pattern24 return Pattern24 raise ValueError(f"Invalid name: {name}")
[docs]def chart2_area_hatch_factory(name: str) -> Type[ChartFillHatchT]: if name == "ooodev.chart2.general": from ooodev.format.inner.direct.chart2.chart.area.hatch import Hatch as Hatch20 return Hatch20 if name == "ooodev.chart2.legend": from ooodev.format.inner.direct.chart2.legend.area.hatch import Hatch as Hatch21 return Hatch21 if name == "ooodev.char2.wall.area": from ooodev.format.inner.direct.chart2.wall.area.hatch import Hatch as Hatch22 return Hatch22 if name in {"ooodev.char2.series.data_series.area", "ooodev.char2.series.data_point.area"}: from ooodev.format.inner.direct.chart2.series.data_series.area.hatch import Hatch as Hatch23 return Hatch23 if name == "ooodev.char2.title": from ooodev.format.inner.direct.chart2.title.area.hatch import Hatch as Hatch24 return Hatch24 raise ValueError(f"Invalid name: {name}")
[docs]def chart2_position_size_position_factory(name: str) -> Type[Chart2PositionT]: if name == "ooodev.chart2.position": from ooodev.format.inner.direct.chart2.position_size.position import Position as Position20 return Position20 if name == "ooodev.chart2.title": from ooodev.format.inner.direct.chart2.title.position_size.position import Position as Position21 return Position21 raise ValueError(f"Invalid name: {name}")
[docs]def chart2_position_size_size_factory(name: str) -> Type[Chart2SizeT]: if name == "ooodev.chart2.size": from ooodev.format.inner.direct.chart2.position_size.size import Size as Size20 return Size20 raise ValueError(f"Invalid name: {name}")
# region Chart2 Axis # region Chart2 Axis Positioning
[docs]def chart2_axis_pos_line_factory(name: str) -> Type[Chart2AxisLineT]: if name == "ooodev.chart2.axis.pos.line": from ooodev.format.inner.direct.chart2.axis.positioning.axis_line import AxisLine as AxisLine20 return AxisLine20 raise ValueError(f"Invalid name: {name}")
[docs]def chart2_axis_pos_interval_factory(name: str) -> Type[Chart2IntervalMarksT]: if name == "ooodev.chart2.axis.pos.interval_marks": from ooodev.format.inner.direct.chart2.axis.positioning.interval_marks import IntervalMarks as IntervalMarks20 return IntervalMarks20 raise ValueError(f"Invalid name: {name}")
[docs]def chart2_axis_pos_label_position_factory(name: str) -> Type[Chart2LabelPositionT]: if name == "ooodev.chart2.axis.pos.label_position": from ooodev.format.inner.direct.chart2.axis.positioning.label_position import LabelPosition as LabelPosition20 return LabelPosition20 raise ValueError(f"Invalid name: {name}")
[docs]def chart2_axis_pos_position_axis_factory(name: str) -> Type[Chart2PositionAxisT]: if name == "ooodev.chart2.axis.pos.position": from ooodev.format.inner.direct.chart2.axis.positioning.position_axis import PositionAxis as PositionAxis20 return PositionAxis20 raise ValueError(f"Invalid name: {name}")
# endregion Chart2 Axis Positioning # endregion Chart2 Axis
[docs]def draw_position_size_position_factory(name: str) -> Type[DrawPositionT]: if name == "ooodev.draw.position": from ooodev.format.draw.direct.position_size.position_size.position import Position as Position30 return Position30 raise ValueError(f"Invalid name: {name}")
[docs]def draw_position_size_size_factory(name: str) -> Type[DrawSizeT]: if name == "ooodev.draw.size": from ooodev.format.draw.direct.position_size.position_size.size import Size as Size30 return Size30 raise ValueError(f"Invalid name: {name}")
[docs]def draw_position_size_protect_factory(name: str) -> Type[DrawProtectT]: if name == "ooodev.draw.protect": from ooodev.format.draw.direct.position_size.position_size.protect import Protect as Protect30 return Protect30 raise ValueError(f"Invalid name: {name}")
[docs]def draw_border_line_factory(name: str) -> Type[BorderLinePropertiesT]: if name == "ooodev.draw.line": from ooodev.format.inner.direct.chart2.chart.borders.line_properties import LineProperties as LineProperties30 return LineProperties30 if name == "ooodev.chart2.line": from ooodev.format.inner.direct.chart2.chart.borders.line_properties import LineProperties as LineProperties31 return LineProperties31 if name == "ooodev.chart2.axis.line": from ooodev.format.inner.direct.chart2.axis.line.line_properties import LineProperties as LineProperties32 return LineProperties32 if name == "ooodev.chart2.grid.line": from ooodev.format.inner.direct.chart2.grid.line_properties import LineProperties as LineProperties33 return LineProperties33 if name == "ooodev.chart2.legend": from ooodev.format.inner.direct.chart2.legend.borders.line_properties import LineProperties as LineProperties34 return LineProperties34 if name == "ooodev.chart2.wall.borders": from ooodev.format.inner.direct.chart2.wall.borders.line_properties import LineProperties as LineProperties35 return LineProperties35 if name in {"ooodev.char2.series.data_series.borders", "ooodev.char2.series.data_point.borders"}: from ooodev.format.inner.direct.chart2.series.data_series.borders.line_properties import ( LineProperties as LineProperties36, ) return LineProperties36 if name in {"ooodev.char2.series.data_series.label.borders", "ooodev.char2.series.data_point.label.borders"}: from ooodev.format.inner.direct.chart2.series.data_labels.borders.line_properties import ( LineProperties as LineProperties37, ) return LineProperties37 if name == "ooodev.char2.title": from ooodev.format.inner.direct.chart2.title.borders.line_properties import LineProperties as LineProperties38 return LineProperties38 raise ValueError(f"Invalid name: {name}")
[docs]def font_highlight_factory(name: str) -> Type[WriteCharFontHighlightT]: if name == "ooodev.write.char": from ooodev.format.inner.direct.write.char.highlight.highlight import Highlight as Highlight1 return Highlight1 raise ValueError(f"Invalid name: {name}")
if mock_g.FULL_IMPORT: pass