package main import ( "fmt" "os" "github.com/gotk3/gotk3/gtk" ) type Applicant struct { FirstName string LastName string Age int Sex Sex Education []Education } type Education struct { SchoolName string YearOfPassing int PassPercentage float32 } type Sex int const ( Male Sex = 1 Female = 2 Other = 3 ) /* func SaveToJson(a *Applicant) { b, err := json.Marshal(a) if err != nil { fmt.Println(err.Error()) os.Exit(2) } err = ioutil.WriteFile("test.json", b, 0644) if err != nil { fmt.Println(err.Error()) os.Exit(3) } } */ func getWindow(ui gtk.Builder) (*gtk.Window, error) { obj, err := ui.GetObject("MainWindow") if err != nil { fmt.Println(err.Error()) return nil, err } wnd, ok := obj.(*gtk.Window) if !ok { return nil, err } return wnd, nil } func LoadMain() { gtk.Init(nil) ui, err := gtk.BuilderNewFromFile("resumebuilder.glade") if err != nil { fmt.Println(err.Error()) os.Exit(1) } wnd, err := getWindow(*ui) if err != nil { os.Exit(1) } btnobj, err := ui.GetObject("SaveButton") if err != nil { fmt.Println(err.Error()) os.Exit(1) } btn, ok := btnobj.(*gtk.Button) if !ok { os.Exit(1) } btn.Connect("clicked", SaveButtonClicked) wnd.SetTitle("Resume Builder") wnd.ShowAll() wnd.Connect("destroy", func() { gtk.MainQuit() }) gtk.Main() } func SaveButtonClicked() { } func main() { LoadMain() }