)
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 {
type Sex int
var ui *gtk.Builder
+var selectedsex Sex
+var selecteddate Date
const (
Male Sex = 1
} */
func getBasicDetails() (*Applicant, error) {
+ // Retrieve all the fields.
obj, err := ui.GetObject("FirstName")
if err != nil {
return nil, err
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.DateOfBirth = selecteddate
+ applicant.Sex = selectedsex
return applicant, nil
}
func LoadMain() {
gtk.Init(nil)
var err error
- ui, err = gtk.BuilderNewFromFile("resumebuilder.glade")
+ ui, err = gtk.BuilderNew()
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
-
- wnd, err := getWindow()
+ asset, err := Asset("resources/resumebuilder.glade")
if err != nil {
+ fmt.Println(err.Error())
os.Exit(1)
}
+ ui.AddFromString(string(asset))
+ ui.ConnectSignals(map[string]interface{}{"SexMaleSelected": sexMaleSelected,
+ "SexFemaleSelected": sexFemaleSelected, "SexOtherSelected": sexOtherSelected,
+ "SaveButtonClicked": SaveButtonClicked, "DoBSelected": doBSelected})
- btn, err := getSaveButton()
+ wnd, err := getWindow()
if err != nil {
os.Exit(1)
}
- btn.Connect("clicked", SaveButtonClicked)
+
wnd.SetTitle("Resume Builder")
wnd.ShowAll()
+ selectedsex = Male
wnd.Connect("destroy", func() {
gtk.MainQuit()
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 doBSelected(dob *gtk.Calendar) {
+ selecteddate.Year, selecteddate.Month, selecteddate.Day = dob.GetDate()
+}
+
func SaveButtonClicked() {
a, err := getBasicDetails()
if err != nil {