func main() { walk.Initialize(walk.InitParams{PanicOnError: true}) defer walk.Shutdown() mainWnd, _ := walk.NewMainWindow() mw := &MainWindow{MainWindow: mainWnd} mw.SetLayout(walk.NewVBoxLayout()) mw.SetTitle("Walk Image Viewer Example") mw.tabWidget, _ = walk.NewTabWidget(mw) imageList, _ := walk.NewImageList(walk.Size{16, 16}, 0) mw.ToolBar().SetImageList(imageList) fileMenu, _ := walk.NewMenu() fileMenuAction, _ := mw.Menu().Actions().AddMenu(fileMenu) fileMenuAction.SetText("&File") openBmp, _ := walk.NewBitmapFromFile("../img/open.png") openAction := walk.NewAction() openAction.SetImage(openBmp) openAction.SetText("&Open") openAction.Triggered().Attach(func() { mw.openImage() }) fileMenu.Actions().Add(openAction) mw.ToolBar().Actions().Add(openAction) exitAction := walk.NewAction() exitAction.SetText("E&xit") exitAction.Triggered().Attach(func() { walk.App().Exit(0) }) fileMenu.Actions().Add(exitAction) helpMenu, _ := walk.NewMenu() helpMenuAction, _ := mw.Menu().Actions().AddMenu(helpMenu) helpMenuAction.SetText("&Help") aboutAction := walk.NewAction() aboutAction.SetText("&About") aboutAction.Triggered().Attach(func() { walk.MsgBox(mw, "About", "Walk Image Viewer Example", walk.MsgBoxOK|walk.MsgBoxIconInformation) }) helpMenu.Actions().Add(aboutAction) mw.SetMinMaxSize(walk.Size{320, 240}, walk.Size{}) mw.SetSize(walk.Size{800, 600}) mw.Show() mw.Run() }
func main() { walk.Initialize(walk.InitParams{PanicOnError: true}) defer walk.Shutdown() mainWnd, _ := walk.NewMainWindow() mw := &MainWindow{MainWindow: mainWnd} mw.SetTitle("Walk Web Browser Example") mw.SetLayout(walk.NewVBoxLayout()) fileMenu, _ := walk.NewMenu() fileMenuAction, _ := mw.Menu().Actions().AddMenu(fileMenu) fileMenuAction.SetText("&File") exitAction := walk.NewAction() exitAction.SetText("E&xit") exitAction.Triggered().Attach(func() { walk.App().Exit(0) }) fileMenu.Actions().Add(exitAction) helpMenu, _ := walk.NewMenu() helpMenuAction, _ := mw.Menu().Actions().AddMenu(helpMenu) helpMenuAction.SetText("&Help") aboutAction := walk.NewAction() aboutAction.SetText("&About") aboutAction.Triggered().Attach(func() { walk.MsgBox(mw, "About", "Walk Web Browser Example", walk.MsgBoxOK|walk.MsgBoxIconInformation) }) helpMenu.Actions().Add(aboutAction) mw.urlLineEdit, _ = walk.NewLineEdit(mw) mw.urlLineEdit.ReturnPressed().Attach(func() { mw.webView.SetURL(mw.urlLineEdit.Text()) }) mw.webView, _ = walk.NewWebView(mw) mw.webView.SetURL("http://golang.org") mw.SetMinMaxSize(walk.Size{600, 400}, walk.Size{}) mw.SetSize(walk.Size{800, 600}) mw.Show() mw.Run() }
func main() { walk.Initialize(walk.InitParams{PanicOnError: true}) defer walk.Shutdown() mainWnd, _ := walk.NewMainWindow() mw := &MainWindow{MainWindow: mainWnd} mw.SetTitle("Walk Drawing Example") mw.SetLayout(walk.NewVBoxLayout()) mw.paintWidget, _ = walk.NewCustomWidget(mw, 0, func(canvas *walk.Canvas, updateBounds walk.Rectangle) os.Error { return mw.drawStuff(canvas, updateBounds) }) mw.paintWidget.SetClearsBackground(true) mw.paintWidget.SetInvalidatesOnResize(true) mw.SetMinMaxSize(walk.Size{320, 240}, walk.Size{}) mw.SetSize(walk.Size{800, 600}) mw.Show() mw.Run() }
func main() { walk.Initialize(walk.InitParams{PanicOnError: true}) defer walk.Shutdown() rand.Seed(time.Seconds()) mainWnd, _ := walk.NewMainWindow() mw := &MainWindow{ MainWindow: mainWnd, model: &FooModel{}, } // We want the model to be populated right from the beginning. mw.model.ResetRows() mw.SetLayout(walk.NewVBoxLayout()) mw.SetTitle("Walk TableView Example") fileMenu, _ := walk.NewMenu() fileMenuAction, _ := mw.Menu().Actions().AddMenu(fileMenu) fileMenuAction.SetText("&File") exitAction := walk.NewAction() exitAction.SetText("E&xit") exitAction.Triggered().Attach(func() { walk.App().Exit(0) }) fileMenu.Actions().Add(exitAction) helpMenu, _ := walk.NewMenu() helpMenuAction, _ := mw.Menu().Actions().AddMenu(helpMenu) helpMenuAction.SetText("&Help") aboutAction := walk.NewAction() aboutAction.SetText("&About") aboutAction.Triggered().Attach(func() { walk.MsgBox(mw, "About", "Walk TableView Example", walk.MsgBoxOK|walk.MsgBoxIconInformation) }) helpMenu.Actions().Add(aboutAction) resetRowsButton, _ := walk.NewPushButton(mw) resetRowsButton.SetText("Reset Rows") resetRowsButton.Clicked().Attach(func() { // Get some fresh data. mw.model.ResetRows() }) tableView, _ := walk.NewTableView(mw) // Everybody loves check boxes. tableView.SetCheckBoxes(true) // Don't forget to set the model. tableView.SetModel(mw.model) mw.SetMinMaxSize(walk.Size{320, 240}, walk.Size{}) mw.SetSize(walk.Size{800, 600}) mw.Show() mw.Run() }