__author__ = 'PC'

from win32com.client import CDispatch

from IFikomObject import IFikomObject
from IPencere import IPencere, PencereDosemeTipi





class IPencereler(IFikomObject):
    def __init__(self, obj:CDispatch, sahip:IFikomObject=None):
        """Constructor for IPencereler"""
        super(IPencereler, self).__init__(obj, sahip)
        self.sahip = sahip
        self.tipi = "IPencereler"

    @property
    def sayisi(self) -> int:
        return int(self.catNesne.Count)

    def item(self, pencere) -> IPencere:
        if type(pencere) is int:
            pencere = pencere + 1
        return IPencere(obj=self.catNesne.Item(pencere), sahip=self)

    def dose(self, dosemeTipi:PencereDosemeTipi):
        self.catNesne.Arrange(dosemeTipi.value)

    def __call__(self):
        return [self.item(x) for x in range(self.sayisi)]

    def __str__(self):
        return repr([self.item(x).ismi for x in range(self.sayisi)])

    def __len__(self):
        return int(self.sayisi)

    def __getitem__(self, item) -> IPencere:
        return self.item(item)
