Mercurial > projects > doodle
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 { |