


import inspect
import os

import pythoncom
import win32com.client
from PyQt6.QtWidgets import QApplication
import sys

sys.path.append(os.path.dirname(os.path.abspath(
    inspect.getfile(inspect.currentframe()) + "\\..\\..\\..")))
from IFikatia import IFikatia
from Projeler.Yalin.FikoDokumantasyon.FikoDokuman import IFikoDokumanV2016
from IPartOperasyonlari.IPartOperasyonu import IPartOperasyonu

debugging = False
if debugging:
    from win32com.server.dispatcher import DefaultDebugDispatcher

    useDispatcher = DefaultDebugDispatcher
else:
    useDispatcher = None


class FikoYTFikoDokuman():
    _reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
    _reg_desc_ = "FikoYT"
    _reg_clsid_ = "{EBC31955-A326-4819-A20C-0DBBBE9BBD1E}"
    _reg_progid_ = "FikoYT.IFikoDokumanV2016"
    _public_methods_ = ['dokumanOlustur','fikoGLCikart']
    _public_attrs_ = []

    def dokumanOlustur(self, Catia):
        idkm = IFikoDokumanV2016(Catia=win32com.client.Dispatch(Catia))

    def fikoGLCikart(self, Catia):
        fikatia = IFikatia(win32com.client.Dispatch(Catia))
        secililer = fikatia.aktifDokuman.asProcessDokuman.secililer
        if secililer.sayisi < 1:
            # return
            print("seçili yok")
        polar:list[IPartOperasyonu] = []
        for i in range(secililer.sayisi):
            if secililer.item(i).catNesne.type == "ManufacturingSetup":
                polar.append(IPartOperasyonu(secililer.item(
                    i).nesne.catNesne, fikatia.aktifDokuman.asProcessDokuman.partOperasyonlari))
                polar[-1].fiko_op_gl_v1


# Dim fikopost
# Set fikopost = CreateObject("FikoYT.IFikoDokumanV2016")
# fikopost.dokumanOlustur CATIA
# if __name__ == '__main__':
#     import win32com.server.register
#     win32com.server.register.UseCommandLine(FikoYTFikoDokuman)
#     slm = IFikoDokumanV2016(Catia=win32com.client.GetActiveObject("Catia.Application"))
#     import sys
#     sys.exit


# Dim fikopost
# Set fikopost = CreateObject("FikoYT.IFikoCizgiYumusatici")
# fikopost.calistir CATIA
if __name__ == '__main__':
    import win32com.server.register
    win32com.server.register.UseCommandLine(FikoYTFikoDokuman)

    import sys
    app = QApplication(sys.argv)
    app.setStyle("fusion")
    slm = IFikoDokumanV2016(
        Catia=win32com.client.Dispatch("Catia.Application"))
    slm.show()
    sys.exit(app.exec())
