comparison doodle/dia/tool_layer.d @ 60:e64baac3efb2

Attempt at a templatised palette
author David Bryant <bagnose@gmail.com>
date Tue, 10 Aug 2010 22:55:54 +0930
parents c63719604adb
children 20d6327c4a75
comparison
equal deleted inserted replaced
59:860e18c87255 60:e64baac3efb2
13 interface IToolStack { 13 interface IToolStack {
14 void use(Tool tool); 14 void use(Tool tool);
15 } 15 }
16 16
17 interface IToolStackObserver { 17 interface IToolStackObserver {
18 void toolChanged(int index); 18 void toolChanged(Tool tool);
19 } 19 }
20 20
21 final class ToolLayer : Layer, IEventHandler, IToolStack { 21 final class ToolLayer : Layer, IEventHandler, IToolStack {
22 this(in Tool[] tools, IToolStackObserver observer, in string name = "Tool") { 22 this(in Tool[] tools, IToolStackObserver observer, in string name = "Tool") {
23 super(name); 23 super(name);
29 29
30 void use(Tool tool) { 30 void use(Tool tool) {
31 assert(_grabbedTool is null); 31 assert(_grabbedTool is null);
32 message("using new tool: %s", tool.name); 32 message("using new tool: %s", tool.name);
33 _tools ~= tool; 33 _tools ~= tool;
34 //_observer.toolChanged(_tools.length - 1); 34 _observer.toolChanged(tool);
35 } 35 }
36 36
37 // Layer overrides: 37 // Layer overrides:
38 38
39 override Rectangle bounds() const { 39 override Rectangle bounds() const {