func runMainWindow() { mainWnd, err := gui.NewMainWindow() panicIfErr(err) defer mainWnd.Dispose() mw := &MainWindow{MainWindow: mainWnd} mw.ClientArea().SetLayout(gui.NewVBoxLayout()) mw.updateTitle("") mw.imageView, err = gui.NewImageView(mw.ClientArea()) panicIfErr(err) imageList, err := gui.NewImageList(drawing.Size{16, 16}, 0) panicIfErr(err) mw.ToolBar().SetImageList(imageList) fileMenu, err := gui.NewMenu() panicIfErr(err) _, fileMenuAction, err := mw.Menu().Actions().AddMenu(fileMenu) panicIfErr(err) fileMenuAction.SetText("File") openBmp, err := drawing.NewBitmapFromFile("img/open.png") panicIfErr(err) openAction := gui.NewAction() openAction.SetImage(openBmp) openAction.SetText("Open") openAction.AddTriggeredHandler(func(args gui.EventArgs) { mw.openImage() }) fileMenu.Actions().Add(openAction) mw.ToolBar().Actions().Add(openAction) exitAction := gui.NewAction() exitAction.SetText("Exit") exitAction.AddTriggeredHandler(func(args gui.EventArgs) { gui.Exit(0) }) fileMenu.Actions().Add(exitAction) helpMenu, err := gui.NewMenu() panicIfErr(err) _, helpMenuAction, err := mw.Menu().Actions().AddMenu(helpMenu) panicIfErr(err) helpMenuAction.SetText("Help") aboutAction := gui.NewAction() aboutAction.SetText("About") aboutAction.AddTriggeredHandler(func(args gui.EventArgs) { gui.MsgBox(mw, "About", "Walk Image Viewer Example", gui.MsgBoxOK|gui.MsgBoxIconInformation) }) helpMenu.Actions().Add(aboutAction) panicIfErr(mw.SetMinSize(drawing.Size{320, 240})) panicIfErr(mw.SetSize(drawing.Size{800, 600})) mw.Show() panicIfErr(mw.RunMessageLoop()) }
func runMainWindow() { mainWnd, err := gui.NewMainWindow() panicIfErr(err) defer mainWnd.Dispose() mw := &MainWindow{MainWindow: mainWnd} panicIfErr(mw.SetText("Walk Drawing Example")) mw.ClientArea().SetLayout(gui.NewVBoxLayout()) mw.paintWidget, err = gui.NewCustomWidget(mw.ClientArea(), 0, func(surface *drawing.Surface, updateBounds drawing.Rectangle) os.Error { return mw.drawStuff(surface, updateBounds) }) panicIfErr(err) mw.paintWidget.SetClearsBackground(true) mw.paintWidget.SetInvalidatesOnResize(true) panicIfErr(mw.SetMinSize(drawing.Size{320, 240})) panicIfErr(mw.SetSize(drawing.Size{800, 600})) mw.Show() panicIfErr(mw.RunMessageLoop()) }