diff options
Diffstat (limited to 'plugins/Clist_modern/src/modern_row.cpp')
-rw-r--r-- | plugins/Clist_modern/src/modern_row.cpp | 102 |
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) { |