MessageTextView, версия 1.0.
Автор Ал.В. Сариков.
Херсон, Украина, 2006 г.
E-mail: avix@ukrpost.net.
Сайт: http://avix.pp.ru.Класс выполнен на основе и с использованием кода класса URLView версии 2.11, созданного William Kakes из Tall Hill Software (http://www.tallhill.com).
Наследован от: public BStringView, public BInvoker
Объявлен в: MessageTextView.h
Функции: далее...
Класс реализует BStringView с подчеркиваемым текстом и реагирующий на нажатия мышью. При нажатии мышью передается сообщение аналогично кнопке BButton. Но, в отличие от кнопки, класс MessageTextView не предоставляет возможности клавиатурной навигации.
Класс выполнен путем переделки кода класса URLView. Используемая часть оригинального кода сохранена в неизменном виде. Убраны строки, ненужные или мешающие достижению цели, поставленной для класса MessageTextView. В незначительном объеме добавлен код, отвечающий за передачу сообщений приемнику (работа с сообщениями полностью возлагается на функции, наследованные от класса BInvoker, и в настоящем описании не рассматривается). Добавлены функции, возвращающие значения цветов (ссылки активной, неактивной, подсвеченной), состояния ссылки, толщины подчеркивания.
MessageTextView предоставляется как есть без каких-либо гарантий. Используя его, вы делаете это на свой страх и риск.
MessageTextView() |
MessageTextView(BRect frame, const char *name, const char *label, BMessage *msg,
uint32 resizingMode = B_FOLLOW_LEFT | B_FOLLOW_TOP, uint32 flags = B_WILL_DRAW)Инициализирует MessageTextView с установкой системного шрифта be_plain_font и метки label синего цвета с толщиной подчеркивания в один пиксел. Аргументы frame, name, resizingMode и flags передаются без изменения в конструктор BView, msg - в конструктор BInvoker.
Прямоугольник frame должен быть достаточно большим для отображения целой метки ссылки текущим шрифтом. Ссылка рисуется от нижнего края границы и по умолчанию выравнена влево. Цвета и некоторые возможности могут быть изменены различными методами класса.
Конструктор подразумевает, что некоторые величины имеют значения по умолчанию, которые могут быть изменены использованием методов Set(). Так, цвет ссылки - синий, нажатой ссылки - красный. Когда курсор мыши над ссылкой, ее цвет становится темно-синим (не только цвет может быть изменен, но и это поведение). Толщина подчеркивания - один пиксел.
~MessageTextView() |
virtual ~MessageTextView() Освобождает метку и курсор.
ClickColor() см. SetClickColor() |
Color() см. SetColor() |
DisabledColor() см. SetDisabledColor() |
HoverColor() см. SetHoverColor() |
IsEnabled() см. SetEnabled() |
IsHoverEnabled() см. SetHoverEnabled() |
ClickColor() , SetClickColor() |
virtual rgb_color ClickColor(void) const virtual void SetClickColor(rgb_color color) virtual void SetClickColor(uchar red, uchar green, uchar blue, uchar alpha = 255 ) ClickColor() возвращает цвет, которым рисуется ссылка, когда на нее нажимают.
SetClickColor() устанавливает этот цвет.
Color() , SetColor() |
virtual rgb_color Color(void) const virtual void SetColor(rgb_color color) virtual void SetColor(uchar red, uchar green, uchar blue, uchar alpha = 255 ) Color() возвращает цвет, которым рисуется ссылка, когда она не нажата и курсор мыши не находится над ней.
SetColor() устанавливает этот цвет.
Замечание: Недостаточно использовать SetHighColor() в MessageTextView. Должна вызываться именно функция SetColor().
DisabledColor() , SetDisabledColor() |
virtual rgb_color DisabledColor(void) const virtual void SetDisabledColor(rgb_color color) virtual void SetDisabledColor(uchar red, uchar green, uchar blue, uchar alpha = 255 ) DisabledColor() возвращает цвет, которым рисуется неактивная ссылка.
SetDisabledColor() устанавливает этот цвет. Для деактивации ссылки используйте функцию SetEnabled().
IsEnabled() , SetEnabled() |
virtual bool IsEnabled(void) virtual void SetEnabled(bool enabled ) IsEnabled() возвращает значение, показывающее, активна ли ссылка в данный момент.
SetEnabled() делает ссылку активной или неактивной. Если она неактивна, ее вид и поведение будет аналогичным нормальному BStringView (т.е. не будет отрисовываться подчеркивание, она не будет подсвечиваться и реагировать на нажатия мышью). По умолчанию будет отрисовываться серым цветом, но цвет можно переопределить функцией SetDisabledColor().
HoverColor() , SetHoverColor() |
virtual rgb_color HoverColor(void) const virtual void SetHoverColor(rgb_color color) virtual void SetHoverColor(uchar red, uchar green, uchar blue, uchar alpha = 255 ) HoverColor() возвращает цвет, которым рисуется ссылка при наведении на нее мышью.
SetHoverColor() устанавливает этот цвет. Подсвечивание ссылки может быть отключено функцией SetHoverEnabled().
IsHoverEnabled() , SetHoverEnabled() |
virtual bool IsHoverEnabled(void) virtual void SetHoverEnabled(bool hover) IsHoverEnabled() возвращает значение, показывающее, будет ли подсвечена ссылка при наведении на нее мышью.
SetHoverEnabled() определяет, подсвечивать ли ссылку при наведении на нее мышью. Цвет подсветки задается функцией SetHoverColor().
UnderlineThickness() , SetUnderlineThickness() |
virtual int UnderlineThickness(void) virtual void SetUnderlineThickness(int thickness) UnderlineThickness() возвращает толщину подчеркивания в пикселах.
SetUnderlineThickness() задает толщину подчеркивания в пикселах. Как правило вы захотите использовать толщину по умолчанию (один пиксел), но для большего размера текста большая величина может быть более желательной. Эти функции будут устранены, когда система шрифтов BeOS сможет обрабатывать подчеркивание для всех шрифтов.
UnderlineThickness() см. SetUnderlineThickness() |