RUS  ENG 

Редактирование слоя

Страницы: 1
RSS
Редактирование слоя
 
Добрый день.

Для редактирования слоя я использую компонент MapEditCtrl.
Возникли такие вопросы:

- по кнопке ввода символа можно ввести типовой объект, но не получается ввести примитив (кнопка ввода симвода недоступна). Видимо, надо сначала задать тип примитива (в Zulu кнопка "символ для ввода").
Если я открываю эту карту в Zulu, перехожу в редактирование слоя, выбираю символ для ввода и сохраняю, то потом в программе кнопка ввода символа становится доступна и мне предлагается тот сохраненный символ. А как программно выбрать символ для ввода? Есть такой метод?

- при вводе линии, полигона, текста можно ли предварительно задать стиль (в Zulu кнопки "Стиль заполненных фигур", "Стиль ломаной", "Стиль шрифта")?

В принципе кнопки редактирования, видимо, можно продублировать программно, назначая режим EditMode. Но все равно не хватает методов вызова окошек выбора символа и стиля.

Еще хочется реализовать функцию отката по Ctrl-Z (Undo) и возврата по Ctrl-Shift-z (Redo). Перехватываю OnKeyUp или OnKeyDown - в переменной Shift всегда установлены признаки ssShift и ssCtrl, независимо от того, нажимаю я эти клавиши или нет.

Заранее спасибо.
 
Все перечисленные вопросы а в процессе доработки. В новой версии это будет...
 
Тогда учтите в новой версии еще одно замечание:
Допустим, я ввожу участок, потом ставлю узел(или другой типовой символ) и дальше веду участок. Чтобы исключить узел, есть пункт меню. Но по ошибке можно просто его удалить, и получаются 2 несвязанных участка. Теперь можно выбрать один из них в качестве мишени и "склеить" их.
Получается вроде бы нормальный участок. Но он ведет себя некорректно: например, если сменить направление участка, некотрые ребра куда-то перескакивают. Если в режиме редактирования "удалить точку перелома", в которой соединялись участки, то одно ребро пропадает.
Этот эффект возникает как при работе в редакторе Zulu, так и при редактировании из пограммы. Для наглядности лучше задать по несколько ребер в каждом участке.
 
Сейчас при объединении с мишенью линейные объекты не склеиваются, а агрегируются. Т.е. это объект из двух сегментов, которые могут и не иметь общих точек. Другое дело, что можно доработать, чтобы как и в случае площадных объектв с общей стороной, предлагать превращать в один объект линии, концы которых совпадают. Это и в текущей версиии можно добавить.
 
Было бы хорошо. Потому что сейчас в случае ошибки приходится перепротягивать весь участок заново. Причем надо, чтобы это выполнялось и при программном склеивании участков.
 
Уже выложили обновление, проверьте.
А программно Layer.JoinSelectedElements(long param) param = 0 - не склеивает, 1 - склеивает, -1 - будет спрашивать, если есть что склеивать
 
спасибо, проверю
Страницы: 1