diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/import/model.d	Wed May 13 15:42:39 2009 +0930
@@ -0,0 +1,56 @@
+module interaction.model;
+
+import presentation.model;
+
+final class Manipulator {
+}
+
+abstract class Selector {
+    Selector(Fig selected) {
+        _selected = selected;
+    }
+
+    Fig selected() { return _selected; }
+
+    abstract void draw(Screen screen);
+
+    private {
+        Fig _selected;
+    }
+}
+
+abstract class Fig {
+    DiagramElement element() { return _element; }
+
+    abstract void draw(Canvas canvas);
+
+    abstract Selector create_selector();
+
+    private {
+        DiagramElement _element;
+    }
+}
+
+abstract class NetFig : Fig {
+    GraphElement element() { return _element; }
+
+    private {
+        GraphElement _element;
+    }
+}
+
+abstract class EdgeFig : NetFig {
+    GraphEdge element() { return _element; }
+
+    private {
+        GraphEdge _element;
+    }
+}
+
+abstract class NodeFig : NetFig {
+    GraphNode element() { return _element; }
+
+    private {
+        GraphNode _element;
+    }
+}