EditorBookmarks
Структура
EditorBookmarks
используется в функции EditorControl для получения информации о закладках текущего редактируемого файла
(команда ECTL_GETBOOKMARKS или ECTL_GETSESSIONBOOKMARKS).
struct EditorBookmarks { size_t StructSize; size_t Size; size_t Count; intptr_t *Line; intptr_t *Cursor; intptr_t *ScreenLine; intptr_t *LeftPos; };
Элементы
StructSize
Это поле должно содержать размер структуры
EditorBookmarks
. Перед использованием структуры плагин должен заполнить поле.Size
Размер буфера в памяти, который выделил плагин для размещения запрашиваемой информации.
Count
Количество закладок.
Line
Указатель на массив номеров строк для каждой закладки.
Cursor
Указатель на массив позиций курсоров в строках
Line
.ScreenLine
Указатель на массив номеров строк, соответствующих первой видимой строке текста на экране.
LeftPos
Указатель на массив позиций, соответствующих первому видимому символу текста на экране слева.
Замечания
Перед получением информации о закладках, плагину необходимо выяснить размер запрашиваемых данных, для этого передайте
NULL
вместо ссылки на
структуру EditorBookmarks
в команде ECTL_GETBOOKMARKS или ECTL_GETSESSIONBOOKMARKS, например:
// узнаем размер intptr_t size = Info.EditorControl(-1,ECTL_GETBOOKMARKS,0,NULL); if (!size) return FALSE; // выделим соответствующий объем памяти EditorBookmarks *newbm = (EditorBookmarks *)malloc(size); if (!newbm) return FALSE; // только теперь запрашиваем закладки newbm->StructSize = sizeof(EditorBookmarks); newbm->Size = size; if (!Info.EditorControl(-1,ECTL_GETBOOKMARKS,0,newbm)) { free(newbm); return FALSE; }
Смотрите также: