Kod Alanı (DiaKeyEdit)
DiaKeyEdit, formlarda kullanıcıların kod alanı (carikarkodu, stokkartkodu) girişi yapabilmesi için kullanılan düzenlenebilir bir alan (input) nesnesidir. Metin alanına benzer görünse de, kod alanlarına özgü özellikler sunar: otomatik büyük harf dönüşümü, F8 ile sıradaki kod getirme ve numara şablonu desteği. Arka plan rengi, yazı rengi, font ve hizalama gibi görsel özelliklerinin yanında; ipucu, maksimum uzunluk, numara şablonu ve aksiyon tanımlamaları gibi etkileşimsel özellikler de destekler.
Not: DiaKeyEdit, girilen karakterleri otomatik olarak büyük harfe çevirir. F8 tuşuna basıldığında, şablon tanımlıysa sıradaki kod otomatik üretilir ve alana yazılır.
Özellikler
| Adı | Default | Değerleri | Amacı |
|---|---|---|---|
| 🆔 Nesne ID | diaKeyEdit_1 | Örn: carikartkodu | Nesneye atanacak benzersiz kimliktir. Süreç tasarımında ve kod tarafında bu ID üzerinden erişim sağlanır. |
| 🏷️ Değer | - | Serbest metin | Form üzerinde kullanıcıya gösterilecek başlangıç değeri veya açıklama yazısıdır. |
| 🎨 Arka Plan Rengi | ⚪ Beyaz | Renk seçici | Kod alanının arka plan rengini belirler. |
| ✒️ Yazı Rengi | ⚫ Siyah | Renk seçici | Kullanıcının girdiği metnin rengini belirler. |
| 🔤 Font | Helvetica | Sistem fontları | Yazının tipografisini belirler. |
| 🔠 Font Boyu | 12 pt | Sayısal değer | Yazının büyüklüğünü ayarlar. |
| 🔡 Font Tipi | Normal | Koyu, İtalik, Altı Çizgili, Üstü Çizgili | Metin stilini belirler. Birden fazla stil aynı anda uygulanabilir. |
| 📏 Maksimum Uzunluk | 200 | 1–999 | Girilebilecek maksimum karakter sayısını sınırlar. |
| 📋 Şablon | - | Numara şablonu listesi | Cari kart kodu, stok kart kodu, fiş no vb. için tanımlı numara şablonlarından birini seçer. Otomatik sıra numarası üretiminde kullanılır. |
| 🔖 Ön Ek | - | Serbest metin | Şablon kullanıldığında kodun başına eklenecek sabit ön ek. |
| ⚙️ Parametreler | - | JSON (tarih, subekey, depokey vb.) | Numara üretimi için ekran verileri (tarih, şube, depo, kasa vb.) override edilebilir. |
| ↔️ Yatay Hizalama | Sola | Sol / Orta / Sağ | Metnin yatay konumunu ayarlar. |
| ↕️ Dikey Hizalama | Orta | Üst / Orta / Alt | Metnin kutu içerisindeki dikey konumunu ayarlar. |
| 💬 İpucu (Tooltip) | - | Serbest metin | Alanın üzerine gelindiğinde küçük bilgi kutusu şeklinde görünen açıklamadır. |
| 👁️ Gösterim | Görünür | Görünür / Gizli | Nesnenin formda görünüp görünmeyeceğini belirler. |
| 🔒 Salt Okunur | Hayır | Evet / Hayır | Alanın sadece okunabilir olmasını sağlar. Kullanıcı içerik değiştiremez. |
| 🎭 Stil (CSS Sınıfı) | - | CSS sınıfı | Tasarım tarafında özel CSS sınıfları eklenerek özelleştirilmiş görsel stil uygulanabilir. |
| 🖱️ Aksiyon (Text Changed) | - | Olay bağlanabilir | Kullanıcı metin değiştirdiğinde tetiklenir. |
| 🖱️ Aksiyon (Return Pressed) | - | Olay bağlanabilir | Kullanıcı Enter tuşuna bastığında tetiklenir. |
| 🖱️ Aksiyon (Editing Finished) | - | Olay bağlanabilir | Kullanıcı yazma işlemini tamamladığında (fokus kaybı veya enter) çalışır. |
| 🖱️ Aksiyon (Focus In) | - | Olay bağlanabilir | Alan seçildiğinde tetiklenir. |
| 🖱️ Aksiyon (Focus Out) | - | Olay bağlanabilir | Alan odaktan çıktığında tetiklenir. |
Fonksiyonlar
DiaKeyEdit nesnesi için kullanılabilir tüm fonksiyonlar, kullanım örnekleri ve çıktıları ile birlikte aşağıda kategorize edilmiştir. Nesne özelliklerinde yer alan aksiyon alanlarında açılan DİAScript editörü üzerinde fonksiyonlar kullanılabilir.
📝 Değer İşlemleri
📖 getValue()
🎯 Amaç Kod alanının değerini okur
📥 Parametre Yok
📤 Dönüş String değer
deger = diaKeyEdit_1.getValue() print(deger) # Çıktı: "Kullanıcı girişi"
✏️ setValue()
🎯 Amaç Kod alanına yeni değer atar
📥 Parametre value (String)
📤 Dönüş Yok
diaKeyEdit_1.setValue("Yeni kod")
# Sonuç: "Yeni kod" görünür
🗑️ clearValue()
🎯 Amaç Kod alanını temizler
📥 Parametre Yok
📤 Dönüş Yok
diaKeyEdit_1.clearValue() # Sonuç: Kod alanı boş görünür
🔒 Giriş Kontrolü
📏 Maksimum Uzunluk
applyMaxLength(length)
Girilebilecek maksimum karakter sayısını ayarlar
# Maksimum 50 karakter diaKeyEdit_1.applyMaxLength(50) # Cari kart kodu için diaKeyEdit_1.applyMaxLength(20)
📋 Numara Şablonu
setTemplate(tableName, columnName, prefix=None, date=None, templateType=None)
Şablon bilgisini set eder ve widget'ı başlatır
# Cari kart kodu şablonu
diaKeyEdit_1.setTemplate("scf_carikart", "carikartkodu", prefix="C")
# Stok kart kodu şablonu
diaKeyEdit_1.setTemplate("scf_stokkart", "stokkartkodu")
🆔 Kimlik Yönetimi
🔍 getId()
Nesne ID'sini döndürür
nesneID = diaKeyEdit_1.getId()
print(f"ID: {nesneID}")
# Çıktı: ID: diaKeyEdit_1
🏷️ setId()
Nesne ID'sini değiştirir
diaKeyEdit_1.setId("carikartkodu")
# Yeni ID: carikartkodu
🎨 Renk Kontrolü
🖌️ Arkaplan Rengi
setBackgroundColor(color)
diaKeyEdit_1.setBackgroundColor("#F0F8FF")
diaKeyEdit_1.setBackgroundColor("lightgray")
diaKeyEdit_1.setBackgroundColor("rgb(240,248,255)")
getBackgroundColor()
renk = diaKeyEdit_1.getBackgroundColor()
print(f"Arkaplan: {renk}")
# Çıktı: Arkaplan: #F0F8FF
✒️ Yazı Rengi
setFontColor(color)
diaKeyEdit_1.setFontColor("#333333")
diaKeyEdit_1.setFontColor("darkblue")
diaKeyEdit_1.setFontColor("rgb(51,51,51)")
getFontColor()
yaziRengi = diaKeyEdit_1.getFontColor()
print(f"Yazı rengi: {yaziRengi}")
# Çıktı: Yazı rengi: #333333
🔤 Font Ayarları
📏 Boyut
setFontSize(size)
diaKeyEdit_1.setFontSize(14)
getFontSize()
boyut = diaKeyEdit_1.getFontSize()
print(f"Boyut: {boyut}")
# Çıktı: Boyut: 14px
🔤 Tip
setFont(fontName)
diaKeyEdit_1.setFont("Consolas")
getFont()
font = diaKeyEdit_1.getFont()
print(f"Font: {font}")
# Çıktı: Font: "Consolas"
↔️ Hizalama
setTextAlign(vAlign, hAlign)
# Ortada hizala
diaKeyEdit_1.setTextAlign("AlignVCenter", "AlignHCenter")
# Sağa hizala
diaKeyEdit_1.setTextAlign("AlignVCenter", "AlignRight")
✨ Stil Efektleri
Kalın
diaKeyEdit_1.setBold(True) # Yazı kalınlaşır diaKeyEdit_1.setBold(False) # Normal yazı
İtalik
diaKeyEdit_1.setItalic(True) # Yazı italik olur diaKeyEdit_1.setItalic(False) # Normal yazı
Alt Çizgi
diaKeyEdit_1.setUnderline(True) # Altı çizili diaKeyEdit_1.setUnderline(False) # Çizgi yok
Üst Çizgi
diaKeyEdit_1.setLineThrough(True) # Üstü çizili diaKeyEdit_1.setLineThrough(False) # Çizgi yok
🚀 Kullanım Örnekleri
🔢 Cari Kart Kodu Alanı
# Cari kart kodu girişi
diaKeyEdit_1.setTemplate("scf_carikart", "carikartkodu", prefix="C")
diaKeyEdit_1.setBackgroundColor("#FFF3CD")
diaKeyEdit_1.setFontColor("#856404")
diaKeyEdit_1.applyMaxLength(20)
diaKeyEdit_1.setFont("Consolas")
📦 Stok Kart Kodu Alanı
# Stok kart kodu girişi
diaKeyEdit_1.setTemplate("scf_stokkart", "stokkartkodu")
diaKeyEdit_1.setFont("Arial Black")
diaKeyEdit_1.setFontSize(14)
diaKeyEdit_1.setBold(True)
diaKeyEdit_1.setFontColor("#DC3545")
diaKeyEdit_1.applyMaxLength(20)
🖱️ Kullanıcı Etkileşimi
🔤 Text Changed
🎯 Amaç Kullanıcı kod alanındaki içeriği değiştirdiğinde tetiklenir.
📥 Parametre Yeni metin (str)
📥 Dönüş Yok
print("Metin değişti:", newText)
↩️ Return Pressed
🎯 Amaç Kullanıcı Enter tuşuna bastığında tetiklenir.
📥 Parametre Yok
📥 Dönüş Yok
print("Enter tuşuna basıldı")
✅ Editing Finished
🎯 Amaç Kullanıcı yazma işlemini bitirdiğinde (Enter tuşu veya fokus kaybı) tetiklenir.
📥 Parametre Yok
📥 Dönüş Yok
print("Metin düzenleme tamamlandı")
👁️ Focus In
🎯 Amaç Kod alanı odaklandığında tetiklenir.
📥 Parametre Yok
📤 Dönüş Yok
print("Alan seçildi (focus in)")
👁️ Focus Out
🎯 Amaç Kod alanı odaktan çıktığında tetiklenir.
📥 Parametre Yok
📥 Dönüş Yok
print("Alan odaktan çıktı (focus out)")
