-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Немодальный диалог затирается при обновлении редактора под ним #76
Comments
Можно проверить и без bito.lua local F = far.Flags
local sd = require "far2.simpledialog"
local Items = {
flags=F.FDLG_NONMODAL;
{ tp="dbox"; text="Non-modal Dialog"; },
{ tp="text"; text="Enter the text:"; },
{ tp="edit"; },
}
local Dlg = sd.New(Items)
Dlg:Run()
editor.Redraw() При исполнении этого кода из редактора диалога не видно. |
Если из (обычного) диалога открыть редактор, а потом закрыть, то диалог окажется на фоне этого фантомного (уже закрытого) редактора. (Подозреваю что тут сказываются те же проблемы оконной системы фар 2) |
Оконная система там на мой взгляд требует капитальной перестройки. Некоторые вещи я починил, но это были скорее косметические фиксы. |
А пример как это повторить можно? |
Да там всё прямолинейно, просто Например в диалоге AskAI редактор открывается по нажатию кнопки. |
Вот открываю из панелей диалог поиска LF Search, нажимаю F4, открывается редактор, нажимаю Esc, редактор закрывается, никакого фантома не видно. |
local F = far.Flags
local function dialog (text, title)
local len = math.max(text:len(), title and title:len() or 0, 7)
local items = {
{F.DI_SINGLEBOX,0,0,len+4,3,0,0,0, 0, title},
{F.DI_TEXT, 2,1, 0,1,0,0,0,F.DIF_CENTERGROUP, text},
}
return far.Dialog(nil, -1, -1, len+4, 3, nil, items, nil, function (hDlg, Msg, idx, Param2)
if Msg==F.DN_KEY and far.KeyToName(Param2)=="F4" then
editor.Editor(_filename)
end
end)
end
local hDlg = dialog("Press F4, then Esc", name) |
Благодарю. |
"Проблему фантома" починил. |
Можно после каждой перерисовки редактора принудительно перерисовывать диалог:
Но это не выход, т.к. приводит к мерцанию.
В качестве примера можно использовать bito.lua
The text was updated successfully, but these errors were encountered: