X-Git-Url: https://harishankar.org/repos/?p=resumebuilder.git;a=blobdiff_plain;f=resumebuilder.go;h=09057c67d6ebcb0624335a11ed1a1b418a11da71;hp=88fe6a6aea166be5da45ba7424bf6b47bb2a5b69;hb=5960a1c589fcb3235edef412ab9827f0e9cfe6bd;hpb=07ca6267d1b30f4e2b590126b7ac714f4e8a28ca diff --git a/resumebuilder.go b/resumebuilder.go index 88fe6a6..09057c6 100644 --- a/resumebuilder.go +++ b/resumebuilder.go @@ -3,6 +3,7 @@ package main import ( "fmt" "os" + "strconv" "github.com/gotk3/gotk3/gtk" ) @@ -24,6 +25,7 @@ type Education struct { type Sex int var ui *gtk.Builder +var selectedsex Sex const ( Male Sex = 1 @@ -46,6 +48,7 @@ const ( } */ func getBasicDetails() (*Applicant, error) { + // Retrieve all the fields. obj, err := ui.GetObject("FirstName") if err != nil { return nil, err @@ -71,10 +74,34 @@ func getBasicDetails() (*Applicant, error) { return nil, err } + obj, err = ui.GetObject("Age") + if err != nil { + return nil, err + } + agectl, ok := obj.(*gtk.Entry) + if !ok { + return nil, err + } + agetxt, err := agectl.GetText() + if err != nil { + return nil, err + } + age, err := strconv.Atoi(agetxt) + if err != nil { + return nil, err + } + obj, err = ui.GetObject("Male") + if err != nil { + return nil, err + } + + // Store the contents in Applicant object var applicant = new(Applicant) applicant.FirstName = firstname applicant.LastName = lastname + applicant.Age = age + applicant.Sex = selectedsex return applicant, nil } @@ -119,19 +146,18 @@ func LoadMain() { os.Exit(1) } ui.AddFromString(string(asset)) + ui.ConnectSignals(map[string]interface{}{"SexMaleSelected": sexMaleSelected, + "SexFemaleSelected": sexFemaleSelected, "SexOtherSelected": sexOtherSelected, + "SaveButtonClicked": SaveButtonClicked}) wnd, err := getWindow() if err != nil { os.Exit(1) } - btn, err := getSaveButton() - if err != nil { - os.Exit(1) - } - btn.Connect("clicked", SaveButtonClicked) wnd.SetTitle("Resume Builder") wnd.ShowAll() + selectedsex = Male wnd.Connect("destroy", func() { gtk.MainQuit() @@ -139,6 +165,24 @@ func LoadMain() { gtk.Main() } +func sexMaleSelected(male *gtk.RadioButton) { + if male.GetActive() { + selectedsex = Male + } +} + +func sexFemaleSelected(female *gtk.RadioButton) { + if female.GetActive() { + selectedsex = Female + } +} + +func sexOtherSelected(other *gtk.RadioButton) { + if other.GetActive() { + selectedsex = Other + } +} + func SaveButtonClicked() { a, err := getBasicDetails() if err != nil {