Данный виджет служит для визульного отображения относительного значения.
Создание виджета. Возращает ссылку на созданный виджет или NULL, если создать не удалось.
В остальных функциях в качестве histogram нужно передавать ссылку на созданный виджет.
CDKHISTOGRAM *newCDKHistogram (CDKSCREEN *cdkscreen, int xpos, int ypos, int height, int width, int orient, char *title, boolean box, boolean shadow);
Уничтожение виджета.
void destroyCDKHistogram (CDKHISTOGRAM *histogram);
Удаление виджета с экрана. (Сам виджет не удаляется.)
void eraseCDKHistogram (CDKHISTOGRAM *histogram);
Установика атрибутов фона виджета attribute.
void setCDKHistogramBackgroundAttrib (CDKHISTOGRAM *histogram, chtype attribute);
Прорисовка виджета.
void drawCDKHistogram (CDKHISTOGRAM *histogram, boolean box);
Активация виджета. Для данного виджета то же самое что и drawCDKHistogram.
void activateCDKHistogram (CDKHISTOGRAM *histogram, chtype unused);
Получение максимального значения.
int getCDKHistogramHighValue (CDKHISTOGRAM *histogram);
Получение минимального значения.
int getCDKHistogramLowValue (CDKHISTOGRAM *histogram);
Получение текущего значения.
int getCDKHistogramValue (CDKHISTOGRAM *histogram);
Установка минимального, максимального и текущего значения.
void setCDKHistogramValue (CDKHISTOGRAM *histogram, int lowValue, int highValue, int currentValue);
Получение символа которым заполняется виджет.
chtype getCDKHistogramFillerChar (CDKHISTOGRAM *histogram);
Установка символа которым заполняется виджет.
void setCDKHistogramFillerChar (CDKHISTOGRAM *histogram, chtype fillerCharacter);
Получение атрибутов статистики.
chtype getCDKHistogramStatsAttr (CDKHISTOGRAM *histogram);
Установка атрибутов статистики.
void setCDKHistogramStatsAttr (CDKHISTOGRAM *histogram, chtype statsAttribute);
Получение позиции статистики.
int getCDKHistogramStatsPos (CDKHISTOGRAM *histogram);
Установка позиции статистики.
void setCDKHistogramStatsPos (CDKHISTOGRAM *histogram, int statsPosition);
Получение вида.
EHistogramDisplayType getCDKHistogramViewType (CDKHISTOGRAM *histogram);
Установка вида.
void setCDKHistogramDisplayType (CDKHISTOGRAM *histogram, EHistogramDisplayType viewtype);
Установка состояния виджета.
void setCDKHistogram (CDKHISTOGRAM *histogram, EHistogramDisplayType viewType, int statsPos, chtype statsAttribute, int lowValue, int highValue,
int currentValue, chtype fillerCharacter, boolean box);
Перемещение виджета.
void moveCDKHistogram (CDKHISTOGRAM *histogram, int xpos, int ypos, boolean relative, boolean refresh);
Управление положением виджета клавишами курсора.
void positionCDKHistogram (CDKHISTOGRAM *histogram);
Есть ли рамка у виджета.
boolean getCDKHistogramBox (CDKHISTOGRAM *histogram);
Изменить наличие рамки в виджете.
void setCDKHistogramBox (CDKHISTOGRAM *histogram, boolean box);
Установка атрибутов attribute для рамки.
void setCDKHistogramBoxAttribute (CDKHISTOGRAM *histogram, chtype character);
Установка символа character выводимого по горизонтали рамки.
void setCDKHistogramHorizontalChar (CDKHISTOGRAM *histogram, chtype character);
Установка символа character выводимого по вертикали рамки.
void setCDKHistogramVerticalChar (CDKHISTOGRAM *histogram, chtype character);
Установка символа character выводимого в левом нижнем углу рамки.
void setCDKHistogramLLChar (CDKHISTOGRAM *histogram, chtype character);
Установка символа character выводимого в правом нижнем углу рамки.
void setCDKHistogramLRChar (CDKHISTOGRAM *histogram, chtype character);
Установка символа character выводимого в левом верхнем углу рамки.
void setCDKHistogramULChar (CDKHISTOGRAM *histogram, chtype character);
Установка символа character выводимого в правом верхнем углу рамки.
void setCDKHistogramURChar (CDKHISTOGRAM *histogram, chtype character);
/* w_histogram.c - пример простой программы демонстрирующей возможности виджета Histogram библиотеки CDK. (C) Copyright 2006 Бердников Александр alexber220@yandex.ru Данная программа распростаняется по лицензии BSD. */ #include <cdk.h> int main(int argc, char *argv[]) { CDKSCREEN *cdkscreen; CDKHISTOGRAM *histogram; WINDOW *screen; // инициализация screen = initscr(); cdkscreen = initCDKScreen(screen); initCDKColor(); //создаём виджет histogram = newCDKHistogram(cdkscreen, 10, 10, 1, 20, HORIZONTAL, "Установка", TRUE, FALSE); //устанавливаем состояние setCDKHistogram(histogram, vPERCENT, CENTER, A_BOLD, 0, 10, 5, ' '| A_REVERSE, TRUE); //прорисовываем refreshCDKScreen (cdkscreen); sleep (5); //освобождаем ресурсы destroyCDKHistogram(histogram); destroyCDKScreen(cdkscreen); endCDK(); return 0; }