View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003032 | Far Manager | Plugins API.Dialog | public | 2015-07-28 14:48 | 2015-08-01 14:26 |
Reporter | JohnDoe | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Product Version | 3.0 | ||||
Summary | 0003032: Дефекты при сокращении длинного текста в заголовке рамки | ||||
Description | Если текст заголовка не помещается по ширине, то фар вначале а) убирает обрамляющие его пробелы, и если этого недостаточно, то б) усекает сам текст. Наблюдаю такие ошибки. - при определённой длине текст может затереть рамку (пример 2,5) - при расчёте длины текста учитывается и амперсанд, даже если он не отображается (обозначая хоткей) | ||||
Steps To Reproduce | Запускаю примеры из командной строки, с каждым разом уменьшая ширину рамки на 1: 1)Эталон (текст нормально помещается) lua:far.Dialog("",-1,-1,18,6,nil,{{"DI_DOUBLEBOX",2, 1,15, 4,0,0,0,0,"Long title"}}) 2)Текст затёр левую часть рамки. lua:far.Dialog("",-1,-1,18,6,nil,{{"DI_DOUBLEBOX",2, 1,14, 4,0,0,0,0,"Long title"}}) 3)Текст снова помещается, за счёт удаления обрамляющих пробелов lua:far.Dialog("",-1,-1,18,6,nil,{{"DI_DOUBLEBOX",2, 1,13, 4,0,0,0,0,"Long title"}}) 4)Текст помещается, за счёт усечения (...) lua:far.Dialog("",-1,-1,18,6,nil,{{"DI_DOUBLEBOX",2, 1,12, 4,0,0,0,0,"Long title"}}) 5) Текст с амперсандом затёр левую рамку lua:far.Dialog("",-1,-1,18,6,nil,{{"DI_DOUBLEBOX",2, 1,12, 4,0,0,0,0,"&Long title"}}) | ||||
Tags | No tags attached. | ||||
Build | |||||
|
local w = 14 far.Dialog("",-1,-1,w+6,13,nil,{ {"DI_DOUBLEBOX",3, 1,w+2, 11,0,0,0,0,""}, {"DI_TEXT",4, 2,w+1, 2,0,0,0,"DIF_CENTERTEXT","&1 Long title"}, {"DI_TEXT",4, 3,w+1, 3,0,0,0,{},"2 Long title123"}, {"DI_TEXT",4, 4,w+1, 4,0,0,0,{},"3 Long title1234"}, {"DI_TEXT",4, 5,w+1, 5,0,0,0,{DIF_SEPARATOR=1},"4 Long title1235678"}, {"DI_TEXT",4, 6,w+1, 6,0,0,0,{DIF_CENTERTEXT=1,DIF_SEPARATOR=1},"5 Long title1235678"}, {"DI_TEXT",4, 7,w+1, 7,0,0,0,{DIF_CENTERTEXT=1,DIF_SEPARATOR=1},"6 Long title12356789"}, {"DI_CHECKBOX",4, 8,w+1, 8,0,0,0,0,"7 Long titl"}, {"DI_CHECKBOX",4, 9,w+1, 9,0,0,0,0,"8 Long title"}, {"DI_CHECKBOX",4,10,w+1,10,0,0,0,0,"9 Long title1234"}, }) Этот код демонстрирует другие найденные проблемы: 1 - неправильно усечён DI_TEXT с хоткеем 2 - DI_TEXT без DIF_CENTERTEXT не усекается 3 - ... но с определённой длины начинает усекаться, причём правильно 4 - здесь сепаратор усекается правильно 5 - ... но стоит добавить флаг DIF_CENTERTEXT, и уже не усекается 6 - ... а с определённой длины ещё и такой эффект 7 - чекбокс обрезается неправильно 8 - ... а определённой длинны ещё и вылазит на 3 знака за пределы диалога 9 - ... на 3 и не более (снимок экрана приложен) |
|
|