Данный виджет служит для визульного отображения относительного значения.
Создание виджета. Возращает ссылку на созданный виджет или 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;
}