]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java
Implement district features to Simantics platform
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / DistrictDiagramViewer.java
1 package org.simantics.district.network.ui;
2
3 import java.util.concurrent.TimeUnit;
4
5 import org.simantics.district.network.ui.participants.DNPointerInteractor;
6 import org.simantics.g2d.canvas.ICanvasContext;
7 import org.simantics.g2d.canvas.impl.CanvasContext;
8 import org.simantics.g2d.diagram.handler.PickRequest.PickFilter;
9 import org.simantics.g2d.diagram.participant.DelayedBatchElementPainter;
10 import org.simantics.g2d.diagram.participant.ElementPainter;
11 import org.simantics.g2d.diagram.participant.Selection;
12 import org.simantics.g2d.diagram.participant.ZOrderHandler;
13 import org.simantics.g2d.participant.PanZoomRotateHandler;
14 import org.simantics.g2d.participant.RenderingQualityInteractor;
15 import org.simantics.maps.eclipse.MapPainter;
16 import org.simantics.modeling.ui.diagramEditor.DiagramViewer;
17 import org.simantics.utils.datastructures.hints.IHintContext;
18
19 public class DistrictDiagramViewer extends DiagramViewer {
20
21     @Override
22     protected void addDiagramParticipants(ICanvasContext ctx) {
23         ctx.add(new ZOrderHandler());
24         ctx.add(new Selection());
25         ctx.add(new ElementPainter());
26         ctx.add(new DNPointerInteractor());
27         
28         ctx.add(new MapPainter(100000));
29         
30         ctx.add(new NetworkDrawingParticipant());
31     }
32     
33     @Override
34     public void initializeCanvasContext(CanvasContext ctx) {
35         super.initializeCanvasContext(ctx);
36         IHintContext h = ctx.getDefaultHintContext();
37         h.setHint(PanZoomRotateHandler.KEY_ZOOM_IN_LIMIT, 10000.0);
38         h.setHint(PanZoomRotateHandler.KEY_ZOOM_OUT_LIMIT, 0.01);
39     }
40
41     @Override
42     protected void addPainterParticipants(ICanvasContext ctx) {
43         ctx.add(new RenderingQualityInteractor());
44         ctx.add(new DelayedBatchElementPainter(PickFilter.FILTER_MONITORS, 500, TimeUnit.MILLISECONDS));
45     }
46 }