summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorKevin Chabowski <kevin@kch42.de>2013-08-14 16:46:45 +0200
committerKevin Chabowski <kevin@kch42.de>2013-08-14 16:46:45 +0200
commite8e1f6b51b1ecafff7f6f348d240161d20ab0db6 (patch)
treed87c512233f6404a8f6740847410d060c278e741 /main.go
parent87e740056c145856fa2c47fd08e85c0bc2670984 (diff)
downloadbiomed-e8e1f6b51b1ecafff7f6f348d240161d20ab0db6.tar.gz
biomed-e8e1f6b51b1ecafff7f6f348d240161d20ab0db6.tar.bz2
biomed-e8e1f6b51b1ecafff7f6f348d240161d20ab0db6.zip
Added Tools
* tool is now Tool and is defined as an interface * toolFill and toolDraw implemented * Updated toolbar
Diffstat (limited to 'main.go')
-rw-r--r--main.go19
1 files changed, 7 insertions, 12 deletions
diff --git a/main.go b/main.go
index b300034..9d432db 100644
--- a/main.go
+++ b/main.go
@@ -7,17 +7,12 @@ import (
"github.com/mattn/go-gtk/gtk"
)
-type tool int
-
-const (
- ToolDraw tool = iota
- ToolFill
-)
-
type GUI struct {
window *gtk.Window
statusbar *gtk.Statusbar
showbiomes *gtk.CheckButton
+
+ tool Tool
}
func (g *GUI) openWorldDlg() {
@@ -145,7 +140,7 @@ func (g *GUI) mkToolbox() *gtk.ScrolledWindow {
fill := gtk.NewRadioButtonWithLabel(nil, "Fill")
fill.SetActive(true)
- fill.Connect("toggled", g.mkUpdateToolFx(fill, ToolFill))
+ fill.Connect("toggled", g.mkUpdateToolFx(fill, NewFillTool()))
draw := gtk.NewRadioButtonWithLabel(fill.GetGroup(), "Draw")
drawRadius := gtk.NewSpinButtonWithRange(1, 20, 1)
@@ -153,7 +148,7 @@ func (g *GUI) mkToolbox() *gtk.ScrolledWindow {
drawHBox.PackStart(draw, true, true, 3)
drawHBox.PackStart(gtk.NewLabel("Radius:"), false, false, 3)
drawHBox.PackEnd(drawRadius, false, false, 3)
- draw.Connect("toggled", g.mkUpdateToolFx(draw, ToolDraw))
+ draw.Connect("toggled", g.mkUpdateToolFx(draw, NewDrawTool(func() int { return int(drawRadius.GetValue()) })))
vbox.PackStart(fill, false, false, 3)
vbox.PackStart(drawHBox, false, false, 3)
@@ -206,7 +201,7 @@ func (g *GUI) Init() {
g.window.Connect("destroy", g.exitApp)
}
-func (g *GUI) mkUpdateToolFx(rb *gtk.RadioButton, t tool) func() {
+func (g *GUI) mkUpdateToolFx(rb *gtk.RadioButton, t Tool) func() {
return func() {
if rb.GetActive() {
g.setTool(t)
@@ -222,8 +217,8 @@ func (g *GUI) mkUpdateBiomeFx(rb *gtk.RadioButton, bio mcmap.Biome) func() {
}
}
-func (g *GUI) setTool(t tool) {
- fmt.Printf("Tool %d\n", t)
+func (g *GUI) setTool(t Tool) {
+ g.tool = t
}
func (g *GUI) setBiome(bio mcmap.Biome) {