__author__ = 'CAM'

from win32com.client import CDispatch

from IFikomObject import IFikomObject
from IReferans import IReferans






class IDokuman(IFikomObject): pass
class IProduct(IFikomObject):pass




class ISeciliEleman(IFikomObject):
    def __init__(self, obj:CDispatch, sahip:IFikomObject=None):
        super(ISeciliEleman, self).__init__(obj, sahip)
        self.sahip = sahip
        self.tipi = "ISeciliEleman"

        # --->Sabit Degiskenler

    @property
    def dokuman(self) -> IDokuman:
        return IDokuman.IDokuman(obj=self.catNesne.Document, sahip=self.anaProgram.dokumanlar)

    @property
    def productYapragi(self):
        return IFikomObject(self.catNesne.LeafProduct)

    @property
    def product(self):
        return IProduct.IProduct(self.catNesne.LeafProduct.referenceProduct)

    @property
    def referans(self) -> IReferans:
        return IReferans(self.catNesne.Reference, self)

    @property
    def turu(self) -> str:
        return self.catNesne.Type

    @property
    def nesne(self) -> IFikomObject:
        return IFikomObject(self.catNesne.Value)

    def __str__(self) -> str:
        return repr(self.nesne.ismi)





import IProduct
import IDokuman