View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000369 | Wishes | Plugins API.Panel | public | 2007-11-22 11:45 | 2007-12-10 11:28 |
Reporter | NightRoman | Assigned To | vskirdin | ||
Priority | normal | Severity | feature | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Fixed in Version | 1.71 | ||||
Summary | 0000369: Добавить события FE_GOTFOCUS, FE_KILLFOCUS в ProcessEvent | ||||
Description | Предложение: добавить события FE_GOTFOCUS, FE_KILLFOCUS в ProcessEvent. События происходят в момент получения\потери фокуса панелью плагина (можно сказать активации\деактивации панели). Названия констант предложены по аналогии с DN_GOTFOCUS, DN_KILLFOCUS. Возможно, есть неоднозначность трактовки момента активации\деактивации, но думаю, если хотя бы следующее выполняется, то уже будет большая практическая польза: *) на момент вызова Control() для активной или пассивной панели плагина активная панель уже получила событие FE_GOTFOCUS до этого, пассивная панель уже получила событие FE_KILLFOCUS до этого, если, конечно была активной хоть раз. *) на момент действий пользователя в панели то же самое - панели уже получили события, соответствующие их текущему состоянию активности. | ||||
Additional Information | P.S. подобные события не помешали бы и в редакторе (хоть это и отдельная тема), на форуме кто-то уже жаловался на отсутствие таковых и недостаток возможностей для обходных маневров, чтобы полноценно эмулировать. | ||||
Tags | No tags attached. | ||||
Build | 2304 | ||||
|
http://farmanager.com/farbugs/mantis369.1.rar На тестирование и выявление некузявостей (я про те 2 правила "на момент действий..."). В plugin.hpp добавить: enum FAR_EVENTS { ... FE_COMMAND =5, +>> FE_GOTFOCUS =6, +>> FE_KILLFOCUS =7, }; |
|
принято, будет исследовано\протестировано |
|
Проверено на 1.71 alpha 4 (build 2303): 1. добавлены EE_GOTFOCUS/EE_KILLFOCUS (Param= *EditorID) 2. добавлены FE_GOTFOCUS/FE_KILLFOCUS (Param= NULL) 3. в диалогах после DN_INITDIALOG должен сразу же приходить DN_GOTFOCUS для фокусного элемента. - все работает вполне ожиданно, дефекты пока не обнаруживаются. Дополнительно к "ТЗ" было обсуждено, реализовано и проверено: *) FE_GOTFOCUS должен происходить на момент открытия панели, если она активна, и не должен в противном случае. *) если есть пара плагинных панелей, но сначала должно произойти FE_KILLFOCUS активной панели, теряющей фокус, затем FE_GOTFOCUS ставшей активной. Это не обсуждалось, но это так есть по результатам тестирования, и это так и должно быть, по-моему: на момент ??_KILLFOCUS объект еще активен, на момент ??_GOTFOCUS он уже активен. |
|
см. 2304 |
|
> см. 2304 туплю, возможно, но не понял - где-то его можно уже взять? |
|
Ну, по сути то последнее для тестирования, оно и есть 2304 |
Date Modified | Username | Field | Change |
---|---|---|---|
2007-11-22 11:45 | NightRoman | New Issue | |
2007-12-04 05:01 | vskirdin | Note Added: 0000949 | |
2007-12-04 05:18 | NightRoman | Note Added: 0000950 | |
2007-12-05 09:49 | vskirdin | Status | new => assigned |
2007-12-05 09:49 | vskirdin | Assigned To | => vskirdin |
2007-12-06 06:10 | NightRoman | Note Added: 0000964 | |
2007-12-06 09:14 | vskirdin | Note Added: 0000966 | |
2007-12-06 09:14 | vskirdin | Status | assigned => feedback |
2007-12-06 09:34 | NightRoman | Note Added: 0000967 | |
2007-12-06 09:47 | NightRoman | Note Edited: 0000964 | |
2007-12-06 10:53 | NightRoman | Status | feedback => resolved |
2007-12-06 10:53 | NightRoman | Resolution | open => fixed |
2007-12-10 06:46 | vskirdin | Note Added: 0000984 | |
2007-12-10 11:28 | vskirdin | Build | => 2304 |
2007-12-10 11:28 | vskirdin | Status | resolved => closed |
2007-12-10 11:28 | vskirdin | Fixed in Version | => 1.71 |