View Issue Details

IDProjectCategoryView StatusLast Update
0002927Far ManagerPlugins API.Viewerpublic2017-10-12 08:18
ReporterJohnDoe Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version3.0 
Summary0002927: VCTL_SELECT: нежелательный скроллинг
DescriptionПри выделении текста вьювер почему-то всегда прокручивается так, чтобы выделенное оказалось в первой строке.

В Энциклопедии о таком поведении ни слова http://api.farmanager.com/ru/service_functions/viewercontrol.html
Steps To ReproduceMacro {
  area="Viewer"; key="F1";
  action=function()
    local FilePos = viewer.GetInfo().FilePos
    viewer.Select (nil, FilePos+100, 10)
  end;
}
TagsNo tags attached.
Build

Activities

2useven10

2015-02-04 10:32

developer   bugnote:0013476

Last edited: 2015-02-04 10:33

кроме того, что не написано, там иногда написана неправда.

проще всего добавить флаги в первый параметр, например: VSEL_NOREDRAW, VSEL_KEEP_POS.

JohnDoe

2015-02-04 10:35

updater   bugnote:0013477

>там иногда написана неправда
Где?

JohnDoe

2015-02-04 10:46

updater   bugnote:0013478

>VSEL_KEEP_POS
А что делать, если выделение за пределами экрана (полностью или частично)?
В настоящий момент плагин не может это разрулить сам, т.к. у него нет информации о нижней границе экрана.

2useven10

2015-02-04 11:01

developer   bugnote:0013479

>Где?
например: позиция селекта в символах.

>А что делать,
как это связано с данным инцем?

JohnDoe

2015-02-04 11:05

updater   bugnote:0013480

>например: позиция селекта в символах.
Да, и BlockLen тоже ведь в байтах.

>как это связано с данным инцем?
Если рассматривать VSEL_KEEP_POS как способ решения данного тикето, то связано напрямую.

2useven10

2015-02-04 11:24

developer   bugnote:0013481

В моём понимании VSEL_KEEP_POS - не менять текущую позицию, т.е. не пытаться переместить её так, чтобы начало выделенного блока оказалось в первой строке.
Если флаги не задавать, всё 'как сейчас' - подгонять и перерисовывать.

И ничего более.

JohnDoe

2015-02-04 11:33

updater   bugnote:0013482

>не пытаться переместить её так, чтобы начало выделенного блока оказалось в первой строке.
А кому вообще надо чтобы начало оказалось в первой строке?
Прокрутка обычно требуется только когда выделение за пределами экрана.
Т.е. я предлагаю, чтобы это и было поведением по умолчанию.
Если нет, то нужен другой способ достичь этого (можно и отдельным тикетом, как скажете)

Issue History

Date Modified Username Field Change
2015-02-04 07:44 JohnDoe New Issue
2015-02-04 10:32 2useven10 Note Added: 0013476
2015-02-04 10:33 2useven10 Note Edited: 0013476
2015-02-04 10:35 JohnDoe Note Added: 0013477
2015-02-04 10:46 JohnDoe Note Added: 0013478
2015-02-04 11:01 2useven10 Note Added: 0013479
2015-02-04 11:05 JohnDoe Note Added: 0013480
2015-02-04 11:24 2useven10 Note Added: 0013481
2015-02-04 11:33 JohnDoe Note Added: 0013482