EditorSetParameter

Структура EditorSetParameter используется в функции EditorControl для изменения настроек текущего редактора FAR'а.
struct EditorSetParameter
{
  int Type;
  union {
    int iParam;
    char *cParam;
    DWORD Reserved1;
  } Param;
  DWORD Flags;
  DWORD Reserved2;
};

Элементы

Type
Тип настройки. Может быть одним из следующих (перечисление EDITOR_SETPARAMETER_TYPES):
НастройкаОписание
ESPT_AUTOINDENT Включение/выключение режима "Автоотступ". iParam соответственно должен быть равен TRUE или FALSE.
ESPT_CHARCODEBASE Указать формат показа кода текущего символа в статусной строке редактора. iParam может принимать следующие значения:
  • 0 - восьмеричное значение (3 символа с ведущим нулями)
  • 1 - десятеричное значение (3 символа с ведущими пробелами)
  • 2 - шестнадцатеричное значение (2 символа под цифру + символ 'h')
ESPT_CHARTABLE Изменить текущую кодировку в редакторе. iParam - код устанавливаемой кодировки. Может быть одним из следующих:
  • 1 - OEM
  • 2 - ANSI
  • 3 - таблица с номером 0
  • N - таблица с номером (N-3)
В случае неудачи EditorControl возвращает FALSE, кодировка не изменяется.
ESPT_CURSORBEYONDEOL Включение/выключение режима "Курсор за пределами строки". iParam соответственно должен быть равен TRUE или FALSE.
ESPT_EXPANDTABS Управление поведением замены пробелов вместо табуляции.
iParam может быть одним из следующих режимов (перечисление EXPAND_TABS):
ФлагОписание
EXPAND_NOTABS
EXPAND_ALLTABS
EXPAND_NEWTABS

ВНИМАНИЕ! ВНИМАНИЕ!

  • Данная операция необратима, т.е. если в файле были использованы пробелы вместо табуляции, то при переходе к обычным символам табуляции присутствующие в файле идущие подряд пробелы в символы табуляции преобразованы не будут.
ESPT_LOCKMODE Включение/выключение запрета модификации текста (аналог Ctrl-L). Если iParam равен TRUE, то включается запрет модификации текста, если FALSE - запрет отменяется.
ESPT_SAVEFILEPOSITION включение/выключение опции "Сохранять позицию файла". iParam соответственно должен быть равен TRUE или FALSE.
ESPT_SETWORDDIV Позволяет изменить строку символов-разделителей слов (параметр cParam) для текущей копии редактора.
Если cParam равен NULL или пустой строке, то в качестве строки разделителей принимается установленное по умолчанию значение - "~!%^&*()+|{}:"<>?`-=\[];',./" Эта строка может содержать не более 255 символов.
ESPT_GETWORDDIV Позволяет получить строку символов-разделителей слов (параметр cParam) для текущей копии редактора.
cParam должен указывать на строку не менее 256 символов.
ESPT_TABSIZE Изменение размера табуляции. iParam содержит новое значение - от 1 до 512. Значение размера табуляции, выходящее за указанные границы, выставляется равным 8.
iParam
Содержит число, см. описание по конкретному типу настройки.
cParam
Указатель на строку, оканчивающуюся нулем, см. описание по конкретному типу настройки.
Reserved1
Не используется, зарезервировано для будущего использования.
Flags
Содержит дополнительные условия/данные, см. описание по конкретному типу настройки.
Reserved2
Не используется, зарезервировано для будущего использования. Должно быть установлено в 0.

Замечания

Если плагин меняет одновременно размер табуляции и состояние режима пробелы вместо табуляции, то имеет смысл применять команды в такой последовательности: сначала ESPT_TABSIZE, потом ESPT_EXPANDTABS.
Смотрите также:
структуры | TEditorSetParameter