Каких инструментов вам не хватает?

Сейчас нажимаешь ентер, вид линии меняется. Думашь, ок, отмучился. Выбираешь другой инструмент, и херакс, всё пропадает! Думаешь, ёжкин-кошкин, всё пропало! Это неправильно.

Да, не то что-то, хоть ничего и не пропадает на самом деле. Но какие есть варианты?

  1. Автосохранение при выходе из режима после нажатия Enter
  2. Жирные красные буквы поверху карты “Режим упрощения, жмите то-то и то-то”
  3. Вежливый вопрос “А что, сохраниться не хотите?” или после первого нажатия Enter одноразовый показ текста - что делать дальше.
    Что лучше?

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

Можно. Не трудно даже… Но вот что-то я опасаюсь, что народ упрощать вообще ничего не будет и наштампует кучу линий по 100500 точек…
Может, по Enter упрощать по умолчанию (с табличкой), но сохранять по следующему Enter или выходу из режима? И отдельные кнопки тоже ввести (вплоть до секретного “сохранить без упрощения”)) ).

Может, табличку показывать только если получилось 100500 точек на километр? Если точек приемлемое количество, то просто сохранить линию. Аналогично работает стандартное перемещение — если перемещается много объектов за раз, то выводится предупреждение. Это ожидаемо и вполне понятно будет.

Нашел небольшую проблему в fastdraw (26457):

  • Выделяем (имеющийся) замкнутый way, нажимаем fastdraw
  • Рисуем что-то, но не сохраняем (enter), а переключаемся на другой инструмент (например, кнопкой S)
  • Way исчезает, остаются только точки (может быть проблема уже в этом месте)
  • Удаляем точки (я недорисовал и решил рисовать с нуля, поэтому решил удалить точки)
  • Переключаемся снова на fastdraw
  • Нажимаем enter 2 раза
  • Выпадает эксепшен java.lang.IllegalArgumentException: {Node id=…} is already deleted http://paste.org.ru/?qpxvd8
  • Больше до перезапуска плугин использовать нельзя, т.к. показывает этот недорисованный way снова, и нельзя ни отменить, ни сохранить way

(В trac josm’а не нашел компонент Plugin: fastdraw, поэтому не написал туда)

P.S. Обнаружил еще:

  • Выделяем имеющийся way, входящий в релейшен
  • Редактируем с помощью fastdraw
  • Отменяем редактирование (не уверен, но кажется то же будет, если не отменять, а сохранить, нажав enter два раза)
  • Теперь многие действия с релейшеном (например, отсортировать членов) будут вызывать NullPointerException http://paste.org.ru/?79esjp и текущие редактируемые данные будут иметь нарушения целостности

Да, так, пожалуй, можно. Наверное, придётся немного настроек клавиши Enter добавить - кому как удобно. По умолчанию сделаю “Сохранить сразу”, другие варианты - “Сохранить с автоупрощением” и “Упростить при первом нажатии”. Для упрощения отельную кнопку ввести придётся - что-нибудь с краю клавиатуры рядом с Enter?

Я подозревал, что из редактирования ничего хорошего не выйдет :slight_smile: Попробую разобраться.
С первым глюком разобрался, убрал. С отношениями сложнее - пока линия пересоздаётся заново и засунуть её в те же отношения проблематично. Пока сделал просто более корректное удаление. Можно обновиться, проверить…

Лучше вообще Shift+Enter.

А что, можно и Shift-Enter! Только сохранение без упрощения , хоть и с предупреждением, меня всё больше смущает. Всё же сделаю по умолчанию автоупрощение, с возможностью удобной смены поведения в настройках.

P. S. Раньше вечера точно не сяду)

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

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

Я вот хотел промолчать про изменение поведения инструмента, ибо уже приноровился и меня всё устраивает. Но раз вы серьёзно… В общем, могу предложить схему подсмотренную в векторных редакторах:
После того как линия проведена, один жмак enter, она самоупрощается и работа инструмента как бы закончена - можно рисовать дальше. А можно теми же клавишами alt+, alt- отредактировать упрощение, но только до тех пор пока не выбран другой инструмент или не начата новая линия.
Сумбурненько так, но надеюсь мысль ясна. От не очень очевидного двойного enter отказались, но функционал и сценарий работы остались те же.

Спасибо за дельные замечания!

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

Пока нельзя, к сожалению( Галочка в настройках (Q) подойдёт? (сделаю)

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

Дык после жмака enter мы сразу имеем возможность рисовать следующую линию без дополнительных телодвижений. И как только начал вести следующую теряешь возможность подкорректировать упрощение предыдущей. Как-то так.

А если старую подредактировать охота, или вообще случайно Enter нажался?

Между нажатием enter и началом следующей линии есть возможность редактировать упрощение текущей. Надо бы где-нибудь найти видео как такой подход работает.

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

Выложил следующую версию. Новое (в скобках - авторы идей):

  1. Галочки автофиксации узлов, добавленных кликом/пробелом (Ilis)
  2. Галочка привязки к узлам в настройках (Hind)
  3. Наглядное отображение интервала при нажатии вверх/вниз, автоскрытие тянучки, когда она не нужна.
  4. (самое главное) Автосохранение линии при смене режима и начале рисования следующей (Felis Pimeja, Ilis). Enter можно жать один раз. А можно и два.
  5. Настройка поведения Enter в (Q) - медленное автоупрощение, быстрое заданное упрощение и сохранение как есть (читерский пункт, буду удалять или хотя бы табличку допишу).

Надеюсь, всё работает. Жалоб пока не поступает :slight_smile:

Создал отдельную тему для FastDraw:
http://forum.openstreetmap.org/viewtopic.php?id=13369
, а то эту дальше заваливать своим творчеством как-то недобно. Многие полезные запросы, типа
http://forum.openstreetmap.org/viewtopic.php?pid=177197#p177197
далеко скрываются и никому не видны…
Пусть новая тема где-нибудь в хвосте болтается (как http://forum.openstreetmap.org/viewtopic.php?id=12125 ), если наверх вылезла - видно, что нужна реакция.