From 0e9e528e18ff63d46e5b3471d6fa12344b0d28b3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 2 Jul 2015 19:04:50 +0000 Subject: unified project for clist_modern git-svn-id: http://svn.miranda-ng.org/main/trunk@14473 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Clist_modern/src/modern_row.h | 87 +++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 plugins/Clist_modern/src/modern_row.h (limited to 'plugins/Clist_modern/src/modern_row.h') diff --git a/plugins/Clist_modern/src/modern_row.h b/plugins/Clist_modern/src/modern_row.h new file mode 100644 index 0000000000..ad84c94071 --- /dev/null +++ b/plugins/Clist_modern/src/modern_row.h @@ -0,0 +1,87 @@ +#ifndef modern_row_h__ +#define modern_row_h__ + +#pragma once + + +// Types of cells +#define TC_TEXT1 1 +#define TC_TEXT2 2 +#define TC_TEXT3 3 +#define TC_STATUS 4 +#define TC_AVATAR 5 +#define TC_EXTRA 6 +#define TC_EXTRA1 7 +#define TC_EXTRA2 8 +#define TC_EXTRA3 9 +#define TC_EXTRA4 10 +#define TC_EXTRA5 11 +#define TC_EXTRA6 12 +#define TC_EXTRA7 13 +#define TC_EXTRA8 14 +#define TC_EXTRA9 15 +#define TC_TIME 16 +#define TC_SPACE 17 +#define TC_FIXED 18 + + +#define TC_ELEMENTSCOUNT 18 + +// Containers +#define TC_ROOT 50 +#define TC_ROW 51 +#define TC_COL 52 +#define TC_FLOAT 53 + +// Alignes +#define TC_LEFT 0 +#define TC_HCENTER 100 +#define TC_RIGHT 101 + +#define TC_TOP 0 +#define TC_VCENTER 102 +#define TC_BOTTOM 103 + +// Sizes +#define TC_WIDTH 104 +#define TC_HEIGHT 105 + + + +// Структура, описывающая контейнер элемента контакта +// +typedef struct tagRowCell +{ + int cont; // Тип контейнера - контакт, сторока, столбец + int type; // Тип элемента, содержащегося в контейнере, если 0 - пустой контейнер + int halign; // Горизонтальное выравнивание внутри контейнера + int valign; // Вертикальное выравнивание внутри контейнера + + int w; // Ширина элемента контакта, для текстовых полей игнорируется + int h; // Высота элемента котнакта + + BOOL sizing; // Параметр, показывающий наличие текстовых полей в дочерних контейнерах + BOOL layer; // Параметр, показывающий, что контейнер образует новый слой + + BOOL hasfixed; // Параметр показывающий что есть вложенные фиксированные элементы + BOOL fitwidth; // Параметр указывающий что последний элемент заполняет все оставшееся + // Пространство (расстягивает родителя.оверлей) + + int fixed_width; + int full_width; + + RECT r; // Прямоугольник для рисования элемента + struct tagRowCell * next; // Поле связи + struct tagRowCell * child; // Поле связи см. файл описания +} +ROWCELL, *pROWCELL; + +// Структура для доступа к контейнерам элемента контакта внутри дерева опивания +#ifndef _CPPCODE +int cppCalculateRowHeight(ROWCELL *RowRoot); +void cppCalculateRowItemsPos(ROWCELL *RowRoot, int width); +ROWCELL *cppInitModernRow(ROWCELL ** tabAccess); +void cppDeleteTree(ROWCELL * RowRoot); +#endif + +#endif // modern_row_h__ \ No newline at end of file -- cgit v1.2.3