EditorSetParameter
Структура
EditorSetParameter используется в функции EditorControl для изменения настроек текущего редактора Far Manager.
struct EditorSetParameter
{
size_t StructSize;
enum EDITOR_SETPARAMETER_TYPES Type;
union
{
intptr_t iParam;
wchar_t *wszParam;
intptr_t Reserved;
}
#ifndef __cplusplus
Param
#endif
;
unsigned __int64 Flags;
size_t Size;
};
Элементы
StructSize
Это поле должно содержать размер структуры
EditorSetParameter. Перед использованием структуры плагин должен заполнить поле.Type
Тип настройки. Может быть одним из следующих (перечисление EDITOR_SETPARAMETER_TYPES):
| Настройка | Описание | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| ESPT_AUTOINDENT | Включение/выключение режима "Автоотступ".iParam соответственно должен быть равен TRUE или FALSE. | ||||||||
| ESPT_CHARCODEBASE | Указать формат показа кода текущего символа в статусной строке редактора.iParam может принимать следующие значения:
| ||||||||
| ESPT_CODEPAGE | Изменить текущую кодировку в редакторе.iParam - номер устанавливаемой кодовой страницы. В случае неудачи EditorControl возвращает FALSE, кодировка не изменяется. Можно использовать значения CP_REDETECT и CP_DEFAULT, для автоматического определения кодировки и установки последней сохранённой кодировки из истории. | ||||||||
| ESPT_CURSORBEYONDEOL | Включение/выключение режима "Курсор за пределами строки".iParam соответственно должен быть равен TRUE или FALSE. | ||||||||
| ESPT_EXPANDTABS | Управление поведением замены пробелов вместо табуляции.iParam может быть одним из следующих режимов (перечисление EXPAND_TABS):
| ||||||||
| ESPT_LOCKMODE | Включение/выключение запрета модификации текста (аналог Ctrl+L). Если iParam равен TRUE, то включается запрет модификации текста, если FALSE - запрет отменяется. | ||||||||
| ESPT_SAVEFILEPOSITION | Включение/выключение опции "Сохранять позицию файла".iParam соответственно должен быть равен TRUE или FALSE. | ||||||||
| ESPT_SHOWWHITESPACE | Включение/выключение опции "Пробельные символы".iParam может принимать следующие значения:
| ||||||||
| ESPT_SETBOM | Включение/выключение опции "Добавить сигнатуру (BOM)" при сохранении файла в кодировке Unicode/UTF8.iParam соответственно должен быть равен TRUE или FALSE. | ||||||||
| ESPT_SETWORDDIV | Позволяет изменить строку символов-разделителей слов (параметр wszParam) для текущей копии редактора.Если wszParam равен NULL или пустой строке, то в качестве строки разделителей принимается установленное по умолчанию значение - "~!%^&*()+|{}:"<>?`-=\[];',./"
Эта строка может содержать не более 255 символов. | ||||||||
| ESPT_GETWORDDIV | Позволяет получить (в поле wszParam) строку символов-разделителей слов длиною Size для текущей копии редактора.wszParam должен указывать на буфер выделенный плагином. Если wszParam = NULL, то EditorControl возвращает необходимый размер буфера в символах. | ||||||||
| ESPT_TABSIZE | Изменение размера табуляции.iParam содержит новое значение - от 1 до 512. Значение размера табуляции, выходящее за указанные границы, выставляется равным 8. |
iParam
Содержит число, см. описание по конкретному типу настройки.
wszParam
Указатель на строку, оканчивающуюся нулём, см. описание по конкретному типу настройки.
Reserved
Размер этого параметра всегда равен размеру объединения
Param, что позволяет использовать этот параметр для платформенно-независимой инициализации..Flags
Содержит дополнительные условия/данные, см. описание по конкретному типу настройки.
Size
Содержит число, см. описание по конкретному типу настройки.
Замечания
Если плагин меняет одновременно размер табуляции и состояние режима "Пробелы вместо табуляции", то имеет смысл применять команды в такой последовательности: сначала
ESPT_TABSIZE, потом ESPT_EXPANDTABS.
Смотрите также:
ВНИМАНИЕ!