Boo

Aus MK Wiki DE
Zur Navigation springen Zur Suche springen

Siehe Wikipedia, Github (#70)

Main.boo

import Gtk

Application.Init()
w = MyWindow("Say my name")
w.ShowAll()
Application.Run()

MyWindow.boo

import System
import Gtk
import Glade from "glade-sharp"

class MyWindow(Window):
	txtName = Gtk.TextView()

	def constructor(title as string):
		super(title)
		SetDefaultSize(400, 300)
		DeleteEvent += { Application.Quit() }
		
		grid = Gtk.Fixed()
		labelMsg = Gtk.Label("Sag mir deinen Namen:")
		buffer = txtName.Buffer
		buffer.Text = ""
		btn = Gtk.Button("Und ich sag dir wie du heißt!")
		
		self.Add(grid)
		grid.Add(labelMsg)
		grid.Add(btn)
		grid.Add(txtName)
		txtName.SetSizeRequest(500, 15)
		btn.SetSizeRequest(200,25)
		labelMsg.SetSizeRequest(200, 15)
		grid.Move(labelMsg, 10, 10)
		grid.Move(txtName, 10, 30)
		grid.Move(btn, 160, 60);
		btn.Clicked += { SayName() }
		
	def SayName():
		yourName = txtName.Buffer.Text
		msgText = "Du heißt ${yourName}!"
		dlg = Gtk.MessageDialog(self, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, false, msgText, null)
		dlg.Run()
		dlg.Destroy()

Kompilieren mit

booc Main.boo MyWindow.boo -o:bin/SayMyNameBoo.exe -r:gtk-sharp.dll