1 package org.simantics.district.network.ui;
3 import java.util.concurrent.TimeUnit;
5 import org.simantics.district.network.ui.participants.DNPointerInteractor;
6 import org.simantics.district.network.ui.participants.MapRulerPainter;
7 import org.simantics.g2d.canvas.ICanvasContext;
8 import org.simantics.g2d.canvas.impl.CanvasContext;
9 import org.simantics.g2d.diagram.handler.PickRequest.PickFilter;
10 import org.simantics.g2d.diagram.participant.DelayedBatchElementPainter;
11 import org.simantics.g2d.diagram.participant.ElementPainter;
12 import org.simantics.g2d.diagram.participant.Selection;
13 import org.simantics.g2d.diagram.participant.ZOrderHandler;
14 import org.simantics.g2d.participant.BackgroundPainter;
15 import org.simantics.g2d.participant.GridPainter;
16 import org.simantics.g2d.participant.PanZoomRotateHandler;
17 import org.simantics.g2d.participant.RenderingQualityInteractor;
18 import org.simantics.maps.eclipse.MapPainter;
19 import org.simantics.modeling.ui.diagramEditor.DiagramViewer;
20 import org.simantics.utils.datastructures.hints.IHintContext;
22 public class DistrictDiagramViewer extends DiagramViewer {
25 protected void addDiagramParticipants(ICanvasContext ctx) {
26 ctx.add(new ZOrderHandler());
27 ctx.add(new Selection());
28 ctx.add(new ElementPainter());
29 ctx.add(new DNPointerInteractor());
31 ctx.add(new MapPainter(100000));
33 ctx.add(new NetworkDrawingParticipant());
36 protected String getPopupId() {
37 return "#DistrictDiagramPopup";
41 public void initializeCanvasContext(CanvasContext ctx) {
42 super.initializeCanvasContext(ctx);
43 IHintContext h = ctx.getDefaultHintContext();
44 h.setHint(PanZoomRotateHandler.KEY_ZOOM_IN_LIMIT, 10000.0);
45 h.setHint(PanZoomRotateHandler.KEY_ZOOM_OUT_LIMIT, 0.01);
49 protected void addPainterParticipants(ICanvasContext ctx) {
50 ctx.add(new RenderingQualityInteractor());
51 ctx.add(new DelayedBatchElementPainter(PickFilter.FILTER_MONITORS, 500, TimeUnit.MILLISECONDS));
55 protected void addGridRulerBackgroundParticipants(CanvasContext ctx) {
56 ctx.add(new GridPainter());
57 ctx.add(new MapRulerPainter());
58 ctx.add(new BackgroundPainter());