func (mw *MyMainWindow) openImage() error { dlg := new(walk.FileDialog) dlg.FilePath = mw.prevFilePath dlg.Filter = "Image Files (*.emf;*.bmp;*.exif;*.gif;*.jpeg;*.jpg;*.png;*.tiff)|*.emf;*.bmp;*.exif;*.gif;*.jpeg;*.jpg;*.png;*.tiff" dlg.Title = "Select an Image" if ok, err := dlg.ShowOpen(mw); err != nil { return err } else if !ok { return nil } mw.prevFilePath = dlg.FilePath img, err := walk.NewImageFromFile(dlg.FilePath) if err != nil { return err } var succeeded bool defer func() { if !succeeded { img.Dispose() } }() page, err := walk.NewTabPage() if err != nil { return err } if page.SetTitle(path.Base(strings.Replace(dlg.FilePath, "\\", "/", -1))); err != nil { return err }
func (tp TabPage) Create(builder *Builder) error { w, err := walk.NewTabPage() if err != nil { return err } return builder.InitWidget(tp, w, func() error { if err := w.SetImage(tp.Image); err != nil { return err } if tp.Content != nil && len(tp.Children) == 0 { if err := tp.Content.Create(builder); err != nil { return err } } if tp.AssignTo != nil { *tp.AssignTo = w } return nil }) }