MDX TreeView ile Ayarlar Merkezi Tasarımı


MDX TreeView (Mdx Ayarlar) Nedir? 

Bu ders MDX TreeView (Mdx Ayarlar) diye nitelendirilen, artık birçok scriptte kullanılan, profesyonel script olarak nitelendirilebilecek scriptlerde kullanılan ve birçok ayarın bu tek dialogda toplandığı (Mirc Ayarlar menüsü gibi) dialogu mdx ile nasıl yapıldığını anlatır…

Ders zamanla güncellenecerek genişletilecektir.. zaman azlığı nedeniyle çok ayrıntıya girmeden genel olarak anlatacağım.. Burada şunu da unutmamak gerekir; bu ders daha çok belli bir takım birikimlere sahip olan arkadaşlara hitap eder.. Bu ders mirc script işlerine yeni başlayanlar için değildir…

1.Aşama – Dersde kullanılan Dosyaların İndirilmesi ve Dosyaların Listesi

Kodun ve Dosyaların İndirileceği Adres –>

Bu dersimizde kullandığımız dosyalar aşağıdadır.
– mdx.dll
– views.mdx
– bars.mdx
– 8 tane icon

Mdx.dll ve views.mdx dialogun kullanılmasında zorunlu olan dosyalardır… bars.mdx ise Dialogun üstünde kullanılan X Script Genel Ayarlar yazısının oluşturulmasında ve arka planının beyazımsı hale getirilmesinde kullanıldı.. Ben oraya resim koymak yerine kendimce böyle bir yol seçtim.. Dileyenler bu bölüme kendi resimlerini kullanırlar…

2.Aşama – MDX TreeView Kodunun Hazırlanması

Bu Kodu alt+r ye basılıp açılan Remote penceresinde boş bir sayfaya yerleştiriyorsunuz ve scriptinizin /remote on (remotelerinin açık olduğuna) olduğuna emin olunuz…

Kod:
on *:start: { .baglantimenusu }

alias baglantimenusu { dialog -m ayarlar ayarlar | did -v ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 }
alias otokanal { dialog -m ayarlar ayarlar | did -v ayarlar 24,25,26,27,28,29,30,31,32,33,34,35,36 }
alias otonick { dialog -m ayarlar ayarlar | did -v ayarlar 37,38,39,40,41,42,43,44,45,46,47,48,49 }

