summaryrefslogtreecommitdiff
path: root/plugins/Clist_modern/src/modern_row.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Clist_modern/src/modern_row.cpp')
-rw-r--r--plugins/Clist_modern/src/modern_row.cpp102
1 files changed, 51 insertions, 51 deletions
diff --git a/plugins/Clist_modern/src/modern_row.cpp b/plugins/Clist_modern/src/modern_row.cpp
index e5406aea4a..a8a0d51ecc 100644
--- a/plugins/Clist_modern/src/modern_row.cpp
+++ b/plugins/Clist_modern/src/modern_row.cpp
@@ -2,7 +2,7 @@
Miranda NG: the free IM client for Microsoft* Windows*
-Copyright () 2012-17 Miranda NG project (https://miranda-ng.org),
+Copyright (с) 2012-17 Miranda NG project (https://miranda-ng.org),
Copyright (c) 2000-08 Miranda ICQ/IM project,
all portions of this codebase are copyrighted to the people
listed in contributors.txt.
@@ -31,14 +31,14 @@ void rowEqualize(ROWCELL* cell);
void rowResetEmptyRects(ROWCELL* cell);
void rowDeleteTree(ROWCELL* cell);
-//extern ROWCELL * gl_RowRoot; // < contact>
-//ROWOBJECTS RowTA; // , .
-// - RowParce. rowParserGetParam
+//extern ROWCELL * gl_RowRoot; // Указатель на корневой тэг < contact> в шаблоне
+//ROWOBJECTS RowTA; // Структура, через которую осуществляется доступ к элементам контакта.
+// Формируется при выполнении фу-и RowParce. Неявный параметр фуи rowParserGetParam
-// - RowParce. rowParserGetParam
+// Формируется при выполнении фу-и RowParce. Неявный параметр фуи rowParserGetParam
-char *tmplbuf; //
+char *tmplbuf; // Буфер для хранения шаблона в текстовом виде
ROWCELL *cppInitModernRow(ROWCELL ** tabAccess)
{
@@ -98,10 +98,10 @@ void cppCalculateRowItemsPos(ROWCELL *RowRoot, int width)
}
// rowAddCell
-// - . ROWCELL
-//
-// link - child next, ROWCELL
-// cont - : ,
+// Выделяет необходимое кол-во дин. памяти для структуры ROWCELL
+// и связывает ее с деревом описания контакта
+// link - поле child или next, родительской структуры ROWCELL
+// cont - тип контейнера: строка, столбец или корневой узел
//
//
const ROWCELL * rowAddCell(ROWCELL* &link, int cont)
@@ -113,8 +113,8 @@ const ROWCELL * rowAddCell(ROWCELL* &link, int cont)
}
// rowDeleteTree
-//
-// cell -
+// Освобождает память занятую деревом описания контакта
+// cell - адрес корневого узла дерева описания контакта
//
//
void rowDeleteTree(ROWCELL* cell)
@@ -130,13 +130,13 @@ void rowDeleteTree(ROWCELL* cell)
}
// rowParserGetNextWord
-// ( ) .
-// , : SP, < , >, ;, TAB, CR, LF
-// ; .
-// NOTE: ModernCL,
-// ,
-// tbuf -
-// hbuf -
+// Выбирает из потока данных (сейчас файлового) очередное слово.
+// Словом считается последовательность символов, ограниченная знаками: SP, < , >, ;, TAB, CR, LF
+// символы от ; и до конца строки считаются комментарием.
+// NOTE: Данная реализация не совсем подходит для включения ее в ModernCL,
+// а по сему, тут надо будет переделывать
+// tbuf - указатель на буфер содержащий текст шаблона
+// hbuf - указатель буфера
//
//
char * rowParserGetNextWord(char *tbuf, int &hbuf)
@@ -192,10 +192,10 @@ char * rowParserGetNextWord(char *tbuf, int &hbuf)
}
// rowParserGetParam
-// ,
-// cell -
-// tbuf -
-// hbuf -
+// ищет и интерпретирует слова в шаблоне, заключенные между тэгами
+// cell - указатель на текущий интерпретируемый контейнер шаблона
+// tbuf - указатель на буфер содержащий текст шаблона
+// hbuf - указатель буфера
//
//
void rowParserGetParam(ROWCELL* &cell, char *tbuf, int &hbuf)
@@ -293,13 +293,13 @@ void rowParserGetParam(ROWCELL* &cell, char *tbuf, int &hbuf)
return;
}
// rowParse
-// < contact>, < tr> < tc>,
-//
-// cell - child next
-// parent -
-// tbuf -
-// hbuf -
-// sequence - 0,
+// Ищет в шаблоне теги < contact>, < tr> и < tc>, и добавляет соответствующие узлы
+// в дерево описания контакта
+// cell - поле child или next родительского контейнера
+// parent - указатель на родительский контейнер
+// tbuf - указатель на буфер содержащий текст шаблона
+// hbuf - указатель буфера
+// sequence - нужно задавать 0, это очередность нахождения
//
BOOL rowParse(ROWCELL* &cell, ROWCELL* parent, char *tbuf, int &hbuf, int &sequence, ROWCELL** RowTabAccess)
{
@@ -350,10 +350,10 @@ void rowResetEmptyRects(ROWCELL* cell)
}
// rowCalculateMinSize
-//
-// - ! rowPositioning
-// cell -
-// NOTE: rowCalculateMinSize w h RowTA,
+// Вычисление минимальных размеров каждого контейнера дерева описания контакта
+// Эта фу-я ВСЕГДА! должна вызываться непосредственно перед rowPositioning
+// cell - указатель на корневой узел дерева описания контакта
+// NOTE: Перед вызывом rowCalculateMinSize необходимо заполнить поля w и h структуры RowTA, для каждого элемента
//
void rowCalculateMinSize(ROWCELL* cell)
{
@@ -426,8 +426,8 @@ void rowCalculateMinSize(ROWCELL* cell)
// void rowEqualise(ROWCELL* cell)
//
-// ,
-// cell -
+// Уравнивает высоты детей внутри строк, и ширины детей внутри стобцов
+// cell - указатель на корневой узел дерева описания контакта
//
void rowEqualize(ROWCELL* cell)
{
@@ -463,8 +463,8 @@ void rowEqualize(ROWCELL* cell)
// void rowPlacing(pttCell cell, pttCell parent)
//
-//
-// cell -
+// Позиционирует элемент строки контакта в его контейнере
+// cell - указатель на плавающий контейнер
//
void rowPlacing(pROWCELL cell)
{
@@ -509,9 +509,9 @@ void rowPlacing(pROWCELL cell)
// void ttTLProc(pROWCELL cell, pROWCELL parent)
//
-// ,
-// cell -
-// parent -
+// Позиционирует плавающий контейнер, внутри родительского
+// cell - указатель на плавающий контейнер
+// parent - указатель на родительский контейнер
//
void rowLayerProc(pROWCELL cell, pROWCELL parent)
{
@@ -551,9 +551,9 @@ void rowLayerProc(pROWCELL cell, pROWCELL parent)
// void rowPositioning(pROWCELL cell, int &dist)
//
-// ,
-// cell -
-// dist -
+// Вычисляет прямоугольники элементов контакта, учитывая выравнивание в контейнере
+// cell - указатель на корневой узел дерева описания контакта
+// dist - новая ширина контакта
//
void rowPositioning(pROWCELL cell, int &dist)
{
@@ -572,7 +572,7 @@ void rowPositioning(pROWCELL cell, int &dist)
int autosized = 0;
int dummy = 0;
- // dist
+ // Коррректировка назначаемой ширины dist
if (w < cell->r.right && (cell->type < TC_TEXT1 || cell->type > TC_TEXT3 && cell->type != TC_SPACE) || !cell->sizing)
dist = w = cell->r.right;
@@ -584,13 +584,13 @@ void rowPositioning(pROWCELL cell, int &dist)
return;
}
- //
+ // Позиционирование контейнеров в строке
if (cell->cont == TC_ROW)
{
fixedsized = cell->fixed_width;
while (curchild)
{
- // layer tc
+ // Контейнеры layer не должны влиять на позиционирование контейнеров tc
if (curchild->layer)
{
curchild = curchild->next;
@@ -664,12 +664,12 @@ void rowPositioning(pROWCELL cell, int &dist)
}
}
- //
+ // Позиционирование контейнеров в столбце
if (cell->cont == TC_COL)
{
while (curchild)
{
- // layer tr
+ // Контейнеры layer не должны влиять на позиционирование контейнеров tr
if (curchild->layer)
{
curchild = curchild->next;
@@ -723,8 +723,8 @@ void rowPositioning(pROWCELL cell, int &dist)
// void rowSizeWithReposition(ROWCELL* &root, int width)
//
-//
-// RowTA
+// Производит просчет и позиционирование элементов котакта
+// Перед вызовом необходимо заполнить структуру RowTA
//
void rowSizeWithReposition(ROWCELL* &root, int width)
{