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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№116-04-2012 18:30:59

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 11.0

xul tree c разноцветными строками?

собственно очень хочется реализовать в своем дополнении табличку чтобы в ней строки подсвечивались разными цветами в зависимости от наполнения

к примеру вот тестовая табличка

Выделить код

Код:

<tree flex="1">

  <treecols>
    <treecol id="sender" label="Sender" flex="1"/>
    <treecol id="subject" label="Subject" flex="2"/>
  </treecols>

  <treechildren>
    <treeitem>
      <treerow>
        <treecell label="joe@somewhere.com"/>
        <treecell label="Top secret plans"/>
      </treerow>
    </treeitem>
    <treeitem>
      <treerow>
        <treecell label="mel@whereever.com"/>
        <treecell label="Let's do lunch"/>
      </treerow>
    </treeitem>
  </treechildren>

</tree>

так вот, у узла treechildren есть свойство alternatingbackground, если его сделать true и в стайле  выставить цвет то этого цвета будут все содержащиеся treeitemы этого treechildren, а мне нужно подсвечивать только определенные.

Какие предложения?

Какие будут предложеия?

Отредактировано bidlocoder (16-04-2012 18:35:09)

Отсутствует

 

№216-04-2012 19:12:06

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 12.0

Re: xul tree c разноцветными строками?

bidlocoder пишет

Какие будут предложеия?

Использовать реализацию модели дерева на базе nsITreeView, в реализации определить нужным образом методы getRowProperties (getCellProperties, getColumnProperties). Визуальное оформление задавать в CSS с помощью спец. правил оформления дерева. Практически всё, что вам нужно, описано здесь: Styling a Tree.

Отсутствует

 

№316-04-2012 19:50:16

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 11.0

Re: xul tree c разноцветными строками?

hydrolizer спс за быстрый ответ

css это хорошо, а возможно ли это делать динамически, то-есть с помощью скрипта?

Отсутствует

 

№417-04-2012 03:27:51

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 12.0

Re: xul tree c разноцветными строками?

bidlocoder
Это и делается динамически скриптом - статически заданы только правила CSS; конкретные значения для конкретных строк, на которые реагируют CSS-правила, задаются динамически в скрипте. Что-то типа

Выделить код

Код:

getRowProperties: function(idx, properties)
{
  if (idx>5 && this.data[idx].someProperty==123)
  {
    var aserv=Cc["@mozilla.org/atom-service;1"].getService(Ci.nsIAtomService);
    properties.AppendElement(aserv.getAtom("foo"));
  }
},

в CSS:

Выделить код

Код:

#myTee > treechildren::-moz-tree-row(foo) {
  background-color: #ABCDEF;
}

- когда в дереве окажется элемент, удовлетворяющий условию, записанному в getRowProperties, то в свойства этого элемента будет добавлен атом foo, на который среагирует CSS.

Отсутствует

 

№518-04-2012 15:14:36

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 11.0

Re: xul tree c разноцветными строками?

спасибо разобрался

Отсутствует

 

Board footer

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