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_NONMODAL . |
EF_DELETEONCLOSE | Поручает Far Manager'у удалить редактируемый файл после закрытия редактора.
Если в директории, содержащей редактируемый файл, нет других файлов, она также будет удалена. Если требуется удаление только файла, то используйте EF_DELETEONLYFILEONCLOSE .Файл не удаляется:
|
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
.
Помимо этого можно использовать следующие определения.
Определение | Описание |
---|---|
CP_UNICODE | кодовая страница 1200 |
CP_REVERSEBOM | кодовая страница 1201 |
CP_DEFAULT | автоматически определить номер кодовой страницы |
CP_REDETECT | переопределить номер кодовой страницы |
Возвращаемое значение
Эта функция возвращает следующие значения (перечисление EDITOR_EXITCODE):
Возвращаемое значение | Описание |
---|---|
EEC_OPEN_ERROR | Ошибка открытия файла. Ошибка возникает в случаях, если:
|
EEC_MODIFIED | Успешное завершение. Файл был изменён. Функция Editor также возвращает этот код возврата при использовании флага EF_NONMODAL . |
EEC_NOT_MODIFIED | Успешное завершение. Файл не был изменён. |
EEC_LOADING_INTERRUPTED | Загрузка файла прервана пользователем. |
Замечания
Если
StartLine
и StartChar
равны -1
, то при открытии редактора будет восстановлена предварительно сохранённая позиция в файле (если это включено в настройках).
Смотрите также: