Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Prototype Javascript Framework üzerine yazılmış pencere kütüphanesi. Bununla browser içinde pencereler oluşturabilir, bu pencerelerle sürükleme, resize etme, maximize/minimize etme gibi şeyleri yapabilirsiniz.

http://prototype-window.xilinus.com

Not: Eğer indirir kullanırsanız, küçük bir problemi var. Aktif pencerenin rengini değiştirmiyor. Bu da kullanıcı tecrübelerine (look & feel) zıt bir durum oluşturduğu için rahatsızlığa neden oluyor. Bunu düzeltmek için bir-kaç satır kod yazdım. Dilerseniz, aşağıdaki gibi uygulayabilirsiniz.

1. Önce WindowsUtilities sınıfına iki özellik ekliyoruz:
var WindowUtilities = {
  className: 'alphacube',
  activeClassName: 'spread',
Bu; pasif pencereler alphacube temasıyla, aktif pencereler de spread temasıyla gösterilecek demek.

2. Window sınıfının initialize isimli fonksiyonunda aşağıdaki değişikliği yapıyoruz:

    ...
    this.options = Object.extend({
      className:         WindowUtilities.className,
      minWidth:          100,
      ...

3. Window sınıfına aşağıdaki metodu ekliyoruz. Bu metod bir pencerenin temasını runtime'da değiştirebilmemizi sağlıyor.
  setClassName: function(className){
    var allElms = this.element.descendants();
    for(var i=0; i<allElms.length; i++){
        var elm = allElms[i];
        elm.className = elm.className.replace(this.options.className, className);
    }
    this.options.className = className;
  },
Son satırdaki virgüle dikkat! Eğer sona ekliyorsanız bu virgülü kaldırınız. (Bkz: JSON)

4. Son olarak Windows sınıfının updateZindex fonksiyonunu aşağıdaki gibi değiştiriyoruz:
  updateZindex: function(zindex, win) {
    if (zindex > this.maxZIndex)
      this.maxZIndex = zindex;
    //BK: change classname of old focused window.
    if(this.focusedWindow) this.focusedWindow.setClassName(WindowUtilities.className);
    //BK: change classname of new focused window.
    win.setClassName(WindowUtilities.activeClassName);
    this.focusedWindow = win;
  }

Bu kadar.
fizikci
31 Mart 2007 13:08
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.
© 2005, Bilişim Kulübü. (1046 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen