import (
"fmt"
"os"
- "strconv"
"github.com/gotk3/gotk3/gtk"
)
type Applicant struct {
- FirstName string
- LastName string
- Age int
- Sex Sex
- Education []Education
+ FirstName string
+ LastName string
+ DateOfBirth Date
+ Sex Sex
+ Education []Education
+}
+
+type Date struct {
+ Year uint
+ Month uint
+ Day uint
}
type Education struct {
var ui *gtk.Builder
var selectedsex Sex
+var selecteddate Date
const (
Male Sex = 1
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
applicant.FirstName = firstname
applicant.LastName = lastname
- applicant.Age = age
+ applicant.DateOfBirth = selecteddate
applicant.Sex = selectedsex
return applicant, nil
ui.AddFromString(string(asset))
ui.ConnectSignals(map[string]interface{}{"SexMaleSelected": sexMaleSelected,
"SexFemaleSelected": sexFemaleSelected, "SexOtherSelected": sexOtherSelected,
- "SaveButtonClicked": SaveButtonClicked})
+ "SaveButtonClicked": SaveButtonClicked, "DoBSelected": doBSelected})
wnd, err := getWindow()
if err != nil {
}
}
+func doBSelected(dob *gtk.Calendar) {
+ selecteddate.Year, selecteddate.Month, selecteddate.Day = dob.GetDate()
+}
+
func SaveButtonClicked() {
a, err := getBasicDetails()
if err != nil {