dialog ayarlar {
  title "  X Script - Genel Ayarlar [ Kısayol Tuşu: F6 ] "
  size -1 -1 252 200
  option dbu
  icon iconAyarlar.ico, 0
  ;Yan Liste
  list 1, 5 26 68 149, size extsel
  button "Tamam", 2, 139 180 50 15, OK
  button "Yardım", 3, 20 180 45 15
  ;Üst yazı
  text "", 4, 5 3 241 19
  list 5, 200 2 25 14, size disable
  text " X Script - Genel Ayarlar Merkezi", 6, 7 7 170 12
  box "",7, 5 -1 242 23
  ;Bağlantı Menüsü
  combo 8, 90 36 90 120, drop
  box "Sunucu Ayarları", 9, 78 24 168 64
  button "Ekle",10, 195 36 30 11
  button "Sil",11, 195 49 30 11
  button "Düzenle",12, 195 62 30 11
  button "IRC Servere Bağlan", 13, 102 54 55 12
  check "Yeni Sunucu Penceresi Aç", 14, 100 71 96 14, flat
  box "Bağlantı Ayarları", 15, 78 90 168 85
  edit "", 16, 135 100 90 12
  edit "", 17, 135 117 90 12
  edit "", 18, 135 135 90 12
  edit "", 19, 135 154 90 12
  text "İsim :", 20, 113 102 20 10
  text "E-Posta Adresi :", 21, 87 119 48 10
  text "Nick :", 22, 113 137 20 10
  text "Alternatif Nick:", 23, 90 156 45 10
  ;Otomatik Kanal Girişi
  box "Otomatik Kanal Ayarları", 24, 78 24 168 151
  text "Otomatik Kanal  Listesi", 25, 108 38 70 12
  list 26,85 52 150 75
  check Otomatik Giriş Açık, 27, 173 160 62 11, flat
  button "Ekle", 28, 170 127 30 12
  button "Sil", 29, 170 142 30 12
  Text "Kanal  :", 30, 85 129 18 11, read autohs center
  edit "#", 31, 110 127 55 12, autohs
  Text "Şifre :", 32, 85 144 16 12, read autohs center
  edit "", 33, 110 142 55 12, autohs
  Text "Server :", 34, 85 160 21 11, read autohs center
  edit "irc.", 35, 110 158 55 12, autohs
  icon 36, 85 33 100 57, iconkanallar.ico, 0
  ;Otomatik Şifre Girişi
  box "Otomatik Şifre Ayarları", 37, 78 24 168 151
  text "Otomatik Nick İdentify", 38, 108 38 70 12
  list 39, 85 52 150 75
  check Otomatik İdentify Açık, 40, 173 160 62 11, flat
  button "Ekle", 41, 170 127 30 12
  button "Sil", 42, 170 142 30 12
  Text "Kanal  :", 43, 85 129 18 11, read autohs center
  edit "#", 44, 110 127 55 12, autohs
  Text "Şifre :", 45, 85 144 16 12, read autohs center
  edit "", 46, 110 142 55 12, autohs
  Text "Server :", 47, 85 160 21 11, read autohs center
  edit "irc.", 48, 110 158 55 12, autohs
  icon 49, 85 33 100 57, iconkey.ico, 0
}
alias mdx return $dll($mircdir $+ dllmdx.dll,$1,$2-)
alias views { return $shortfn($mircdirdllviews.mdx) }
alias bars { return $shortfn($mircdirdllbars.mdx) }
alias ayarlariac {
  var %i = did -i ayarlar 1 1,%a = did -a ayarlar 1 +e
  %i iconsize normal small
  %i seticon normal 0, $+ icongenel.ico
  %i seticon normal 0, $+ iconkanallar.ico
  %i seticon normal 0, $+ iconkey.ico
  %i seticon normal 0, $+ icongorunum.ico
  %i seticon normal 0, $+ icons3.ico
  %i seticon normal 0, $+ icontoolbar.ico
  %i seticon normal 0, $+ iconsimge.ico
  %i seticon normal 0, $+ iconbalon.ico
  %i cb root 1
  %a 1 1 Bağlantı Menüsü
  %i cb root last 1
  %a 2 2 Oto-Join
  %a 3 3 Oto-Identify
  %i cb root 1
  %a 4 4 Görünümler
  %i cb root last 1
  %a 5 5 Switchbar
  %a 6 6 Toolbar ve Diğer
  %a 7 7 Nicklistesi
  %a 8 8 Tray
  %i cb root 1

}
alias sakla1 { did -h ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49 }
alias goster.baglanti { sakla1 |  did -v ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 }
alias goster.otokanal { sakla1 |  did -v ayarlar 24,25,26,27,28,29,30,31,32,33,34,35,36 }
alias goster.otonick { sakla1 | did -v ayarlar 37,38,39,40,41,42,43,44,45,46,47,48,49 }
on *:dialog:ayarlar:*:*:{
  if ($devent == init) {
    mdx SetMircVersion $version
    mdx MarkDialog $dname
    mdx SetControlMDX $dname 1 treeview hasbuttons haslines > $views
    mdx SetFont $dname  9,15,24,25,37,38 +a 14 600 Arial
    mdx SetColor $dname 9,15,24,37 text $rgb(0,14,255)
    mdx SetControlMDX $dname 26,39 ListView report grid rowselect showsel single  > $views
    mdx SetFont $dname 26,39 13 600 Tahoma
    did -i $dname 26 1 headerdims 100 85 110
    did -i $dname 26 1 headertext +c Kanal $chr(9) Şifre $chr(9) Server
    did -i $dname 39 1 headerdims 100 85 110
    did -i $dname 39 1 headertext +c Nick $chr(9) Şifre $chr(9) Server
    did -i $dname 26,39 1 setbkg color $rgb(248,248,255)
    did -i $dname 26,39 1 settxt color $rgb(0,0,0)
    did -i $dname 26,39 1 settxt bgcolor $rgb(230,230,255)
    mdx SetBorderStyle $dname 4,6
    mdx SetControlMDX $dname 5 toolbar flat list nodivider arrows > $bars
    did -i $dname 5 1 bmpsize 30 30
    mdx SetBorderStyle $dname 5
    mdx SetColor $dname 5 background $rgb(245,245,245)
    did -i $dname 5 1 setimage +nhd 0 icon large icon/ayarlar.ico
    did -i $dname 5 1 bwidth 250 250
    did -a $dname 5 1 a
    mdx SetColor $dname 4,6 background $rgb(245,245,245)
    mdx SetColor $dname 4,6 textbg $rgb(245,245,245)
    mdx SetFont $dname 6 17 600 Tahoma
    ayarlariac
    sakla1
  }
  if ($devent == sclick) {
    if ($did == 1) {
      tokenize 32 $did(1,1,1)
      if ($4 == 2) {
        if (!$5) { goster.baglanti }
        if ($5 == 2) { goster.otokanal }
        if ($5 == 3) { goster.otonick }
      }
    }
  }

Kod sonucu oluşan, MDX TreeView Resimi ise işte karşınızda :



Bu işlemleri tamamlayınca, Şimdi gelelim Kodun sırayla açıklanmasına…

3.Aşama – Kodun Açıklanması

on *:start: { .baglantimenusu }

Bu Komut ; Script açıldığı zaman Mdx TreeView diyalogumuzun açılmasını sağlar. Eğer bu komut olmassa Mdx TreeView açılışta açılmaz. Eğer başlangıçta Mdx TreeView menüsünün açılmasını istemiyorsanız Kodda bu bölümü çıkarınız…

alias baglantimenusu { dialog -m ayarlar ayarlar | did -v ayarlar 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 }
alias otokanal { dialog -m ayarlar ayarlar | did -v ayarlar 24,25,26,27,28,29,30,31,32,33,34,35,36 }
alias otonick { dialog -m ayarlar ayarlar | did -v ayarlar 37,38,39,40,41,42,43,44,45,46,47,48,49 }

satırları dialogların bölümlerini açılmasında kullanacağımız kodlardır.. Bunlar farklı şekildede hazırlanabilirdi, fakat böylesi hem daha anlaşılır hemde kodlamada daha basit bir yöntem.. Tam olarak bunların ne işe yaradığını söylersek; /baglantimenusu komutunu kullandığımızda Bağlantı menüsü olan bölümdeki id’leri içeren alias komutumuz o bölümdeki idleri ( Resim 1 – Bağlantı Menüsü ) içerdiği için sadece o bölümle alakalı idleri açar ve dialogda yer alan diğer idler gösterilmez..

Bunun gibi /otokanal komutunda da sadece o bölümdeki id’leri içeren alias komutumuz o bölümdeki id’leri içerdiği için sadece o bölümle alakalı idleri açar ve dialogda yer alan diğer id’ler gösterilmez.. Yani Bağlantı menüsünde yer alan o idler bu bölümü açtığımızda gösterilmez, saklanır. Böylece hiç bir bölüm birbiriyle karışmaz..

Son olarak /otonick komutunda da Otomatik identify bölümündeki id’leri içeren alias komutumuz o bölümdeki id’leri içerdiği için sadece o bölümle alakalı idleri açar ve dialogda yer alan diğer id’ler gösterilmez..
Görüldüğü gibi böyle bir yöntemle dialogların bölümlerini açtırmak basit bir yöntem olduğu gibi, düzenlenmesi de kolaydır. Hataların düzeltilmesinde, anlaşılmasında da size kolaylık sağlar..

Gelelim Ana dialogumuza; dialogu oluştururken bölüm bölüm başlık yerleştirdim kolaylık olması adına.. Tavsiyem sizde öyle edin.. Bu dialog oluşturma olayına pek girmiyorum ( çünkü bunun dersi zaten var ) ..
title ” X Script – Genel Ayarlar [ Kısayol Tuşu: F6 ] “ –> Bu kod dialogumuzun titlesi

size -1 -1 252 200 –> Bu dialogumuzun boyutlarını içeren kodumuz.. 252 sayısı genişliği belirtirken, 200 sayısı uzunluğunu belirtir..

option dbu –> dialogumuzun yapımında kullandığımız konumlandırma sayların ( sağ, sol üst, alt gibi ) hesaplanacağı yol… Bunun bir diğer seçeneği option pixels ‘dir. Fakat bunu kullanırsanız tüm dialogda yer alan bu sayılarla oynamanız gerekecektir.. options pixels yöntemi daha çok, ince ayar gerektiren dialoglarda kullanılır..

icon iconAyarlar.ico, 0 –> Dialogumuzun Ana iconu..
Şimdi dialogu oluşturan yerlerin açıklamasına geldik;
yukarıdada dialoglarda yer alan bölümlere başlık koyarak işleri kolaylaştıracağız demiştik.. Burada ; Yan Liste bu başlıktır. yani komutsal anlamda hiç bir etkisi yoktur dialoga. Sadece o bölümlere giren kod bölümü nereler diye başlık başlık yaptım ben.. İsterseniz silebilirsiniz..

;Yan Liste
list 1, 5 26 68 149, size extsel –> Dialogumuzun Sol Yan liste menüsüdür.
1 Sayısı o Listenin ID numarasıdır.
– İlk 5 Sayısı: Soldan 5
– 26 Sayısı Üstten 26
– 68 Sayısı genişliği
– 149 Sayısı ise uzunluğunu belirten sayılardır..

;Üst yazı
text “”, 4, 5 3 241 19
list 5, 200 2 25 14, size disable
text ” X Script – Genel Ayarlar Merkezi”, 6, 7 7 170 12
box “”,7, 5 -1 242 23

Bu satırlar dialogun üstünde olan X Script Genel Ayarlar Merkezi yazısını oluşturan ve o bölümün rengini krem-beyazımsı renk haline getiren kodlardır. Bu satırları silebilir yerine resminizi içeren bir kod satırı ekleyebilirsiniz.. Ben bir daha resim ayarlamak ile uğraşmayayım diye böyle bir yol seçtim..

;Bağlantı Menüsü
combo 8, 90 36 90 120, drop
box “Sunucu Ayarları”, 9, 78 24 168 64
button “Ekle”,10, 195 36 30 11
button “Sil”,11, 195 49 30 11
button “Düzenle”,12, 195 62 30 11
button “IRC Servere Bağlan”, 13, 102 54 55 12
check “Yeni Sunucu Penceresi Aç”, 14, 100 71 96 14, flat
box “Bağlantı Ayarları”, 15, 78 90 168 85
edit “”, 16, 135 100 90 12
edit “”, 17, 135 117 90 12
edit “”, 18, 135 135 90 12
edit “”, 19, 135 154 90 12
text “İsim :”, 20, 113 102 20 10
text “E-Posta Adresi :”, 21, 87 119 48 10
text “Nick :”, 22, 113 137 20 10
text “Alternatif Nick:”, 23, 90 156 45 10

Bu satırlar bağlantı menüsünü oluşturan kodlardır.. (Resim-1) Zaten başlıkla bu belirtilmiştir…

;Otomatik Kanal Girişi
box “Otomatik Kanal Ayarları”, 24, 78 24 168 151
text “Otomatik Kanal Listesi”, 25, 108 38 70 12
list 26,85 52 150 75
check Otomatik Giriş Açık, 27, 173 160 62 11, flat
button “Ekle”, 28, 170 127 30 12
button “Sil”, 29, 170 142 30 12
Text “Kanal :”, 30, 85 129 18 11, read autohs center
edit “#”, 31, 110 127 55 12, autohs
Text “Şifre :”, 32, 85 144 16 12, read autohs center
edit “”, 33, 110 142 55 12, autohs
Text “Server :”, 34, 85 160 21 11, read autohs center
edit “irc.”, 35, 110 158 55 12, autohs
icon 36, 85 33 100 57, iconkanallar.ico, 0

Bu satırlar Otomatik Kanal girişini içeren kodlardır.. (Resim-2) Zaten başlıkla bu belirtilmiştir…

__________________

Ağustos 16, 2010 tarihinde Genel içinde yayınlandı ve , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin. Yorum yapın.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: