View Issue Details

IDProjectCategoryView StatusLast Update
0001834WishesDialogpublic2013-02-03 00:33
ReporterNightRoman Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Product Version2.0 
Fixed in Version3.0 
Summary0001834: Если DIF_BTNNOCLOSE установлен, то текущий элемент не бегает за мышью
DescriptionПредложение такое: если DIF_BTNNOCLOSE в списке установлен, то текущий элемент не должен бегать за мышью, как это делается в меню.

Может, это даже вообще баг, что сейчас движение мыши меняет текущий элемент в списках. Логика: раз DIF_BTNNOCLOSE установлен, то клик не закрывает диалог, а только меняет текущий элемент -- последнее кажется единственно полезным действием при клике в таком сценарии. А потому смена текущего элемента при уводе мыши со списка очень нежелательна.
TagsNo tags attached.
Build2116

Activities

sonar

2011-07-12 12:25

developer   bugnote:0007270

поддерживаю.
очень раздражает когда по движению мыши слетает выделение элемента в списке. очень наглядно в колорере в диалоге настройки схем

samlyukov

2011-07-12 12:50

reporter   bugnote:0007271

тык DM_LISTSETMOUSEREACTION я юзаю везде, или я не понял, что вы хочете.

NightRoman

2011-07-12 13:06

reporter   bugnote:0007272

Ха. А я не знал про такой флаг. На форуме вчера обсуждали, и никто не упомянул.

Век живи, век учись. Тогда наверное, тикет и ни к чему, пойду смотреть, как это работает. По описанию вроде оно.

Спасибо.

NightRoman

2011-07-12 13:19

reporter   bugnote:0007273

Мдя. Не совсем оно, это же сообщение, а не флаг. Прикрутить, наверное, получится, и задача будет решена (благо, в Фарнет один раз и навсегда).

Однако, неувидивительно, что про этот механизм не все знают и пользуют.

Сделано неудобно, короче. Я бы подумал над предложением все равно.

DrKnS

2011-07-12 13:21

administrator   bugnote:0007274

А не извернуть ли само поведение?

По умолчанию - не бегаем.
Хочешь бегать - отправь сообщение.

samlyukov

2011-07-12 13:24

reporter   bugnote:0007275

для комбо надо оставить как щас, а для листа действительно не имеет смысла за мышой бегать.

NightRoman

2011-07-12 13:28

reporter   bugnote:0007276

Но только все-таки в зависимости от DIF_BTNNOCLOSE. Иначе с листах, которые работают, как меню, поведение изменится в нежелательную сторону.

samlyukov

2011-07-12 13:32

reporter   bugnote:0007277

Last edited: 2011-07-12 13:32

я не пойму как ты для списка юзаешь DIF_BTNNOCLOSE ? это только для кнопок.

NightRoman

2011-07-12 13:32

reporter   bugnote:0007278

[Исторический оффтопик] А почему это не флагом сделано, а сообщением? Я не могу придумать юз-кейс, если честно. Либо бегаем, либо не бегаем, решаем это на этапе дизайна диалога (то есть флага достаточно). А динамически это зачем менять?

NightRoman

2011-07-12 13:35

reporter   bugnote:0007279

> я не пойму как ты для списка юзаешь DIF_BTNNOCLOSE ?
Ну опечатка. бывает. читать -- DIF_LISTNOCLOSE

sonar

2011-07-12 16:19

developer   bugnote:0007280

тоже не знал про это сообщение.
оно не удобно (сообщение, а не флаг) еще по причине, что можно создать диалог без функции обработки сообщений и там это не задействовать

NightRoman

2011-07-19 06:06

reporter   bugnote:0007282

Вопрос без всякого упрека: этот тикет в долгий ящик попал или нет? В том смысле: у себя стоит временную прикрутку делать или лучше уж просто подождать решения в Фаре?

DrKnS

2011-07-19 06:13

administrator   bugnote:0007283

А итоговая формулировка виша где?

Сообщение или флаг, где изменить и где оставить по старому и т.п.

NightRoman

2011-07-19 07:31

reporter   bugnote:0007284

Итоговой как бы нет, ибо вырисовались несколько вариантов. Решать/выбирать вам.

