"""
IDialogCevirici Test Script

Bu script IDialogCevirici'yi doğrudan Python'dan test eder.
CATIA açık olmalıdır.
"""

import sys
import win32com.client
from PyQt6.QtWidgets import QApplication

# IDialogCevirici'yi import et
from IDialogCevirici import IDialogCevirici


def test_dialog():
    """Dialog'u test et"""
    print("=" * 60)
    print("IDialogCevirici Test Başlatılıyor...")
    print("=" * 60)

    try:
        # CATIA bağlantısı kur
        print("\n1. CATIA'ya bağlanılıyor...")
        catia = win32com.client.Dispatch("Catia.Application")
        print(f"   ✓ CATIA Bağlantısı Başarılı: {catia.Caption}")

        # PyQt6 Application oluştur
        print("\n2. PyQt6 Application oluşturuluyor...")
        app = QApplication(sys.argv)
        app.setStyle("fusion")
        print("   ✓ PyQt6 hazır")

        # Dialog oluştur
        print("\n3. Dialog penceresi oluşturuluyor...")
        dialog = IDialogCevirici(Catia=catia)
        print("   ✓ Dialog oluşturuldu")

        # Dialog'u göster
        print("\n4. Dialog gösteriliyor...")
        dialog.show()
        print("   ✓ Dialog görünür")

        print("\n" + "=" * 60)
        print("Test başarılı! Dialog penceresi açıldı.")
        print("Server'ı başlatmak için 'Server Başlat' butonuna tıklayın.")
        print("=" * 60)

        # Event loop başlat
        sys.exit(app.exec())

    except Exception as e:
        print(f"\n✗ HATA: {e}")
        print("\nOlası çözümler:")
        print("  1. CATIA'nın açık olduğundan emin olun")
        print("  2. PyQt6'nın kurulu olduğunu kontrol edin: pip install PyQt6")
        print("  3. pywin32'in kurulu olduğunu kontrol edin: pip install pywin32")
        return False

    return True


if __name__ == '__main__':
    test_dialog()
