IVZBubbleTree.ColorVisual

Синтаксис Fore

ColorVisual: IVZColorVisual;

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

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

Описание

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

Пример Fore

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

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

Sub UserProc;
Var
    Metabase: IMetabase; // Метабаза
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    ColorVisual: IVZColorVisual; // Визуализатор цвета
    ColorMapping: IVZDataSourceMapping; // Настройки сопоставления данных цветам
    Scale: IVZDataScale; // Шкала цветов
    i: Integer; // Счётчик цикла
    Item: IGxSolidBrush; // Элементы шкалы цветов
    Color: IGxColor;
Begin
    // Получим объект метабазы
    Metabase := MetabaseClass.Active;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById("EXP").Edit As IEaxAnalyzer;
    // Получим пузырьковое дерево
    BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
    // Получим визуализатор цвета
    ColorVisual := BubbleTree.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.

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

Public Shared Sub Main(Params: StartParams);
Var
    Metabase: IMetabase; // Метабаза
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    ColorVisual: IVZColorVisual; // Визуализатор цвета
    ColorMapping: IVZDataSourceMapping; // Настройки сопоставления данных цветам
    Scale: IVZDataScale; // Шкала цветов
    i: Integer; // Счётчик цикла
    Item: IGxSolidBrush; // Элементы шкалы цветов
    Color: GxColor;
Begin
    // Получим объект метабазы
    Metabase := Params.Metabase;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById["EXP"].Edit() As IEaxAnalyzer;
    // Получим пузырьковое дерево
    BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
    // Получим визуализатор цвета
    ColorVisual := BubbleTree.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.

См. также:

IVZBubbleTree