View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001371SAS.Планета[All Projects] Хотелкаpublic02-07-2012 19:0205-10-2012 09:57
Reporterzed 
Assigned Tozed 
PrioritynormalSeverityminorReproducibilityN/A
StatusresolvedResolutionfixed 
PlatformWindowsOSXPOS VersionSP3
Product Version110418 
Target Version121010Fixed in Version121010 
Summary0001371: Всплывающее меню при клике по строке статуса
DescriptionДля того, чтобы иметь быстрый доступ к настройкам статусной строки, хотелось бы, чтобы появлялась менюшка с чекбоксами, включая и отключая которые, можно было бы включать/отключать определённые "поля" в статусной строке.
Оттуда же, хотелось бы вызывать и окошко со всеми настройками для строки (цвет, шрифт и проч.), присутствующими в ini.
Tagsменю, строка состояния, строка статуса
Attached Files

- Relationships

-  Notes
(0007741)
zed (manager)
02-07-2012 19:13

>Ответственный => zed
Хех. Дело в том, что я без понятия, с какой стороны подступиться. А так бы да, сделал.
(0007742)
vdemidov (manager)
02-07-2012 19:19

А в чем сложности?
(0007743)
Garl (manager)
02-07-2012 19:26

кстати может "отображать линейку" тоже в эту менюшку засунуть?
(0007744)
vasketsov (manager)
02-07-2012 19:27

Ну видимо галочки - это пункты меню с чекбоксами.
А на цвета - окошко.
(0007745)
zed (manager)
02-07-2012 19:29

>А в чем сложности?
Так: "я без понятия, с какой стороны подступиться" (c)

>кстати может "отображать линейку" тоже в эту менюшку засунуть?
Кстати, для линейки нужно своё меню, при клике по ней.

>А на цвета - окошко.
Ну и пункты с чекбоксами там можно повторить, для комплекту.
(0007746)
vdemidov (manager)
02-07-2012 19:33

Смотри как контекстное меню сделано в миникарте и делай по образу и подобию. Точнее гораздо проще, ибо там динамически пункты генеряться, а тут тупо статическое меню навесить.
(0009137)
zed (manager)
03-10-2012 16:29

C бОльшего вроде всё получилось, но есть трудность с меню для линейки: там создаётся достаточно большая битмапка, которая перекрывает карту. Надо бы сделать так, чтобы меню вызывалось только при клике в нижней части экрана (по горизонтальному участку линейки), но что-то не соображу как вызывать родительское меню. Так же, в районе линейки перестаёт действовать событие OnMouseMove родительского слоя (основной карты), так что там нельзя схватить и подвинуть карту. Если включена только горизонтальная линейка, то это ещё не очень сильно мешает и можно как-то выкрутиться (подогнать размер битмапки, чтобы она не перекрывала лишнего), но вот при включении вертикальной линейки получается неудобно и обходного пути не видно...

Есть мысли, как можно это всё порешить?
(0009138)
vdemidov (manager)
03-10-2012 18:32

Вариантов два. Разделить вертикальную и горизонтальную линейку на разные слои. Или включить хит-тест по прозрачности.
(0009139)
zed (manager)
03-10-2012 18:33

Про второй вариант по-подробнее можно?
(0009140)
vdemidov (manager)
03-10-2012 20:05

У TBitmapLayer есть пропертя AlphaHit, вот что про нее написано в документации:
If AlphaHit=True, layer checks the opacity of the pixel lying under the specified point and passes the hit test only when the alpha channel of the pixel is greater when zero.

Я правда сам этого никода не пробовал включать.
(0009141)
vdemidov (manager)
03-10-2012 21:02

Еще. Я бы на твоем месте создал сами поп-ап менюшки прямо в дизайн-тайме на главной форме и просто передал их в конструкторы слоев. Так бы ты избежал проблем с локализацией этих пунктов меню и временем их жизни. А то сейчас есть утечка памяти.
(0009142)
zed (manager)
04-10-2012 06:36

>У TBitmapLayer есть пропертя AlphaHit
О, именно то, что надо!

>Так бы ты избежал проблем с локализацией этих пунктов меню
Хм, про локализацию я как-то сразу не подумал. Хотя, в принципе, ведь достаточно все строки сделать ресорсными и должно заработать? Правда не известно, как оно себя поведёт при динамическом изменении языка.
С другой стороны, если делать менюшки в дизайне, то в главной форме появится ещё пачка OnClick методов, для пунктов меню, что ещё больше загромоздит и без того перегруженный юнит. Да и переделывать эти менюшки уже неохота.

>А то сейчас есть утечка памяти.
Уже нету.
(0009143)
vdemidov (manager)
04-10-2012 06:46

