Notes |
|
(0015173)
|
Garl
|
29-01-2015 19:14
|
|
в дополнении к хотелке:
для слоёв сделать возможность использовать нескольких слоёв и карту на один хоткей, в теории получится реализация хотелки. ИМХО |
|
|
|
Не совсем, если просто позволять одинаковые хоткеи, то слой может входить только в одну группу, а если сделать наборы карта+слои, то слой может входить в произвольное число групп. |
|
|
(0015188)
|
zed
|
31-01-2015 11:51
|
|
Опишите, как вы это видите в программе, с точки зрения пользовательского интерфейса? |
|
|
|
Ну лично я представляю это как отдельную закладку в настройках где можно добавить группу, с хоткеем, главной картой (необязательн) и набором слоев. Первое нажатие на хоткей меняет активирует все слои и переключает карту если есть, второе нажатие отключает все слои (карту не трогает) |
|
|
(0015191)
|
Arech
|
31-01-2015 14:24
|
|
С точки зрения интерфейса, я бы предложил следующее исходя из решения двух потребностей: 1) управления наборами и 2) активации.
Активация, предложенная vdemidov выше (#c15190) мне кажется излишне сложной и я не вижу use-case для неё. Достаточно повесить просто одну глобальную кнопку на функцию "отключить все слои" и её будет достаточно для всего. Заодно не придётся усложнять обработку активаций наборов, она будет простейшей и не требующей хранения или инспектирования состояния: сначала отключает все слои, затем включает слои (и опционально карту - опциональность карты для набора поддерживаю!), входящие в набор.
1 Управление наборами слоёв
Осуществляется посредством диалогового окна, которое выводит список определённых наборов и их характеристик, и позволяет создать новый, удалить старый, клонировать и отредактировать существующий набор.
(поскольку предполагается, что наборы не будут уж очень большими и сложными, - ну сколько можно добавить слоёв на одну карту, чтобы не было мешанины? 4-5? Ну 10 максимум, - то, возможно, имеет смысл для первой реализации на редактирование и клонирование в целях экономии сил забить. Юзер не слишком сильно утомится удаляя/создавая с нуля новые наборы. Потом когда-нить можно будет приделать и редактирование)
1.1 доступ к диалогу управления наборами
а) В тулбар следом за dropdown-контролами карт и слоёв добавляется аналогичный dropdown для наборов. При нажатии на него выпадает меню, в котором первым пунктом стоит элемент "управлять наборами", затем separator, затем перечисляются названия определённых наборов (если наборов нет, можно сделать что-то типа пункта "<-наборы не заданы->", клик на который будет аналогичен клику по "управлять наборами").
Если у набора определён хот-кей, его следует подписать в названии пунктов.
б) В главное меню программы следом за "карты" и "слои" добавить пункт "наборы" с поведением, аналогичным тулбарному drop-down
Результат: пользователь получает доступ к диалогу управления наборами, а так же видит и может активировать определённые ранее наборы.
В идеале, было бы хорошо, если бы сейчас активированный набор (при условии точного совпадения карты+выбранных слоёв) подсвечивался, но вообще, особенно в первой реализации это не существенно.
1.2 Диалог управления наборами
Должен состоять из списка существующих наборов и кнопок "создать", "удалить" ("клонировать" и "редактировать") под списком.
1.2.1 список существующих наборов
В списке желательно отображать не только названия набора, но и описывать составляющие его карты и слои, т.к. в скором времени состав набора забудется, а отразить его в названии может быть сложно или очень неудобно.
В первой версии, впрочем, и названия будет достаточно.
1.2.2 кнопка создать
открывается диалог с полями:
- название набора (ограниченной макс.длины, подходящей для меню drop-down контролов)
- контролы для опционального выбора карты и отмены выбора карты
- контролы для добавления в набор слоёв, например так: каждый слой описывается дропом со списком слоёв для выбора и кнопками + и -, позволяющими добавить контролы для создания нового слоя под текущим слоем или удалить текущий слой. Набранные слои таким образом описываются столбцом контролов. Самый верхний слой в списке будет самым нижним слоем в z-index наложения на карту (если делать его самым верхним, то добавление нового слоя по нажатию "+" должно создавать контролы его описания над текущими контролами, а не под - это наверное немного геморнее в исполнении, поэтому проще добавлять контролы под текущим слоем и считать z-index отображения снизу вверх).
- контрол для задания хоткея для набора и отмены заданного.
- кнопки сохранить/отмена
При открытии диалог предзаполняется на основе текущей карты и текущих слоёв. При редактировании - значениями из набора.
Вот как-то так в первом приближении. Вроде бы ничего сложного? |
|
|
(0015192)
|
Arech
|
31-01-2015 14:31
|
|
Дополнение: забиваться на какое-то максимально возможное число слоёв в наборе я считаю нежелательным. Ибо в том же OSM есть масса замечательных узкоспецифичных слоёв, многие из которых могут потребоваться в одном наборе. И сколько всего их может потребоваться - хрен его знает, если только сейчас их несколько десятков.
Особенно не понятно, сколько их может стать в будущем и будет довольно неприятно, если программа сможет без проблем показывать хоть 100 слоёв, а набор будет ограничен десятком - это просто полностью девальвирует смысл заморачивания наборами.
Поэтому лучше просто число слоёв в наборе не ограничивать. |
|
|
(0015193)
|
Arech
|
31-01-2015 14:57
|
|
И, кстати!!!
При наличии функционала наборов естественным образом решается проблема по крайней мере с интерфейсом для http://sasgis.org/mantis/view.php?id=494
Там просто делаем возможность выбирать наборы с заполненной картой для контрола карт и наборы без карты (только со слоями) для контрола выбора слоёв. И всё, этим можно элементарно и удобно задать любое сочетание карты+необходимых слоёв для склейки (а так же остальных задач - скачивания, очистки кеша и т.д.)
Возможно, стоит перелинковать ту задачу и эту. |
|
|
(0015208)
|
vdemidov
|
31-01-2015 20:40
(edited on: 31-01-2015 20:41) |
|
Насчет активации согласен - достаточно по хоткею просто активировать все слои и включать нужную карту, если задана.
Насчет управления ноборами - гуй пусть рисует тот кому нужно, в рамках этой хотелки будет реализация максимум чтения этих настроек из ini файла.
К склейке с наложением нескольких слоев эта хотелка вообще никак не относится. Ничего общего в плане реализации.
|
|
|
(0016880)
|
zed
|
09-12-2015 19:14
|
|
Завтра в ночнушке появится что-то, что уже можно пробовать трогать. Ещё планируется добавить окошко Менеджера, чтобы можно было удалять/редактировать/сортировать существующие наборы. Сейчас есть только диалог добавления в избранное, но там уже вроде бы всё работает.
Тестируйте, кому интересно. |
|
|
(0016881)
|
Garl
|
09-12-2015 20:44
(edited on: 09-12-2015 20:46) |
|
еврики у мну нет. Но при нажатии на кнопку панельки вылетает в access violation
upd:
а если оставить всего одну карту, то заработало
|
|
|
(0016882)
|
zed
|
09-12-2015 20:45
|
|
Скачай ночнушку, она уже собралась. |
|
|
(0016883)
|
Garl
|
09-12-2015 20:51
|
|
без слоёв работает, как только есть слой - вылетает |
|
|
(0016884)
|
zed
|
09-12-2015 20:57
|
|
|
|
(0016885)
|
Garl
|
09-12-2015 21:01
|
|
|
|
(0016895)
|
zed
|
10-12-2015 19:19
|
|
Доделал менеджера, изменения уже в ночнушке. |
|
|
(0016896)
|
Tolik
|
11-12-2015 08:33
|
|
А можно повысить приоритет хоткея favorites?
Сейчас, если есть такой же хоткей у карты, работает он, что нелогично: юзер о нём не знает, хочет использовать, но приходится лезть в настройки карт и отключать его там. |
|
|
(0016897)
|
zed
|
11-12-2015 08:50
|
|
По-моему, нельзя. Про горячие клавиши у нас по-моему была хотелка, там надо порядок наводить отдельно, т.к. бардак полный. |
|
|
(0016910)
|
Tolik
|
12-12-2015 13:46
|
|
Бага про приоритет хоткеев не нашёл, открыть?
Очевидно, у избранных должен быть макс. приоритет. |
|
|
(0016920)
|
Garl
|
12-12-2015 18:57
|
|
мелкий недочёт:
при изменении фаворитов в диалоге изменения слои почему-то становятся выключенными, хотя в наборе они присутствуют
видать запоминается предыдущее состояние галки... |
|
|
(0016929)
|
zed
|
13-12-2015 17:41
|
|
>Бага про приоритет хоткеев не нашёл, открыть?
Вопрос не столько в приоритете, сколько в дубликатах. Нашёл вот такой тикет: 0001067
>мелкий недочёт
Пофиксил. |
|
|
(0016937)
|
Tolik
|
14-12-2015 06:52
|
|
Дубликаты проверять не надо. Например, хочу назначить на избранное кнопку 2, а она есть в zmp "Genshtab 2 km".
Я не хочу никаких сообщений об ошибке, что кнопка занята, хочу чтобы она просто работала (а hothey в zmp игнорировался).
Можно, конечно, в maps.ini прописать HotKey=0 для этой карты (или нескольких)... Но лучше бы расставить приоритеты. |
|
|
(0016938)
|
zed
|
14-12-2015 07:51
|
|
>Я не хочу никаких сообщений об ошибке
А кто-нибудь захочет - всё индивидуально. В любом случае, у горячих клавиш нету такого понятия, как приоритет. Они работают по принципу "кто первый, того и тапки". Поэтому для нормального управления горячими клавишами, нужна глобальная система, которая будет отслеживать кто какую клавишу использует и при конфликтах либо молча переназначать клавиши (и записывать в ini HotKey=0), либо сообщать об ошибках. |
|
|
(0016941)
|
vdemidov
|
14-12-2015 11:40
(edited on: 14-12-2015 11:42) |
|
По поводу хоткеев. Назначать хоткеями цифры или буквы в любом случае плохая идея. Назначьте 1 своему пресету в избранном, а потом попробуйте ввести единичку в окне операций с выделенной областью, например в имени файла для склейки.
|
|
|
(0016942)
|
Tolik
|
14-12-2015 11:48
|
|
Да, косячок. Вместо ввода цифры включается набор карт. А с цифрами и буквами в хоткеях zmp такого не происходит. |
|