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

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№103-09-2009 11:31:49

formatC'vt
Участник
 
Группа: Members
Откуда: М.О., г. Ивантеевка
Зарегистрирован: 09-01-2005
Сообщений: 94
UA: Firefox 3.5
Веб-сайт

Свой tooltip в tree

Очень хочется сделать свои tooltip'ы для каждой строки дерева (treerow или treecell, не важно) вместо стандартного поведения (значения label если все на экране не уместилось)
Подскажите, пожалуйста, куда копать.


"Software is like SEX - it's better when it's FREE" (C) Linus Torvalds

Отсутствует

 

№203-09-2009 20:09:49

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.5

Re: Свой tooltip в tree

Можно посмотреть, как сделан список элементов страницы в Adblock Plus.
<treechildren tooltip="elementId">


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№304-09-2009 15:08:27

formatC'vt
Участник
 
Группа: Members
Откуда: М.О., г. Ивантеевка
Зарегистрирован: 09-01-2005
Сообщений: 94
UA: Firefox 3.5
Веб-сайт

Re: Свой tooltip в tree

Infocatcher пишет

Можно посмотреть, как сделан список элементов страницы в Adblock Plus.
<treechildren tooltip="elementId">

Спасибо, разобрался. Ниже пример, единственное "но" - периодически возникает ошибка "tree1.boxObject.getCellAt is not a function", но это не критично.

Выделить код

Код:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
	<tooltip id="treeTooltip" noautohide="true" onpopupshowing="return showTreeTooltip(event)"/>
	<tree id="tree1" flex="1" hidecolumnpicker="true" seltype="single" >
		<treecols>
			<treecol id="name1"  flex="1" label="Name" />
			<treecol id="sex1"   flex="1" label="Sex" />
			<treecol id="color1" flex="1" label="Color" />
			<treecol id="attr1"  flex="1" label="Attribute" />
		</treecols>
		<treechildren tooltip="treeTooltip">
			<treeitem>
				<treerow mytooltip="Pear row tooltip">
					<treecell label="Pearl" />
					<treecell label="Female" />
					<treecell label="Gray" />
					<treecell label="Frumpy" />
				</treerow>
			</treeitem>
			<treeitem>
				<treerow mytooltip="Aramis row tooltip">
					<treecell label="Aramis" />
					<treecell label="Male" />
	 				<treecell label="Black" />
					<treecell label="Cute" />
				</treerow>
			</treeitem>
			<treeitem>
				<treerow mytooltip="Yakima row tooltip">
					<treecell label="Yakima" />
					<treecell label="Male" />
					<treecell label="Holstein" />
					<treecell label="Handsome" />
				</treerow>
			</treeitem>
		</treechildren>
	</tree>
<script type="text/javascript">
<![CDATA[
function showTreeTooltip(event) {
    try {
	let col = {};
	let row = {}; 
	let childElement = {};
	var tree1 = document.getElementById('tree1');
	var treeTooltip = document.getElementById('treeTooltip'); 
	tree1.boxObject.getCellAt(event.clientX, event.clientY, row, col, childElement);
	if (row.value>-1) {
	  var treecell1 = tree1.view.getItemAtIndex(row.value).firstChild;
	  treeTooltip.setAttribute('label',treecell1.getAttribute('mytooltip')+'\nX: '+event.clientX+'\nY: '+event.clientY+'\nrow: '+row.value+'\ncol: '+col.value.id); 
	  return true;
	  } else {
	  return false;
	  }
	}
    catch (e) {
	//alert(e.message);
  	return false;
    }
}   
]]>
</script>
</window>

"Software is like SEX - it's better when it's FREE" (C) Linus Torvalds

Отсутствует

 

№404-09-2009 16:56:37

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.5

Re: Свой tooltip в tree

А если делать
tree.treeBoxObject.getCellAt()
?

Добавлено 04-09-2009 17:01:08
А, нет, это все равно:

Выделить код

Код:

alert(tree1.treeBoxObject === tree1.boxObject); // true

Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№504-09-2009 17:16:04

formatC'vt
Участник
 
Группа: Members
Откуда: М.О., г. Ивантеевка
Зарегистрирован: 09-01-2005
Сообщений: 94
UA: Firefox 3.5
Веб-сайт

Re: Свой tooltip в tree

В случае с treeBoxObject вроде лучше. По крайней мере эта ошибка не появляется и функциональность сохранилась. Спасибо.


"Software is like SEX - it's better when it's FREE" (C) Linus Torvalds

Отсутствует

 

Board footer

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