from __future__ import annotations
from ..Base import *
from ..Proxy import *
from .AcadDimension import AcadDimension



class AcadDimAligned(AcadDimension):
    def __init__(self, obj) -> None: super().__init__(obj)

    AltRoundDistance: float = proxy_property(float,'AltRoundDistance',AccessMode.ReadWrite)
    AltSubUnitsFactor: float = proxy_property(float,'AltSubUnitsFactor',AccessMode.ReadWrite)
    AltSubUnitsSuffix: str = proxy_property(str,'AltSubUnitsSuffix',AccessMode.ReadWrite)
    AltSuppressLeadingZeros: bool = proxy_property(bool,'AltSuppressLeadingZeros',AccessMode.ReadWrite)
    AltSuppressTrailingZeros: bool = proxy_property(bool,'AltSuppressTrailingZeros',AccessMode.ReadWrite)
    AltSuppressZeroFeet: bool = proxy_property(bool,'AltSuppressZeroFeet',AccessMode.ReadWrite)
    AltSuppressZeroInches: bool = proxy_property(bool,'AltSuppressZeroInches',AccessMode.ReadWrite)
    AltTextPrefix: str = proxy_property(str,'AltTextPrefix',AccessMode.ReadWrite)
    AltTextSuffix: str = proxy_property(str,'AltTextSuffix',AccessMode.ReadWrite)
    AltTolerancePrecision: AcDimPrecision = proxy_property('AcDimPrecision','AltTolerancePrecision',AccessMode.ReadWrite)
    AltToleranceSuppressLeadingZeros: bool = proxy_property(bool,'AltToleranceSuppressLeadingZeros',AccessMode.ReadWrite)
    AltToleranceSuppressTrailingZeros: bool = proxy_property(bool,'AltToleranceSuppressTrailingZeros',AccessMode.ReadWrite)
    AltToleranceSuppressZeroFeet: bool = proxy_property(bool,'AltToleranceSuppressZeroFeet',AccessMode.ReadWrite)
    AltToleranceSuppressZeroInches: bool = proxy_property(bool,'AltToleranceSuppressZeroInches',AccessMode.ReadWrite)
    AltUnits: bool = proxy_property(bool,'AltUnits',AccessMode.ReadWrite)
    AltUnitsFormat: AcDimUnits = proxy_property('AcDimUnits','AltUnitsFormat',AccessMode.ReadWrite)
    AltUnitsPrecision: AcDimPrecision = proxy_property('AcDimPrecision','AltUnitsPrecision',AccessMode.ReadWrite)
    AltUnitsScale: float = proxy_property(float,'AltUnitsScale',AccessMode.ReadWrite)
    Arrowhead1Block: str = proxy_property(str,'Arrowhead1Block',AccessMode.ReadWrite)
    Arrowhead1Type: AcDimArrowheadType = proxy_property('AcDimArrowheadType','Arrowhead1Type',AccessMode.ReadWrite)
    Arrowhead2Block: str = proxy_property(str,'Arrowhead2Block',AccessMode.ReadWrite)
    Arrowhead2Type: AcDimArrowheadType = proxy_property('AcDimArrowheadType','Arrowhead2Type',AccessMode.ReadWrite)
    ArrowheadSize: int = proxy_property(int,'ArrowheadSize',AccessMode.ReadWrite)
    DimConstrDesc: str = proxy_property(str,'DimConstrDesc',AccessMode.ReadWrite)
    DimConstrExpression: str = proxy_property(str,'DimConstrExpression',AccessMode.ReadWrite)
    DimConstrForm: bool = proxy_property(bool,'DimConstrForm',AccessMode.ReadWrite)
    DimConstrName: str = proxy_property(str,'DimConstrName',AccessMode.ReadWrite)
    DimConstrReference: bool = proxy_property(bool,'DimConstrReference',AccessMode.ReadWrite)
    DimConstrValue: str = proxy_property(str,'DimConstrValue',AccessMode.ReadWrite)
    DimensionLineColor: AcColor = proxy_property('AcColor','DimensionLineColor',AccessMode.ReadWrite)
    DimensionLinetype: str = proxy_property(str,'DimensionLinetype',AccessMode.ReadWrite)
    DimensionLineWeight: AcLineWeight = proxy_property('AcLineWeight','DimensionLineWeight',AccessMode.ReadWrite)
    DimLine1Suppress: bool = proxy_property(bool,'DimLine1Suppress',AccessMode.ReadWrite)
    DimLine2Suppress: bool = proxy_property(bool,'DimLine2Suppress',AccessMode.ReadWrite)
    DimLineInside: bool = proxy_property(bool,'DimLineInside',AccessMode.ReadWrite)
    ExtensionLineColor: AcColor = proxy_property('AcColor','ExtensionLineColor',AccessMode.ReadWrite)
    ExtensionLineExtend: float = proxy_property(float,'ExtensionLineExtend',AccessMode.ReadWrite)
    ExtensionLineOffset: float = proxy_property(float,'ExtensionLineOffset',AccessMode.ReadWrite)
    ExtensionLineWeight: AcLineWeight = proxy_property('AcLineWeight','ExtensionLineWeight',AccessMode.ReadWrite)
    ExtLine1Linetype: str = proxy_property(str,'ExtLine1Linetype',AccessMode.ReadWrite)
    ExtLine1Point: PyGePoint3d = proxy_property('PyGePoint3d','ExtLine1Point',AccessMode.ReadWrite)
    ExtLine1Suppress: bool = proxy_property(bool,'ExtLine1Suppress',AccessMode.ReadWrite)
    ExtLine2Point: PyGePoint3d = proxy_property('PyGePoint3d','ExtLine2EndPoint',AccessMode.ReadWrite)
    ExtLine2Linetype: str = proxy_property(str,'ExtLine2Linetype',AccessMode.ReadWrite)
    ExtLine2Suppress: bool = proxy_property(bool,'ExtLine2Suppress',AccessMode.ReadWrite)
    ExtLineFixedLen: float = proxy_property(float,'ExtLineFixedLen',AccessMode.ReadWrite)
    ExtLineFixedLenSuppress: bool = proxy_property(bool,'ExtLineFixedLenSuppress',AccessMode.ReadWrite)
    Fit: AcDimFit = proxy_property('AcDimFit','Fit',AccessMode.ReadWrite)
    ForceLineInside: bool = proxy_property(bool,'ForceLineInside',AccessMode.ReadWrite)
    FractionFormat: AcDimFractionType = proxy_property('AcDimFractionType','FractionFormat',AccessMode.ReadWrite)
    HorizontalTextPosition: AcDimHorizontalJustification = proxy_property('AcDimHorizontalJustification','HorizontalTextPosition',AccessMode.ReadWrite)
    LinearScaleFactor: float = proxy_property(float,'LinearScaleFactor',AccessMode.ReadWrite)
    Measurement: float = proxy_property(float,'Measurement',AccessMode.ReadOnly)
    PrimaryUnitsPrecision: AcDimPrecision = proxy_property('AcDimPrecision','PrimaryUnitsPrecision',AccessMode.ReadWrite)
    RoundDistance: float = proxy_property(float,'RoundDistance',AccessMode.ReadWrite)
    SubUnitsFactor: float = proxy_property(float,'SubUnitsFactor',AccessMode.ReadWrite)
    SubUnitsSuffix: str = proxy_property(str,'SubUnitsSuffix',AccessMode.ReadWrite)
    SuppressZeroFeet: bool = proxy_property(bool,'SuppressZeroFeet',AccessMode.ReadWrite)
    SuppressZeroInches: bool = proxy_property(bool,'SuppressZeroInches',AccessMode.ReadWrite)
    TextInside: bool = proxy_property(bool,'TextInside',AccessMode.ReadWrite)
    TextInsideAlign: bool = proxy_property(bool,'TextInsideAlign',AccessMode.ReadWrite)
    TextOutsideAlign: bool = proxy_property(bool,'TextOutsideAlign',AccessMode.ReadWrite)
    ToleranceSuppressZeroFeet: bool = proxy_property(bool,'ToleranceSuppressZeroFeet',AccessMode.ReadWrite)
    ToleranceSuppressZeroInches: bool = proxy_property(bool,'ToleranceSuppressZeroInches',AccessMode.ReadWrite)
    UnitsFormat: AcDimLUnits = proxy_property('AcDimLUnits','UnitsFormat',AccessMode.ReadWrite)

    def Copy(self) -> AcadDimAligned:
        return AcadDimAligned(self._obj.Copy())