Skip to content
mad edited this page Apr 10, 2011 · 3 revisions

Во время исследования фолдинга, оказалось, что с помощью Annotation можно решить задачу решаемую Position-Manager. А именно управлять и мониторить контейнерами. Подход с Annotation не требует реализации логики перемещения.

Подход заключается в следующем,

Как только создался Partiotion, мы создаем Annotaion на этот Position и забываем о нем. За перемещение и изменение координат Annotation отвечает AnnotaionModel.

Соединение AnnotationModel с документом

fAnnotationModel = new AnnotationModel();
fAnnotationModel.connect(fDocument);

Создание Annotaion на заданной позиции (далее позицией Annotaion управляет AnnotationModel)

Annotation a = new Annotation("test", true, "test");
fAnnotationModel.addAnnotation(a, new Position(fChangedPartitioningRegion.getOffset(), 
                                               fChangedPartitioningRegion.getLength()));

Доступ к позиции Annotation

Iterator e= fAnnotationModel.getAnnotationIterator();
while (e.hasNext()) {
	Annotation a= (Annotation) e.next();
	fAnnotationModel.getPosition(a);
}
Clone this wiki locally