Add Education button programmed
[resumebuilder.git] / resumebuilder.go
index cdba079..3895f79 100644 (file)
@@ -3,6 +3,7 @@ package main
 import (
        "fmt"
        "os"
+       "strconv"
 
        "github.com/gotk3/gotk3/gtk"
 )
@@ -163,7 +164,8 @@ func LoadMain() {
        ui.AddFromString(string(asset))
        ui.ConnectSignals(map[string]interface{}{"SexMaleSelected": sexMaleSelected,
                "SexFemaleSelected": sexFemaleSelected, "SexOtherSelected": sexOtherSelected,
-               "SaveButtonClicked": SaveButtonClicked, "DoBSelected": doBSelected})
+               "SaveButtonClicked": saveButtonClicked, "DoBSelected": doBSelected,
+               "AddEducationClicked": addEducationClicked})
 
        wnd, err := getWindow()
        if err != nil {
@@ -202,7 +204,57 @@ func doBSelected(dob *gtk.Calendar) {
        selecteddate.Year, selecteddate.Month, selecteddate.Day = dob.GetDate()
 }
 
-func SaveButtonClicked() {
+func getEducationFields() (*Education, error) {
+       ed := new(Education)
+       qual, err := getLineText("QualificationTitle")
+       if err != nil {
+               return nil, err
+       }
+       inst, err := getLineText("InstitutionName")
+       if err != nil {
+               return nil, err
+       }
+       yearp, err := getLineText("YearPassing")
+       if err != nil {
+               return nil, err
+       }
+       year, err := strconv.Atoi(yearp)
+       if err != nil {
+               return nil, err
+       }
+       gradep, err := getLineText("GradeOrPercentag")
+       if err != nil {
+               return nil, err
+       }
+       ed.Qualification = qual
+       ed.Institution = inst
+       ed.YearOfPassing = uint(year)
+       ed.GradeOrPercentage = gradep
+
+       return ed, nil
+}
+
+func addEducationClicked() {
+       ed, err := getEducationFields()
+       if err != nil {
+               return
+       }
+       lstore, err := ui.GetObject("EducationStore")
+       if err != nil {
+               return
+       }
+       edustore, ok := lstore.(*gtk.ListStore)
+       if !ok {
+               return
+       }
+       iter := edustore.Append()
+       edustore.SetValue(iter, 0, ed.Qualification)
+       edustore.SetValue(iter, 1, ed.Institution)
+       edustore.SetValue(iter, 2, ed.YearOfPassing)
+       edustore.SetValue(iter, 3, ed.GradeOrPercentage)
+}
+
+func saveButtonClicked() {
        a, err := getBasicDetails()
        if err != nil {
                fmt.Println(err.Error())