Şu sıralar Jargon'un yan projelerinden biri olan Jargon Firefox eklentisi için
XUL yazıyorum.
Ayarlar diyaloğunda siteleri ve bu sitelere girildiğinde hangi jargonun çağırılacağını belirten bir
listbox var. listbox'un iki sütunu var; site adı ve jargon. Kullanıcı istediği siteyi listeye ekleyeceği zaman site adını yazıyor ve "ekle" düğmesine basıyor. Sorun da burada başlıyor zaten;
XUL dokümanyasyonunda listbox için appendItem(item) metodunu kullanın diyor ancak appendItem birden fazla sütun olduğunda işe yaramıyor; yarattığım satırlar bomboş görünüyor.
Sonradan öğrendim ki listbox'ta birden fazla sütun olduğunda appendItem(item) yerine appendChild(item) kullanmak gerekiyormuş. Ayrıca listcell ve listitem'ın label özelliğini değiştirmek için setAttribute(attrName, attrValue) kullanmak gerekiyormuş. Örnek javascript kodu aşağıda (aynen an itibariyle Jargon Firefox eklentisinde olduğu gibi):
var item = document.createElement('listitem');
var cellSite = document.createElement('listcell');
cellSite.setAttribute('label', site);
var cellJargon = document.createElement('listcell');
cellJargon.setAttribute('label', 'tr-TR');
item.appendChild(cellSite);
item.appendChild(cellJargon);
item.setAttribute('label', site);
if (this.getSiteIndex(site) < 0)
{
listSites.appendChild(item);
txtAddSite.value = '';
}(Bu arada az önce
dasBlog'un kullandığı FreeTextBox'un kod ekleme özelliğini keşfettim. xBlog'a eklemek istediğim ama zaman ayıramadığım birşeydi. "breh breh breh..." diyorum)
Not : Jargon adlı projeye
http://jargon.ajitatif.com adresinden erişebilirsiniz. Zamanı gelince reklamını yapacağım. Eksiği var fazlası yok...