IVZTreeMap.ColorVisual

Синтаксис Fore

ColorVisual: IVZColorVisual;

Синтаксис Fore.NET

ColorVisual: Prognoz.Platform.Interop.Visualizators.VZColorVisual;

Описание

Свойство ColorVisual определяет визуализатор сопоставления данных плоского дерева цветам заливки их дочерних элементов.

Пример Fore

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Модуль, в котором размещается пример, должен иметь ссылки на системные сборки Drawing, Express, Metabase и Visualizators. Указанная процедура должна вызываться из точки входа Main.

До выполнения примера плоское дерево выглядит так, как показано на странице описания интерфейса IVZTreeMap. Установим для плоского дерева красный цвет заливки разной насыщенности:

Sub UserProc;
Var
    Metabase: IMetabase; // Метабаза
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    TreeMap: IVZTreeMap; // Плоское дерево
    ColorVisual: IVZColorVisual; // Визуализатор цвета
    ColorMapping: IVZDataSourceMapping; // Настройки сопоставления данных цветам
    Scale: IVZDataScale; // Шкала цветов
    i: Integer; // Счётчик цикла
    Item: IGxSolidBrush; // Элементы шкалы цветов
    Color: IGxColor;
Begin
    // Получим объект метабазы
    Metabase := MetabaseClass.Active;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById("EXP").Edit As IEaxAnalyzer;
    // Получим плоское дерево
    TreeMap := EaxAnalyzer.TreeMap.TreeMap;
     // Получим визуализатор цвета
    ColorVisual := TreeMap.ColorVisual;
    // Получим настройки сопоставления данных цветам
    ColorMapping := ColorVisual.ColorMapping;
    // Получим шкалу цветов
    Scale := ColorMapping.Scale;
    // Выполним обход по всем элементам шкалы
    For i := 0 To Scale.ItemsCount - 1 Do
        // Получим элемент шкалы
        Item := Scale.Item(i) As IGxSolidBrush;
        // Создадим красный цвет
        Color := New GxColor.CreateRGB(255 - 40 * i, 00);
        // Установим созданный цвет текущему элементу шкалы
        Item.Color := Color;
    End For;
    // Установим обновлённую шкалу
    ColorMapping.Scale := Scale;
    // Сохраним экспресс-отчет
    (EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера листья плоского дерева были окрашены в красный цвет разной интенсивности:

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Указанная процедура является точкой входа Main в модуле Program .NET-сборки. В данный модуль должны быть импортированы сборки Drawing, Express, Metabase и Visualizators из системной сборки Prognoz.Platform.Interop.

До выполнения примера плоское дерево выглядит так, как показано на странице описания интерфейса IVZTreeMap. Установим для плоского дерева красный цвет заливки разной насыщенности:

Public Shared Sub Main(Params: StartParams);
Var
    Metabase: IMetabase; // Метабаза
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    TreeMap: IVZTreeMap; // Плоское дерево
    ColorVisual: IVZColorVisual; // Визуализатор цвета
    ColorMapping: IVZDataSourceMapping; // Настройки сопоставления данных цветам
    Scale: IVZDataScale; // Шкала цветов
    i: Integer; // Счётчик цикла
    Item: IGxSolidBrush; // Элементы шкалы цветов
    Color: GxColor;
Begin
    // Получим объект метабазы
    Metabase := Params.Metabase;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById["EXP"].Edit() As IEaxAnalyzer;
    // Получим плоское дерево
    TreeMap := EaxAnalyzer.TreeMap.TreeMap; 
    // Получим визуализатор цвета
    ColorVisual := TreeMap.ColorVisual;
    // Получим настройки сопоставления данных цветам
    ColorMapping := ColorVisual.ColorMapping;
    // Получим шкалу цветов
    Scale := ColorMapping.Scale;
    // Выполним обход по всем элементам шкалы
    For i := 0 To Scale.ItemsCount - 1 Do
        // Получим элемент шкалы
        Item := Scale.Item[i] As IGxSolidBrush;
        // Создадим красный цвет
        Color := New GxColor();
        Color.CreateRGB(255 - 40 * i, 00);
        // Установим созданный цвет текущему элементу шкалы
        Item.Color := Color;
    End For;
    // Установим обновлённую шкалу
    ColorMapping.Scale := Scale As VZDataScaleClass;    
    // Сохраним экспресс-отчет
    (EaxAnalyzer As IMetabaseObject).Save();
End Sub;

Результат выполнения примера аналогичен результату, полученному после выполнения примера для языка Fore.

См. также:

IVZTreeMap