7 "github.com/gotk3/gotk3/gtk"
10 type Applicant struct {
24 type Education struct {
27 PassPercentage float32
42 /* func SaveToJson(a *Applicant) {
43 b, err := json.Marshal(a)
46 fmt.Println(err.Error())
49 err = ioutil.WriteFile("test.json", b, 0644)
51 fmt.Println(err.Error())
56 func getBasicDetails() (*Applicant, error) {
57 // Retrieve all the fields.
58 obj, err := ui.GetObject("FirstName")
62 fsname, ok := obj.(*gtk.Entry)
66 firstname, err := fsname.GetText()
70 obj, err = ui.GetObject("LastName")
74 lsname, ok := obj.(*gtk.Entry)
78 lastname, err := lsname.GetText()
83 obj, err = ui.GetObject("Male")
88 // Store the contents in Applicant object
89 var applicant = new(Applicant)
91 applicant.FirstName = firstname
92 applicant.LastName = lastname
93 applicant.DateOfBirth = selecteddate
94 applicant.Sex = selectedsex
99 func getWindow() (*gtk.Window, error) {
100 obj, err := ui.GetObject("MainWindow")
102 fmt.Println(err.Error())
105 wnd, ok := obj.(*gtk.Window)
112 func getSaveButton() (*gtk.Button, error) {
113 btnobj, err := ui.GetObject("SaveButton")
115 fmt.Println(err.Error())
118 btn, ok := btnobj.(*gtk.Button)
128 ui, err = gtk.BuilderNew()
130 fmt.Println(err.Error())
133 asset, err := Asset("resources/resumebuilder.glade")
135 fmt.Println(err.Error())
138 ui.AddFromString(string(asset))
139 ui.ConnectSignals(map[string]interface{}{"SexMaleSelected": sexMaleSelected,
140 "SexFemaleSelected": sexFemaleSelected, "SexOtherSelected": sexOtherSelected,
141 "SaveButtonClicked": SaveButtonClicked, "DoBSelected": doBSelected})
143 wnd, err := getWindow()
148 wnd.SetTitle("Resume Builder")
152 wnd.Connect("destroy", func() {
158 func sexMaleSelected(male *gtk.RadioButton) {
159 if male.GetActive() {
164 func sexFemaleSelected(female *gtk.RadioButton) {
165 if female.GetActive() {
170 func sexOtherSelected(other *gtk.RadioButton) {
171 if other.GetActive() {
176 func doBSelected(dob *gtk.Calendar) {
177 selecteddate.Year, selecteddate.Month, selecteddate.Day = dob.GetDate()
180 func SaveButtonClicked() {
181 a, err := getBasicDetails()
183 fmt.Println(err.Error())