Аналитика
http://www.geosystema.net/forum/

Можно сделать редактирование узлов "одиночными щелчками
http://www.geosystema.net/forum/viewtopic.php?f=1&t=64
Страница 1 из 1

Автор:  Павел Корыстин [ 02 июн 2005 13:26 ]
Заголовок сообщения:  Можно сделать редактирование узлов "одиночными щелчками

Давно хотелось предложить, но все стеснялся. :)

:idea: Предлагаю сделать (опционально) редактирование узлов не перетаскиванием, а "одиночными щелчками" мыши. Чтоб можно было отменить перетаскивание в процессе кнопкой Esc. Как, например, в Автокаде - очень удобно.

Очень-очень часто при пометке объекта случайно сдвигается узел. Часто этого не замечают - возникают проблемы.

Автор:  Sergey Oleynik [ 02 июн 2005 15:47 ]
Заголовок сообщения: 

Может лучше сделать блокировку смещения узла при пометке.
Т.е. пока после пометки кнопка мыши не будет отпущена и нажата снова, до тех пор курсор перемещения не появится?

Автор:  Павел Корыстин [ 02 июн 2005 17:13 ]
Заголовок сообщения: 

Sergey Oleynik писал(а):
Может лучше сделать блокировку смещения узла при пометке.
Т.е. пока после пометки кнопка мыши не будет отпущена и нажата снова, до тех пор курсор перемещения не появится?


Нет, это не поможет.
Когда насыщенная карта и много объектов близко друг к другу или вообще с совпадающей графикой, пометить нужный объект с первого раза не удается. Щелкаем 2-й, 3-й раз (перебором) или двойным щелчком вызываем список. Такое у нас очень часто. Как раз в таких случаях и случаетюся случайные смещения узлов.

А блокировка появления курсора вообще ни на что не повлияет, насколько я понимаю. Мне и так не удалось, как ни старался, одновременно пометить объект и сдвинуть узел за один щелчок. Курсор смещения появляется, но смещения не происходит, т.е. такая блокировка уже есть и не помогает :)

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

Корень зла в том что и "пометка" и "смещение узла" производится одним и тем же действием - щелчком мыши, с той лишь разницей, что смещение происходит в случае если щелчок сопровождается дрожанием руки и курсор попал на узел - это бывает часто.

Автор:  Sergey Oleynik [ 07 июн 2005 17:52 ]
Заголовок сообщения: 

Проблема понятна.
И все таки она некоторым образом связана с курсором, так как реакция программы на щелчок мышью напрямую зависит от текущего курсора.

Так если при пометке объекта щелкнуть на его точке, то сразу после отпускания кнопки мыши там появляется курсор перетаскивания.
При повторном щелчке (в попытке пометить следующий объект) программа уже воспринимает его как команду на перетягивание точки.

Мы добавили некоторую блокировку. Теперь даже если помечать объект щелкая на его точке курсор перетягивания сразу не появляется (только после перемещения мыши). Т.е. если многократно щелкать мышью помечая объекты, то нечаянно сдвинуть точку становиться труднее.

Также добавлена отмена текущего перемещения точки по Esc (не отпуская кнопку мыши).

Автор:  Павел Корыстин [ 07 июн 2005 18:30 ]
Заголовок сообщения: 

Sergey Oleynik писал(а):
Мы добавили некоторую блокировку. Теперь даже если помечать объект щелкая на его точке курсор перетягивания сразу не появляется (только после перемещения мыши). Т.е. если многократно щелкать мышью помечая объекты, то нечаянно сдвинуть точку становиться труднее.


Ну посмотрим, но по-моему не поможет.
Щелчок часто сопровождается хоть и небольшим, но перемещением мыши.

Я так понял, что переделать "перетаскивание" на "два щелчка" проблематично. А жаль.
Я хотел о Вас именно этого.

Отмена ESCape-ом не спасает, если случайное редактирование произошло в процессе "щелчка", воспринятого программой как перетаскивание. А такое часто происходит в разных ситуациях (когда торопишься), не толоко если многократно щелкать мышью.

