tree_show Отображает в виде дерева содержимое list, tlist, mlist, cell-массивы или массивы структур, Xcos block

## Синтаксис

                tree_show(x)
                tree_show(x, rootTitle)
                tree_show(x, rootTitle, styles)
                tree_show(x, rootTitle, styles, arrayByFields)

## Аргументы

x

  Контейнер для отображения. Поддерживаемые контейнеры list, mlist, tlist, cell-массивы или массивы структур, identifier of an Xcos block. Другие контейнеры могут быть вложены в `x`.

rootTitle

  Отдельная строка: напрямую указанная метка корня дерева, например, имя переменной `x` в вызываюжщем окружении. По умолчанию `""`.

  Для изменения стиля названия корня могут использоваться теги стилей HTML.4. Например: "`<html><font color="red"><b>Название</b>`" отобразит Название жирным красным шрифтом.
styles

  Отдельная строка: тег стиля HTML.4, включающий символ `"$"`, который будет заменяться адресом данных (имена полей, индексы списков...).

  Опция `styles` может исползоваться для настройки стилей либо адресов, либо соответствующее содержимое или и то и другое. Примеры:

  - `"<b>$</b>"` : адрес жирным, содержимое нормальным чёрным шрифтом.
  - `"$<i>"` : адрес нормальным, содержимое курсивным шрифтом.
  - `"<i>$"` : и адрес и содержимое курсивным шрифтом.
  - `"<font color=''grey''>$</font><i>"` : адрес серым, содержимое курсивным шрифтом.

  По умолчанию = `"<font color=""blue"">$</font>"` (адрес синим, содержимое чёрным шрифтом).

  Установка `""` удаляет стилевое оформление.

arrayByFields

  Отдельное логическое значение, используемое только для массивов структур:

  %T : | Для каждого поля структуры отображается массив его значений.
  %F : | Для каждой структуры массива отображаются её поля и их значения.

  Выбранный режим отображения используется также для каждого вложенного массива структур на любой глубине.

## Описание

Создаёт окно и отображает указанный контейнер в виде дерева.

Это окно не имеет дескриптора.

## Примеры

list(), включая cell-массив :

    films = struct("Title", "A.I. Artificial Intelligence",..
                   "Year", 2001, ..
                   "Director", "Steven Spielberg", ..
                   "Duration", 140);
    L = list([%t %f %f],                ..
             $:-1:3,                    ..
             int8([1 2 3 ; 4 5 6]),     ..
             [-%inf, -1, 0, %i, 7.1, 3.3e20, %inf, %nan], ..
             sparse([0 1 2; 3 0 4]),    ..
             ["This" "is" "some" "text"], ..
             ,              ..
             sin,           ..
             logspace,      ..
             iolib,         ..
             {%pi, "abcd" ;
              list(,)(1),(%i-%s)^3},    ..
              {},           ..
             films);
    tree_show(L)

Использование опций rootTitle и styles :

    // Данные для отображения:
    clear films
    films(1) = struct("Title", "A.I. Artificial Intelligence",..
                      "Year", 2001, ..
                      "Director", "Steven Spielberg", ..
                      "Duration", 140);
    films(2,2) = struct("Title", "I, robot", ..
                        "Year", 2004, ..
                        "Director", "Alex Proyas", ..
                        "Duration", 120);

    // Стилевое оформление как адресов, так и содержимого:
    mainTitle = "<html><b>Films (A)</b>";
    tree_show(films, mainTitle , "<font color=""red"">$</font><i>");

    // Стилевое оформление только содержимого:
    mainTitle = "<html><b>Films (B)</b>";
    tree_show(films([1 4]), mainTitle, "$<font color=""green"">", %t);

Массив структур :

    clear films
    films(1) = struct("Title", "A.I. Artificial Intelligence",..
                  "Year", 2001, ..
                  "Director", "Steven Spielberg", ..
                  "Duration", 140);
    films(2) = struct("Title", "I, robot", ..
                  "Year", 2004, ..
                  "Director", "Alex Proyas", ..
                  "Duration", 120);
    films(1,2) = struct("Title", "Gravity", ..
                    "Year", 2013, ..
                    "Director", "Alfonso Cuarón", ..
                    "Duration", 100);
    films(2,2) = struct("Title", "2001: A space odyssey", ..
                    "Year", 1968, ..
                    "Director", "Stanley Kubrick", ..
                    "Duration", 141);

    tree_show(films(:),"Films (I)");
    tree_show(films   ,"Films (II)");
    tree_show(films(:),"Films (III)", , %t);
    tree_show(films   ,"Films (IV)" , , %t);

    2x2 struct array with fields:
       Title
       Director
       Year
       Duration

С пользовательским tlist или mlist :

    // Для mlist:
    str = ['a','b','c','d','e','f','g','h'];
    n = matrix(str, [2,2,2]);
    v = matrix(1:8, [2,2,2]);
    Mm = mlist(['V','name','value'],n,v);
    tree_show(Mm);

    // Для tlist:
    Mt = tlist(['V','name','value'],['a','b','c'],[1 2 3]);
    tree_show(Mt);

For an Xcos block :

    loadXcosLibs();

    blk = BIGSOM_f("define");
    tree_show(blk)

## Смотрите также

- uiDisplayTree
- uiDumpTree
- prettyprint
- editvar
- browsevar

## История

6.1.0

- Добавлены входные опции rootTitle, styles и arrayByFields.
- Теперь поддерживаются входные контейнеры, включающие пустые элементы.