X-Git-Url: https://harishankar.org/repos/?p=resumebuilder.git;a=blobdiff_plain;f=resumebuilder.go;fp=resumebuilder.go;h=e1b26dd279d7f258caf31c9cb5f3df9a5a98730f;hp=5e86a783ac78dff76a947a493bd5023bbae0376f;hb=0d95ecc0aa9941f5130fd9f12249317bc541bcc0;hpb=cce2be1a25bd89da0526695336bd6e6597318d8d diff --git a/resumebuilder.go b/resumebuilder.go index 5e86a78..e1b26dd 100644 --- a/resumebuilder.go +++ b/resumebuilder.go @@ -12,6 +12,7 @@ type Applicant struct { LastName string DateOfBirth Date Sex Sex + Address string Education []Education } @@ -53,34 +54,56 @@ const ( } } */ -func getBasicDetails() (*Applicant, error) { - // Retrieve all the fields. - obj, err := ui.GetObject("FirstName") +func getLineText(fieldname string) (string, error) { + obj, err := ui.GetObject(fieldname) if err != nil { - return nil, err + return "", err } - fsname, ok := obj.(*gtk.Entry) + field, ok := obj.(*gtk.Entry) if !ok { - return nil, err + return "", err } - firstname, err := fsname.GetText() + fieldstr, err := field.GetText() if err != nil { - return nil, err + return "", err } - obj, err = ui.GetObject("LastName") + return fieldstr, nil +} + +func getMultilineText(fieldname string) (string, error) { + obj, err := ui.GetObject(fieldname) if err != nil { - return nil, err + return "", err } - lsname, ok := obj.(*gtk.Entry) + fieldctl, ok := obj.(*gtk.TextView) if !ok { + return "", err + } + textbuf, err := fieldctl.GetBuffer() + if err != nil { + return "", err + } + start, end := textbuf.GetBounds() + textstr, err := textbuf.GetText(start, end, true) + if err != nil { + return "", err + } + return textstr, nil +} + +func getBasicDetails() (*Applicant, error) { + // Retrieve all the fields. + + firstname, err := getLineText("FirstName") + if err != nil { return nil, err } - lastname, err := lsname.GetText() + lastname, err := getLineText("LastName") if err != nil { return nil, err } - obj, err = ui.GetObject("Male") + address, err := getMultilineText("Address") if err != nil { return nil, err } @@ -92,6 +115,7 @@ func getBasicDetails() (*Applicant, error) { applicant.LastName = lastname applicant.DateOfBirth = selecteddate applicant.Sex = selectedsex + applicant.Address = address return applicant, nil } @@ -109,19 +133,6 @@ func getWindow() (*gtk.Window, error) { return wnd, nil } -func getSaveButton() (*gtk.Button, error) { - btnobj, err := ui.GetObject("SaveButton") - if err != nil { - fmt.Println(err.Error()) - return nil, err - } - btn, ok := btnobj.(*gtk.Button) - if !ok { - return nil, err - } - return btn, nil -} - func LoadMain() { gtk.Init(nil) var err error