Editor
Функция Editor
позволяет открыть внутренний редактор Far Manager.
intptr_t WINAPI Editor(
const wchar_t *FileName,
const wchar_t *Title,
intptr_t X1,
intptr_t Y1,
intptr_t X2,
intptr_t Y2,
EDITOR_FLAGS Flags,
intptr_t StartLine,
intptr_t StartChar,
uintptr_t CodePage
);
Параметры
FileName
Файл для редактирования. Если не указан флаг EF_CREATENEW
, то FileName
должен содержать имя существующего файла.
Title
Текстовая строка, которая будет показана вверху окна редактора. Если этот параметр равен NULL
, то используется имя файла.
X1, Y1, X2, Y2
Координаты окна редактора. Если координата X2
или Y2
равна -1
, то она будет замещена соответственно шириной или высотой экрана.
Если координата X1
или Y1
меньше нуля, то считается, что она равна нулю.
Flags
Флаги редактора. Может быть комбинацией следующих значений (тип
EDITOR_FLAGS):
Флаг | Описание |
EF_NONMODAL |
Создать немодальное окно редактора. Если этот флаг присутствует, пользователь сможет переключаться между редактором и другими окнами Far Manager.
Плагин получит управление только после закрытия или ухода из открытого редактора (например, пользователь нажал Ctrl+Tab).
Если вам нужно, чтобы плагин получал управление сразу же после открытия редактора, то используйте флаг EF_IMMEDIATERETURN . |
EF_IMMEDIATERETURN |
Позволяет плагину получать управление сразу же после открытия редактора.
Открываемый редактор становится активным. Выставлять этот флаг имеет смысл только в паре с флагом EF_NONMODAL . |
EF_DELETEONCLOSE |
Поручает Far Manager'у удалить редактируемый файл после закрытия редактора.
Если в директории, содержащей редактируемый файл, нет других файлов, она также будет удалена. Если требуется удаление только файла, то используйте EF_DELETEONLYFILEONCLOSE .
Файл не удаляется:
- если было произведено переключение по F6 и если существуют другие открытые вьюеры/редакторы с этим же файлом.
- если файл был сохранён из редактора.
|
EF_DELETEONLYFILEONCLOSE |
Аналог EF_DELETEONCLOSE , но удаляется только файл. Этот флаг имеет более низкий приоритет при обработке, чем EF_DELETEONCLOSE . |
EF_CREATENEW |
Создать новый файл на диске. Вызов редактора с этим флагом аналогичен вызову редактора по Shift+F4 в панелях. |
EF_ENABLE_F6 |
Разрешает переключение по F6 из редактора во вьюер. |
EF_DISABLEHISTORY |
Запретить добавление имени файла в историю редактирования (Alt+F11). По умолчанию имя в историю добавляется. |
EF_LOCKED |
При открытии файла запретить редактирование. Пользователь сможет снять блокировку с помощью клавиш Ctrl+L. |
EF_DISABLESAVEPOS |
Не сохранять позицию в редактируемом файле. |
EN_NONE |
Нулевой флаг. |
EF_OPENMODE_MASK |
Маска для EF_OPENMODE_* |
EF_OPENMODE_QUERY |
Режим открытия. Если файл открыт в редакторе, пользователю будет показан диалог дальнейших действий (GUID: {AFDAD388-494C-41E8-BAC6-BBE9115E1CC0}) |
EF_OPENMODE_NEWIFOPEN |
Режим открытия. Открыть файл в новом редакторе, если файл уже открыт в редакторе |
EF_OPENMODE_USEEXISTING |
Режим открытия. Переключиться на открытый в редакторе файл. |
EF_OPENMODE_BREAKIFOPEN |
Режим открытия. Прервать выполнение функции, если файл открыт в редакторе |
EF_OPENMODE_RELOADIFOPEN |
Режим открытия. Переоткрыть, если файл открыт в редакторе. |
StartLine
Начальная строка, в которую помещаем курсор. Нумерация строк начинается с 1
.
StartChar
Позиция курсора в строке. Нумерация позиции начинается с 1
.
CodePage
Номер кодовой страницы, в которой будет открыт редактор. Можете установить значение в
CP_DEFAULT
.
Помимо этого можно использовать следующие определения.
Возвращаемое значение
Эта функция возвращает следующие значения (перечисление
EDITOR_EXITCODE):
Возвращаемое значение | Описание |
EEC_OPEN_ERROR |
Ошибка открытия файла. Ошибка возникает в случаях, если:
- Far Manager не смог выделить достаточно памяти при создании редактора (как объекта);
- в качестве параметра
FileName передали пустую строку;
- в качестве параметра
FileName было передано имя каталога;
- редактируемый файл имеет RO-атрибут и пользователь в диалоге подтверждения открытия такого файла отказался от дальнейшего редактирования.
|
EEC_MODIFIED |
Успешное завершение. Файл был изменён. Функция Editor также возвращает этот код возврата при использовании флага EF_NONMODAL . |
EEC_NOT_MODIFIED |
Успешное завершение. Файл не был изменён. |
EEC_LOADING_INTERRUPTED |
Загрузка файла прервана пользователем. |
Замечания
Если StartLine
и StartChar
равны -1
, то при открытии редактора будет восстановлена предварительно сохранённая позиция в файле (если это включено в настройках).
Смотрите также: