View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002834 | Far Manager | Plugins API | public | 2014-10-17 06:58 | 2017-10-17 14:48 |
Reporter | JohnDoe | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | sometimes |
Status | new | Resolution | open | ||
Product Version | 3.0 | ||||
Summary | 0002834: ACTL_GETWINDOWTYPE не работает в некоторых областях | ||||
Description | ACTL_GETWINDOWINFO работает везде. ACTL_GETWINDOWTYPE не работает в граббере, горизонтальном меню, и быстром поиске. | ||||
Steps To Reproduce | Macro { area="Common"; key="ShiftF1"; action=function() far.Show( far.AdvControl"ACTL_GETWINDOWINFO", far.AdvControl"ACTL_GETWINDOWTYPE") end; } | ||||
Tags | No tags attached. | ||||
Build | |||||
|
а чем этот баг репорт отличается от 0002761? |
|
2761 это всего лишь пожелание по константам, а тут же явный баг. Вы намекаете что источник проблемы один. Ok. Самостоятельно выяснить это я не мог, необучен. |
|
тут явная фича, неопубликованные константы не возвращаются. |
|
Какая-то неконсистентная фича, по ACTL_GETWINDOWINFO ведь возвращаются |
|
0001-Expose-WTYPE_SEARCH.patch (2,569 bytes)
From aada2ba2711bbfd1cef79a817d85d9700e6beee7 Mon Sep 17 00:00:00 2001 From: Maximus5 <ConEmu.Maximus5@gmail.com> Date: Wed, 12 Nov 2014 20:24:14 +0300 Subject: [PATCH] Far3bis. Expose WTYPE_SEARCH --- enc/enc_rus3.work/meta/structures/windowtype.html | 2 ++ unicode_far/mix.cpp | 1 + unicode_far/plugapi.cpp | 1 + unicode_far/plugin.hpp | 1 + 4 files changed, 5 insertions(+) diff --git a/enc/enc_rus3.work/meta/structures/windowtype.html b/enc/enc_rus3.work/meta/structures/windowtype.html index ad7137a..8374ade 100644 --- a/enc/enc_rus3.work/meta/structures/windowtype.html +++ b/enc/enc_rus3.work/meta/structures/windowtype.html @@ -47,6 +47,8 @@ struct WindowType <td class="cont" width="60%">���</td></tr> <tr class="cont"><td class="cont" width="40%"><a name="WTYPE_HELP">WTYPE_HELP</a></td> <td class="cont" width="60%">���� ���������</td></tr> + <tr class="cont"><td class="cont" width="40%"><a name="WTYPE_SEARCH">WTYPE_SEARCH</a></td> + <td class="cont" width="60%">���� ������� ������ � �����</td></tr> </table> </div> </div> diff --git a/unicode_far/mix.cpp b/unicode_far/mix.cpp index 0964591..124192a 100644 --- a/unicode_far/mix.cpp +++ b/unicode_far/mix.cpp @@ -153,6 +153,7 @@ WINDOWINFO_TYPE WindowTypeToPluginWindowType(const int fType) {windowtype_dialog, WTYPE_DIALOG}, {windowtype_menu, WTYPE_VMENU}, {windowtype_help, WTYPE_HELP}, + {windowtype_search, WTYPE_SEARCH}, {windowtype_combobox, WTYPE_COMBOBOX}, {windowtype_findfolder, WTYPE_FINDFOLDER}, {windowtype_grabber, WTYPE_GRABBER}, diff --git a/unicode_far/plugapi.cpp b/unicode_far/plugapi.cpp index e4a0b4c..26a62d5 100644 --- a/unicode_far/plugapi.cpp +++ b/unicode_far/plugapi.cpp @@ -485,6 +485,7 @@ intptr_t WINAPI apiAdvControl(const GUID* PluginId, ADVANCED_CONTROL_COMMANDS Co case WTYPE_DIALOG: case WTYPE_VMENU: case WTYPE_HELP: + case WTYPE_SEARCH: //case WTYPE_COMBOBOX: //case WTYPE_FINDFOLDER: //case WTYPE_GRABBER: diff --git a/unicode_far/plugin.hpp b/unicode_far/plugin.hpp index da3fd22..859830d 100644 --- a/unicode_far/plugin.hpp +++ b/unicode_far/plugin.hpp @@ -1358,6 +1358,7 @@ enum WINDOWINFO_TYPE WTYPE_DIALOG = 4, WTYPE_VMENU = 5, WTYPE_HELP = 6, + WTYPE_SEARCH = 7, #ifdef FAR_USE_INTERNALS WTYPE_COMBOBOX, WTYPE_FINDFOLDER, -- 1.9.4.msysgit.2 |
|
А есть какой-то смысл в этом ограничении? "Тип определить не удалось", но окно-то есть, и информацию по нему получить возможно (и полезно). |
|
смысл в том, что тип окна может поменятся. например вообразим себе такую фантастическую ситуацию, что кто-то таки перепишет дерево и окно с деревом станет диалогом. если WTYPE_FINDFOLDER опубликовано, то придётся костылить, чтобы для этого конкретного диалога возвращалась она, нет, выкинули и забыли. |
|
Константу я не предлагаю публиковать (как и WTYPE_SEARCH). Но по ACTL_GETWINDOWINFO всё равно информация возвращается, что хорошо, (легко например понять сколько окон, какое текущее, и что оно модальное, и т.п.). Константы соответствующей нет, что как бы намекает, что больше ничего сделать с окном плагин не может. В этой же ситуации ACTL_GETWINDOWTYPE просто не сработает, в чём конечно же есть логика. Тем не менее вопрос: не будет ли проще, если ACTL_GETWINDOWTYPE будет работать аналогично ACTL_GETWINDOWINFO? Ведь окна с неизвестным типом плагин и сам легко отсеет. |
|
приведите конкретный практический пример, где это будет полезно? |
|
> Какая-то неконсистентная фича, по ACTL_GETWINDOWINFO ведь возвращаются Я тоже склонен считать это багом. Правда, в ACTL_GETWINDOWINFO. |
|
Я не считаю текущее поведение ACTL_GETWINDOWTYPE багом, всё работает согласно Энциклопедии. И в любом случае ACTL_GETWINDOWINFO ломать пожалуйста не надо, готов привести примеры использования и обосновать практическую необходимость. Необходимости (как таковой) в изменении ACTL_GETWINDOWTYPE нет, но как по мне, то было бы проще, если бы функции вели себя одинаково. Если это не достаточный аргумент, то тикет можно закрыть, пока не появятся более веские доводы. P.S. К АПИ отношения не имеет, но в LuaFAR интерфейс функции таков, что предрасполагает к ошибкам. Баг есть например в picture.lua Если функция не вернёт таблицу, то этот код завершится с ошибкой.Проверил, с быстрым поиском реально падает. (Разумеется, это ничего больше не подтверждает, кроме того, что в picture.lua баг) |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-10-17 06:58 | JohnDoe | New Issue | |
2014-10-17 13:32 | zg | Note Added: 0013095 | |
2014-10-17 14:28 | JohnDoe | Note Added: 0013096 | |
2014-10-17 22:00 | zg | Note Added: 0013099 | |
2014-10-20 14:26 | JohnDoe | Note Added: 0013109 | |
2014-11-12 12:11 | Maximus | File Added: 0001-Expose-WTYPE_SEARCH.patch | |
2017-10-17 07:59 | JohnDoe | Note Added: 0015672 | |
2017-10-17 10:37 | zg | Note Added: 0015675 | |
2017-10-17 11:26 | JohnDoe | Note Added: 0015676 | |
2017-10-17 11:31 | JohnDoe | Note Edited: 0015676 | |
2017-10-17 12:37 | zg | Note Added: 0015677 | |
2017-10-17 13:46 | DrKnS | Note Added: 0015678 | |
2017-10-17 14:39 | JohnDoe | Note Added: 0015679 | |
2017-10-17 14:41 | JohnDoe | Note Edited: 0015679 | |
2017-10-17 14:45 | JohnDoe | Note Edited: 0015679 | |
2017-10-17 14:48 | JohnDoe | Note Edited: 0015679 |