В дереве XUL как тестируется один формат в cell RTL?

#firefox #tree #xul #right-to-left

#firefox #дерево #xul #справа налево

Вопрос:

В XUL у меня есть дерево (которое является именем XUL для сетки данных / таблицы)

 <tree id="configTree" flex="1" seltype="single"          
          enableColumnDrag="true" context="configContext" hidecolumnpicker="true">
           <treecols>
    <treecol label="" editable="true"/>
    <splitter class="tree-splitter" />
    <treecol label="Term" flex="1"/>
    <splitter class="tree-splitter" />
    <treecol label="Counts" flex="1" />
  </treecols>
      <treechildren>
    <treeitem>
      <treerow>
      <treecell label=""/>
        <treecell label="מִמַּקֵּדָ֖ה"/>
        <treecell label="1"/>
      </treerow>
    </treeitem>
    <treeitem>
      <treerow>
        <treecell label=""/>
        <treecell label="צְא֖וּ כָל־אַנְשֵׁי־חַ֣יִ"/>
        <treecell label="2"/>
      </treerow>
    </treeitem>
  </treechildren>
</tree>
  

Тест во вторых столбцах предназначен для отображения RTL.

Я попытался применить css «direction: rtl» в файле css в разных местах.

 treechildren::::-moz-tree-cell-text
{
  direction:rtl;
}
treechildren::::-moz-tree-cell
{
  direction:rtl;
}
  

Я знаю, что селекторы работают так же, как и при добавлении, background-color: red; а также direction:rtl я вижу изменение цветов в ячейках, строках и столбцах.

В настоящее время отображается следующим образом: Снимок экрана, показывающий, как он отображается в данный момент

Комментарии:

1. К сожалению, я не знаю вашего языка…. Похоже, что это RTL, но все это выровнено по левому краю… Правильно? И вы хотите выровнять его по правому краю, потому что это был бы правильный способ его отображения?

2. Да, большая часть формы на английском, но в этом столбце должен отображаться текст на разных языках. В этом примере используется иврит, который должен отображать RTL.

Ответ №1:

Насколько я знаю и насколько я понимаю код, вы можете установить только direction либо для всего дерева, либо для отдельных целых столбцов дерева (см. упоминания о moztreecell / moztreecelltext в nsTreeBodyFrame.cpp ). Потому что, по сути, <treecell> s преобразуются в анонимные поля построителем дерева, и для них поддерживаются только определенные правила CSS.

Это означает, что вы не можете контролировать direction на уровне ячейки.

Итак, это может сработать (в определенной степени):

 <treecol label="Term" flex="1" style="direction: rtl;"/>