View Issue Details

IDProjectCategoryView StatusLast Update
0003044Far ManagerPlugins API.Editorpublic2015-07-31 17:43
ReporterJohnDoeAssigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Product Version3.0 
Target VersionFixed in Version 
Summary0003044: EF_NONMODAL не сработает, если в момент вызова Editor активен модальный редактор.
DescriptionСценарий: плагин хочет открыть немодальный редактор, и сразу же получив управление обратно что-то сделать с его содержимым.

Проблема: если в этот момент активен другой, модальный реактор, то открытый плагином новый редактор будет модальным!

Следствие: плагин получит управление только после закрытия СВОЕГО редактора, а всю работу ошибочно произведёт в ЧУЖОМ редакторе!

Предлагаемое решение:
В описанном сценарии попытка открытия немодального редактора должна заканчиваться неудачей, что необходимо документировать (возможно нужен отдельный флаг для возвращаемого значения)
Steps To ReproduceMacro {
  area="Common"; key="F1";
  action=function()
    editor.Editor([[C:\CONFIG.SYS]])
  end
}
Macro {
  area="Editor"; key="F2";
  action=function()
    far.Show(editor.Editor([[C:\autoexec.bat]],nil,nil,nil,nil,nil,{EF_NONMODAL=1,EF_IMMEDIATERETURN=1,EF_ENABLE_F6=1}))
  end
}

Нажать F1 для открытия модального редактора.
Нажать F2 для попытки открытия немодального редактора, и убедиться, что он оказался модальный.
Additional Informationhttp://api.farmanager.com/ru/service_functions/editor.html

http://forum.farmanager.com/viewtopic.php?p=121151#p121151

Информация для размышления:
Можно ли сделать так, чтобы флаг EF_IMMEDIATERETURN действовал и в модальном редакторе?

В настоящий момент "модальность" предполагает два разных свойства:
- невозможность переключиться в другие окна
- возврат управления только после закрытия редактора
Возможно есть смысл их разделить?
TagsNo tags attached.
Build

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2015-07-31 17:43 JohnDoe New Issue