Re[3]: Style
От: yarus23  
Дата: 02.07.09 19:55
Оценка:
Здравствуйте, cgibin, Вы писали:

C>Здравствуйте, c-smile, Вы писали:


CS>>Get/SetItem by index это очень low level операция. Делать для неё undefined item handler не представляется возможным.

C>Тады ой Будем по-старинке — saveStyle(name, value)
CS>>Да и чем он тебе поможет-то? Есть два случая: модификация существующего member и добаление нового.
C>Да, тут всё же речь идёт о возможности подписки на операции Get/SetItem by index

Ну зачем по старинке. А давай забабахаем прокси класс:
class StyleProxy
{
   function this(obj)
   {
     this.obj = obj;
   }
   
   function commit()
   {
      // commit and save
      for(i in this)
      {
         if( obj[i]] )
         {
            saveStyle(i.toString(), this[i]);
            obj[i] = this[i];
         }
      }
   }
}


потом:

var persistentStyle = StyleProxy(realStyle);
persistentStyle["background-color"] = color("red");
persistentStyle.commit();

Не проверял, но схема приблизительно такая.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.