View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002742 | Wishes | Macro | public | 2014-07-20 12:07 | 2019-12-31 13:03 |
Reporter | JohnDoe | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | new | Resolution | open | ||
Product Version | 3.0 | ||||
Summary | 0002742: LuaFAR: в функциях panel.* сделать "whatpanel" опциональным параметром | ||||
Description | Многие панельные функции позволяют обозначить панель двумя разными способами: - указать первый параметр "handle" - указать второй параметр "whatpanel" Параметр "whatpanel" на мой взгляд не нужен, и в C API ничего такого нет: http://api.farmanager.com/ru/service_functions/panelcontrol.html Для различения активной/пассивной в качестве "handle" используются предопределённые константы PANEL_ACTIVE/PANEL_PASSIVE | ||||
Steps To Reproduce | Предлагаю сделать "whatpanel" опциональным. Это актуально для следующих функций: panel.ClearSelection panel.GetPanelItem panel.GetSelectedPanelItem panel.RedrawPanel panel.SetCaseSensitiveSort panel.SetDirectoriesFirst panel.SetNumericSort panel.SetPanelDirectory panel.SetSelection panel.SetSortMode panel.SetSortOrder panel.SetViewMode panel.UpdatePanel В каждой из них есть возможность различить какой параметр подразумевается вторым: либо по типу значения, либо по общему числу переданных параметров. | ||||
Tags | No tags attached. | ||||
Build | |||||
related to | 0003760 | new | Wishes.Plugins | LuaFAR panel API: возможность указать панель числом в первом аргументе |
|
Нужен пример кода, демонстрирующего, что параметр "whatpanel" в текущей версии LuaFAR не является опциональным. |
|
Под опциональностью имелась ввиду возможность его полностью опустить. Из документации следует что такая возможность не предусмотрена. Или намекаете на то, что это работает, хоть и не документировано? |
|
Этот параметр опциональный при условии, что 1-й параметр ("handle") задан. Если первый параметр nil, то второй параметр обязательный. |
|
Ок, в таком случае предлагаю рассматривать данный тикет как предложение усовершенствования документации. Например есть ряд определений такого вида: item = panel.GetPanelItem ([handle], whatpanel, itemindex) Их стоит записать так: item = panel.GetPanelItem (handle, [whatpanel,] itemindex) В некоторых других определениях опциональность сейчас никак не выделена квадратными скобками. |
|
Запускаю из панелей: lua:=panel.ClearSelection (far.Flags.PANEL_ACTIVE,1) Получаю ошибку о том, что не хватает третьего параметра. Значит второй параметр сейчас нельзя опускать. |
|
Если он последний, можно опускать. Если не последний - можно передавать nil. |
|
Так и делаю. А wish о том, чтобы опускать его совсем. Собственно, после того как я убедился, что константы PANEL_ACTIVE/PANEL_PASSIVE прекрасно работают в первом параметре, я второй нигде не использую. Имхо стоило бы его совсем вывести, но совместимость... |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-07-20 12:07 | JohnDoe | New Issue | |
2014-07-20 12:16 | shmuel | Note Added: 0012760 | |
2014-07-20 12:22 | JohnDoe | Note Added: 0012761 | |
2014-07-20 12:25 | shmuel | Note Added: 0012762 | |
2014-07-20 12:31 | JohnDoe | Note Added: 0012763 | |
2014-07-22 10:55 | JohnDoe | Note Added: 0012772 | |
2014-07-22 15:08 | shmuel | Note Added: 0012774 | |
2014-07-22 15:19 | JohnDoe | Note Added: 0012776 | |
2019-12-31 13:03 | shmuel | Relationship added | related to 0003760 |