Added Address for communication
[resumebuilder.git] / resumebuilder.go
index 5e86a78..e1b26dd 100644 (file)
@@ -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