Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№109-06-2008 03:54:03

kaero
Участник
 
Группа: Members
Зарегистрирован: 09-06-2008
Сообщений: 2
UA: Firefox 2.0

Проблема с перерисовкой xul:tree при использовании CustomTreeView

Есть 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>

Отредактировано kaero (09-06-2008 14:46:38)

Отсутствует

 

№210-06-2008 13:52:40

telega
Участник
 
Группа: Extensions
Зарегистрирован: 09-09-2007
Сообщений: 1444
UA: Firefox 3.0

Re: Проблема с перерисовкой xul:tree при использовании CustomTreeView

После изменения количества строк в дереве, нужно вызывать метод
rowCountChanged(index, count); См. http://groups.google.com/group/mozilla. … d6fb424011

Отсутствует

 

№310-06-2008 13:58:58

kaero
Участник
 
Группа: Members
Зарегистрирован: 09-06-2008
Сообщений: 2
UA: Firefox 2.0

Re: Проблема с перерисовкой xul:tree при использовании CustomTreeView

Спасибо, работает.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]