>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Проблема с перерисовкой xul:tree при использовании CustomTreeView http://forum.mozilla-russia.org/viewtopic.php?id=23740 |
kaero > 09-06-2008 03:54:03 |
Есть tree и объект, реализующий интерфейс nsITreeView. Когда изменяются данные, то перерисовка tree автоматически не происходит. Пробовал вызывать методы invalidate, beginUpdateBatch+endUpdateBatch -- не помогает. А вот если скрыть и показать tree, то он перерисовывается с новыми данными. Смотрел примеры на XUL hub в MDC и на xulplanet. Никаких методов для обновления не нашел. Разбор пары расширений тоже не прояснил ситуацию. Как можно перерисовать дерево? Целевая платформа: FireFox 1.5-2 JS (насколько я понял это минимальная реализация интерфейса): Выделить код Код:var accountsCustomTreeView = this.accountsCustomTreeView = { rowCount: 0, setTree : function(tree){}, getImageSrc : function(row,column) {}, getProgressMode : function(row,column) {}, getCellValue : function(row,column) {}, getCellText : function(row,column){ return "TEST"; }, isSeparator : function(index) {return false;}, isSorted: function() { return false; }, isContainer : function(index) {return false;}, cycleHeader : function(aColId, aElt) {}, getRowProperties : function(row,column,prop){}, getColumnProperties : function(column,columnElement,prop){}, getCellProperties : function(row,prop){} } Собственно xul:tree, находиться в overlay'е для browser.xul, если это имеет значение. Выделить код Код:<tree id="mjolnir-lsw-accounts" flex="1" minheight="68"> <treecols> <treecol id="mjolnir-lsw-tree-haccount" label="&mjolnir.loginswitcher.loginslist.headers.account.label;" flex="3"/> <treecol id="mjolnir-lsw-tree-htype" label="&mjolnir.loginswitcher.loginslist.headers.type.label;" flex="1"/> </treecols> <treechildren/> </tree> |
telega > 10-06-2008 13:52:40 |
После изменения количества строк в дереве, нужно вызывать метод |
kaero > 10-06-2008 13:58:58 |
Спасибо, работает. |