Mercurial > projects > doodle
comparison import/model.d @ 0:e907d2c54ec3
Initial import
author | David Bryant <daveb@acres.com.au> |
---|---|
date | Wed, 13 May 2009 15:42:39 +0930 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e907d2c54ec3 |
---|---|
1 module interaction.model; | |
2 | |
3 import presentation.model; | |
4 | |
5 final class Manipulator { | |
6 } | |
7 | |
8 abstract class Selector { | |
9 Selector(Fig selected) { | |
10 _selected = selected; | |
11 } | |
12 | |
13 Fig selected() { return _selected; } | |
14 | |
15 abstract void draw(Screen screen); | |
16 | |
17 private { | |
18 Fig _selected; | |
19 } | |
20 } | |
21 | |
22 abstract class Fig { | |
23 DiagramElement element() { return _element; } | |
24 | |
25 abstract void draw(Canvas canvas); | |
26 | |
27 abstract Selector create_selector(); | |
28 | |
29 private { | |
30 DiagramElement _element; | |
31 } | |
32 } | |
33 | |
34 abstract class NetFig : Fig { | |
35 GraphElement element() { return _element; } | |
36 | |
37 private { | |
38 GraphElement _element; | |
39 } | |
40 } | |
41 | |
42 abstract class EdgeFig : NetFig { | |
43 GraphEdge element() { return _element; } | |
44 | |
45 private { | |
46 GraphEdge _element; | |
47 } | |
48 } | |
49 | |
50 abstract class NodeFig : NetFig { | |
51 GraphNode element() { return _element; } | |
52 | |
53 private { | |
54 GraphNode _element; | |
55 } | |
56 } |