__author__ = 'PC'

from IFikomObject import IFikomObject
from win32com.client import CDispatch, Dispatch


class IMakine(IFikomObject):
    def __init__(self, obj: CDispatch, sahip: IFikomObject = None):
        super(IMakine, self).__init__(obj, sahip)
        self.sahip = sahip
        self.tipi = "IMakine"
        # --->Sabit Degiskenler
        self.__Mkn = obj
        
    @property
    def ismi(self):
        return self.catNesne.GetAttribute('MFG_NAME').valueasstring()
    
    @ismi.setter
    def ismi(self, value):
        self.catNesne.GetAttribute("MFG_NAME").ValuateFromString(value)

    @property
    def kuralDosyasi(self) -> str:
        return self.catNesne.PostProcessorFile

    @kuralDosyasi.setter
    def kuralDosyasi(self, value: str):
        self.catNesne.PostProcessorFile = value

    @property
    def tezgahDosyasi(self) -> str:
        return self.catNesne.PPTableName

    @tezgahDosyasi.setter
    def tezgahDosyasi(self, value: str):
        self.catNesne.PPTableName = value

    @property
    def postTuru(self) -> str:
        return self.catNesne.GetAttribute('MFG_OUTPUT_TYPE').valueasstring()

    @postTuru.setter
    def postTuru(self, value: str):
        self.catNesne.GetAttribute("MFG_OUTPUT_TYPE").ValuateFromString(value)

    @property
    def interpolasyonDairesel2d(self):
        return self.catNesne.GetAttribute("MFG_INT_CIRC_2D").valueasstring()

    @interpolasyonDairesel2d.setter
    def interpolasyonDairesel2d(self, value):
        self.catNesne.GetAttribute("MFG_INT_CIRC_2D").ValuateFromString(value)

    @property
    def interpolasyonDuzlemsel3d(self):
        return self.catNesne.GetAttribute("MFG_INT_LIN_3D").valueasstring()

    @interpolasyonDuzlemsel3d.setter
    def interpolasyonDuzlemsel3d(self, value):
        self.catNesne.GetAttribute("MFG_INT_LIN_3D").ValuateFromString(value)

    @property
    def maksIslemeHizi(self):
        return self.catNesne.GetAttribute("MFG_MAX_FEEDRATE").valueasstring()

    @maksIslemeHizi.setter
    def maksIslemeHizi(self, value):
        self.catNesne.GetAttribute("MFG_MAX_FEEDRATE").value=value

    @property
    def maksBostakiHizi(self):
        return self.catNesne.GetAttribute("MFG_RAPID_FEED").valueasstring()

    @maksBostakiHizi.setter
    def maksBostakiHizi(self, value):
        self.catNesne.GetAttribute("MFG_RAPID_FEED").value=value

    @property
    def turu(self) -> str:
        return self.catNesne.MachineType

    @property
    def aciklama(self) -> str:
        return self.catNesne.Comment

    @aciklama.setter
    def aciklama(self, value: str):
        self.catNesne.GetAttribute("MFG_COMMENT").ValuateFromString(value)