>Хотя, в принципе, ведь достаточно все строки сделать ресорсными и должно заработать?
Неправда. Придется вешать обработчик события смены языка, который будет заново расставлять кепшены.
>С другой стороны, если делать менюшки в дизайне, то в главной форме появится ещё пачка OnClick методов, для пунктов меню, что ещё больше загромоздит и без того перегруженный юнит.
Это конечно так, но кто мешает ограничиться одним онкликом с проверкой тега как это сделано у тебя сейчас, а во-вторых, это даст возможность добавить эти пункты в главное меню и повесить на них хоткеи, если кому-то это понадобиться.
(0009144)
Tolik (manager)
05-10-2012 06:23

Супер!
Только заметил мелкие недочёты (ну работа у меня такая :)

1. Если кликнуть по линейке правой кн., выбрать опции, поставить галку у вертикальной шкалы, ок - она включается. Но если снова кликнуть - галочка у пункта Show Vertical... контекстного меню не активна. То же самое с форматом чисел и, вероятно, всеми остальными параметрами. То же самое со строкой статуса.
2. Я думаю, Scale Legend надо всюду заменить на Scale (и в меню View тоже).
3. Чтобы попасть в конт. меню линейки, надо слишком точно прицеливаться в линию или цифру.
(0009146)
zed (manager)
05-10-2012 06:48

1. Ничего не понял, что значит не активна? У меня всё активно и включается и отключается именно столько раз, сколько я захочу. Во всех пунктах менюшек и в окошке настроек. Если там какой-то неадекват, то это уже в новый тикет - будем разбираться.
2. Не надо.
3. Да, и по другому никак.
(0009147)
zed (manager)
05-10-2012 06:51

А, понял. Да, есть такое.
(0009155)
Tolik (manager)
05-10-2012 09:38

Ещё пункт меню Settings - Interface Options выровняйте, пожалуйста, с остальными п.
(0009156)
vdemidov (manager)
05-10-2012 09:52

Ой перемудрил ты с руссификацией. А сделал бы как я предлагал с простой передачей готового поп-апа в слой, то оно б это все автоматом реализовало.
(0009157)
zed (manager)
05-10-2012 09:57

Та, мелочи.

- Users who viewed this issue
User List Anonymous (2167x)
Total Views 2167
Last View 28-01-2020 01:47

- Issue History
Date Modified Username Field Change
02-07-2012 19:02 zed New Issue
02-07-2012 19:02 zed Tag Attached: строка состояния
02-07-2012 19:02 zed Tag Attached: меню
02-07-2012 19:03 zed Tag Attached: строка статуса
02-07-2012 19:09 vdemidov Assigned To => zed
02-07-2012 19:09 vdemidov Status new => assigned
02-07-2012 19:09 vdemidov Target Version => 25xxxx
02-07-2012 19:13 zed Note Added: 0007741
02-07-2012 19:19 vdemidov Note Added: 0007742
02-07-2012 19:26 Garl Note Added: 0007743
02-07-2012 19:27 vasketsov Note Added: 0007744
02-07-2012 19:29 zed Note Added: 0007745
02-07-2012 19:33 vdemidov Note Added: 0007746
09-08-2012 07:17 vdemidov Product Version .Nightly => 110418
28-08-2012 14:43 zed Assigned To zed =>
28-08-2012 14:43 zed Status assigned => confirmed
03-10-2012 16:29 zed Note Added: 0009137
03-10-2012 16:40 zed Assigned To => zed
03-10-2012 16:40 zed Status confirmed => assigned
03-10-2012 18:32 vdemidov Note Added: 0009138
03-10-2012 18:33 zed Note Added: 0009139
03-10-2012 20:05 vdemidov Note Added: 0009140
03-10-2012 21:02 vdemidov Note Added: 0009141
04-10-2012 06:36 zed Note Added: 0009142
04-10-2012 06:46 vdemidov Note Added: 0009143
04-10-2012 12:28 zed Status assigned => resolved
04-10-2012 12:28 zed Fixed in Version => 121010
04-10-2012 12:28 zed Resolution open => fixed
04-10-2012 12:29 zed Target Version 25xxxx => 121010
05-10-2012 06:23 Tolik Note Added: 0009144
05-10-2012 06:48 zed Note Added: 0009146
05-10-2012 06:51 zed Note Added: 0009147
05-10-2012 09:38 Tolik Note Added: 0009155
05-10-2012 09:52 vdemidov Note Added: 0009156
05-10-2012 09:57 zed Note Added: 0009157



Copyright © 2007 - 2020 SAS.Planet Team