View Issue Details

IDProjectCategoryView StatusLast Update
0003766Wishes.PluginsLuaMacro / Macro Browserpublic2020-02-01 07:58
ReporterJohnDoe Assigned To 
PrioritynormalSeverityminorReproducibilityN/A
Status newResolutionopen 
Platformx86OSWindowsOS VersionXP SP3
Product Version3.0 
Summary0003766: LuaFAR: упростить использование panel.SetSelection / panel.ClearSelection
DescriptionПосле билда 698 простой вызов panel.SetSelection необходимо заменить на серию команд:
  panel.BeginSelection
  panel.SetSelection
  panel.EndSelection
  panel.RedrawPanel

Необходимость BeginSelection/EndSelection для отдельных сценариев понятна, но в большинстве случаев это избыточно, и лишь загромождает код.

Предлагаю добиться требуемой гибкости совместимым образом не требующим изменений в плагинах и макросах.

Например:
1) Дать возможность panel.SetSelection за один вызов и устанавливать, и снимать выделение.
2) Альтернативно: если вызову не предшествует (незакрытый) вызов BeginSelection, то работать по старому (т.е. прятать всю требуемую "обвязку" внутри)
Additional Informationhttps://forum.farmanager.com/viewtopic.php?p=158452#p158452
TagsNo tags attached.

Activities

AleXH

2020-02-01 07:47

reporter   bugnote:0016729

Last edited: 2020-02-01 07:58

Даже не так, а так:
    panel.BeginSelection(nil,panel)
    panel.SetSelection(nil,panel,itm0,false)
    panel.SetSelection(nil,panel,itm1,true)
    panel.EndSelection(nil,panel)
    panel.RedrawPanel(nil,panel)
, чтобы выделение работало правильно всегда - где itm0,itm1 = {cleared indexes},{set indexes}
, т.е. panel.SetSelection() можно было бы дополнить аргументами и перенести код в dll.

Чтобы не ломать существующий API, вариант предлагал следующий: panel.SetSelection(nil,panel,itm1,true,itm0,false) = panel.SetSelection(nil,panel,itm1,true,itm0), выполняющий внутри себя последовательность из 5-и вызовов выше. Впрочем, Redraw можно и не включать, если видятся противопоказания.

Обсуждалось 16.08.19 на руборде.

Issue History

Date Modified Username Field Change
2020-01-20 12:49 JohnDoe New Issue
2020-02-01 07:47 AleXH Note Added: 0016729
2020-02-01 07:48 AleXH Note Edited: 0016729
2020-02-01 07:56 AleXH Note Edited: 0016729
2020-02-01 07:58 AleXH Note Edited: 0016729