Автор:  Sergey Oleynik [ 08 июн 2005 12:46 ]
Заголовок сообщения: 

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

Ведь если есть несколько щелчков и между щелчками есть перемещение то и перетаскивание "за два щелчка" помоему не поможет. Первый щелчок - начать перемещение, второй - закончить и вот точка уже и сдвинулась.

Автор:  Павел Корыстин [ 08 июн 2005 14:35 ]
Заголовок сообщения: 

Sergey Oleynik писал(а):
Ведь если есть несколько щелчков и между щелчками есть перемещение то и перетаскивание "за два щелчка" помоему не поможет. Первый щелчок - начать перемещение, второй - закончить и вот точка уже и сдвинулась.


Нееее.... не согласен. Пауза между двумя щелчками всегда существенно больше чем пауза между нажатием и отпусканием кнопки во время щелчка.

Насчет идеологии и множества настроек Вам конечно видней, но по-моему ГИБКОСТЬ и НАСТРАИВАЕМОСТЬ - это более существенные достоинства программы чем ПРИВЫЧНОСТЬ и ТРАДИЦИОННОСТЬ :)

Я же предлагаю сделать выбор из двух вариантов, оставив старый "по умолчанию". Вы почти всегда именно так и вводите все новшевства. Очень, кстати, верная идеология.

Чем больше пользователь может повлиять на программу, тем ему проще подогнать ее под свои особенности, ТЕМ БОЛЬШЕ БУДЕТ ПОЛЬЗОВАТЕЛЕЙ. :wink:

Автор:  Sergey Oleynik [ 16 июн 2005 09:14 ]
Заголовок сообщения: 

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

Потому что, если вводить перемещение 2 щелчками, то почему только для точек? Тогда, по идее, новый принцип должен также работать и для перемещения подписей и объектов за центр, и т.д. Их же тоже случайно можно сдвинуть.

Кстати, мне помнится в некторых драйверах мыши есть возможность включить "залипание", когда первое нажатие с отпусканием воспринимается просто как нажатие, а второе - как отпускание.
В ноутбуках для тачпадов такое точно есть.

Автор:  Dmitriy Fedorov [ 16 июн 2005 18:44 ]
Заголовок сообщения: 

Проблема случайного перетаскиваются узлов, описаная выше, случается и в нашей практике.

Конечно, на распечатке зачастую никаких сдвигов и не видно, слишком мизерные бывают, но если речь идет о топологически корректной карте, или когда требуются строгое соответствие координат точек, то..
Очень сложно психологически, до паранои доходит, а вдруг где-нибудь случайно сдвинул координату и ДЗК снова вернёт?! :shock:

Как решать лучше, не знаю. Во всяком случае, пока что на меня не расчитывайте. :)
Вариант добавления способа "в два щелчка" вместо "нажми, тяни, отпусти" кажется разумным - при сохранении текущего по умолчанию.

Но! В тоже время, я абсолютно солидарен с Сергеем Олейником - как быть с остальными случаями? Ввести глобальную настройку - или так или эдак? Примеры есть - скажем, в автокаде существует выбор рамкой "родной в два щелчка" и "виндовсный".

Есть альтернативные варианты - типа, специальной кнопицы, как в мапинфо - пока не нажал, до узлов не доберёшся. Пометку снял - всё, нажимай снова, если намерен узлы тянуть. Абсолютно защищенное решение, но трудно применимое, если редактировать нужно много.

Вобщем, ребята, давайте думать.

P.S. Где найти такие настройки мыши? Чисто на пробу?

Автор:  Sergey Oleynik [ 17 июн 2005 12:36 ]
Заголовок сообщения: 

Dmitriy Fedorov писал(а):
Есть альтернативные варианты - типа, специальной кнопицы, как в мапинфо - пока не нажал, до узлов не доберёшся. Пометку снял - всё, нажимай снова, если намерен узлы тянуть. Абсолютно защищенное решение, но трудно применимое, если редактировать нужно много.