Лично я предлагаю следующее:
Ничего не менять в АПИ (пока), но изменить поведение списка. Если DIF_LISTNOCLOSE установлен, то выделение за мышью не бегает (но это не относится к комбам, конечно -- там пусть бегает, это весьма ожиданно).

Вариант, имхо, самый простой и правильный идеологически. Кроме того, он не исключает изменение АПИ, добавление флагов и т.п., уже позже. С этого варианта можно начать и посмотреть, а надо ли еще что-то вообще будет.

В перспективе же я бы предложил удалить сообщения DM_LISTSETMOUSEREACTION (их вообще кто-то будет юзать после предложенного изменения?). Либо заменить их на DIF_LISTххх флаг(и) -- это должно покрыть все практические сценарии, я не могу придумать пользу от смены поведения списка уже после запуска диалога, это разрыв мозга какой-то у юзера может случиться, либо он заподозрит, что это баг, а не фича.

DrKnS

2011-07-25 17:27

administrator   bugnote:0007318

В 2116 DM_LISTSETMOUSEREACTION больше нет. Желаемое поведение списка задается флагами DIF_LISTTRACKMOUSE/DIF_LISTTRACKMOUSEINFOCUS при создании диалога.
По умолчанию для новых плагинов флаги не установлены (список за мышью не следит), для ansi-плагинов установлен DIF_LISTTRACKMOUSE (следит всегда).

Ввиду этого не вижу особого смысла вводить ещё и зависимость от DIF_LISTNOCLOSE.

sonar

2011-07-25 17:36

developer   bugnote:0007319

работает, как надо.

NightRoman

2011-07-25 17:40

reporter   bugnote:0007320

Хорошо. Лучше, чем было -- точно.

А это и на комбобоксы действует? По умолчанию нехорошо получится. В комбах-то должно бегать, они типа меню работают. Критерий - в едитах с историей бегает за мышью? Значит и в комбах должно. В едитах с историей это настраивается? Если нет, то и в комбах не надо делать настраиваемым. Иначе разброд в поведении UI контролов неизбежен.

Я бы делал это настраиваемым только для списков (не комбов).

DrKnS

2011-07-25 17:43

administrator   bugnote:0007321

К комбобоксам и историям это не относится.

samlyukov

2011-09-10 08:07

reporter   bugnote:0007635

текущая реализация вполне потребна, думаю, можно закрыть.

Issue History

Date Modified Username Field Change
2011-07-12 12:19 NightRoman New Issue
2011-07-12 12:25 sonar Note Added: 0007270
2011-07-12 12:50 samlyukov Note Added: 0007271
2011-07-12 13:06 NightRoman Note Added: 0007272
2011-07-12 13:19 NightRoman Note Added: 0007273
2011-07-12 13:21 DrKnS Note Added: 0007274
2011-07-12 13:24 samlyukov Note Added: 0007275
2011-07-12 13:28 NightRoman Note Added: 0007276
2011-07-12 13:32 samlyukov Note Added: 0007277
2011-07-12 13:32 NightRoman Note Added: 0007278
2011-07-12 13:32 samlyukov Note Edited: 0007277
2011-07-12 13:35 NightRoman Note Added: 0007279
2011-07-12 16:19 sonar Note Added: 0007280
2011-07-19 06:06 NightRoman Note Added: 0007282
2011-07-19 06:13 DrKnS Note Added: 0007283
2011-07-19 07:31 NightRoman Note Added: 0007284
2011-07-25 17:27 DrKnS Note Added: 0007318
2011-07-25 17:36 sonar Note Added: 0007319
2011-07-25 17:40 NightRoman Note Added: 0007320
2011-07-25 17:43 DrKnS Note Added: 0007321
2011-09-10 08:07 samlyukov Note Added: 0007635
2012-01-18 18:58 NightRoman Status new => resolved
2012-01-18 19:27 alexy Build => 2116
2012-01-18 19:27 alexy Status resolved => closed
2012-01-18 19:27 alexy Resolution open => fixed
2012-01-18 19:27 alexy Fixed in Version => 3.0
2013-02-03 00:33 alexy Severity minor => feature