Нечто похожее уже было сделано. Несколько месяцев назад, был добавлен запрет на редактирование точек при выбранной закладке "Инфо". Своя логика в этом есть. Если находишься в режиме Инфо то редактирования нет. Хочешь редактировать - переходи в Правку. Правда потом многие стали против этого возражать и эту возможность упрятали в настройки, где она до сих пор и находится :)

Dmitriy Fedorov писал(а):
P.S. Где найти такие настройки мыши? Чисто на пробу?

Настройки в свойствах мыши (Пуск|Настройки|Панель управления...)
http://www.geosystema.com/temp/Touchpad.gif
Правда, я попробовал и это оказалось не совсем то. Там суть в том что если подержать кнопку мыши нажатой некоторое время (минимально где-то 0.5 с), то потом можно ее отпускать а она все равно будет числиться нажатой (до следующего щелчка). Это просто такой способ чтобы не держать ее нажатой слишком долго, но он никак не помешает сдвинуть редактируемую точку.

Автор:  Dmitriy Fedorov [ 20 июн 2005 14:15 ]
Заголовок сообщения: 

Sergey Oleynik писал(а):
Нечто похожее уже было сделано. (...)

Вот именно поэтому я и назвал это альтернативное решение трудно применимым.

Sergey Oleynik писал(а):
Настройки в свойствах мыши (Пуск|Настройки|Панель управления...)

Похоже в win2000 отсутвует настройка на "залипание", но это уже и не важно, поскольку всё равно не то..

А вот идея с "двумя щелчками" мне нравится всё больше. Причем я за глобальное применение и с возможностью выбора между двумя вариантами в настройках.

По идее, такой глобальный вариант должен быть проще в реализации, если конечно в коде применяются какие-то общие процедуры для отслеживания ввода от мыши. Можно реализовать это самое неудачное виндовсное "залипание" на уровне самой программы.

Да, пока не забыл. :)
Почему не реализованы горячие клавиши P, I, L, E в режиме перетаскивания узла, который мы тут обсуждаем? Было бы весьма полезно!

(Кстати, меню "захват" правой кнопки пристроить для такой цели получится только в режиме "двух щелчков"! Не станешь же вызывать меню правой кнопки, одновременно удерживая левую нажатой?)

Автор:  Скачков Алексей [ 06 июл 2005 17:06 ]
Заголовок сообщения: 

Цитата:
А вот идея с "двумя щелчками" мне нравится всё больше. Причем я за глобальное применение и с возможностью выбора между двумя вариантами в настройках.


Тоже "за".

Цитата:
Почему не реализованы горячие клавиши P, I, L, E в режиме перетаскивания узла, который мы тут обсуждаем? Было бы весьма полезно!


Этого сильно не хватает. Вообще в режиме правки привязка работает плохо.

Автор:  Павел Корыстин [ 05 авг 2005 10:46 ]
Заголовок сообщения: 

[quote="Dmitriy Fedorov(Кстати, меню "захват" правой кнопки пристроить для такой цели получится только в режиме "двух щелчков"! Не станешь же вызывать меню правой кнопки, одновременно удерживая левую нажатой?)[/quote]

ВО! Трезвая мысль!

Автор:  Volod [ 11 окт 2005 22:43 ]
Заголовок сообщения: 

Может назначить клавишу для вызова списока близлежащих обьектов в положение курсора, тогда и мышкой клацать ненужно? Может чуть дольше но надежней.
Реализовать думаю не сложно.

Автор:  Скачков Алексей [ 02 дек 2005 14:24 ]
Заголовок сообщения: 

Оффтоп.

Хочу выразить огромную благодарность разработчикам, за глубину поыток понять суть проблемы. К сожалению ни один другой разработчик ПО не был так близок к пониманию проблем конечного пользователя.

Победа всёравно за нами!

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/