projects
/
resumebuilder.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added Address for communication
[resumebuilder.git]
/
resumebuilder.go
diff --git
a/resumebuilder.go
b/resumebuilder.go
index
09057c6
..
e1b26dd
100644
(file)
--- a/
resumebuilder.go
+++ b/
resumebuilder.go
@@
-3,17
+3,23
@@
package main
import (
"fmt"
"os"
import (
"fmt"
"os"
- "strconv"
"github.com/gotk3/gotk3/gtk"
)
type Applicant struct {
"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
+ Address string
+ Education []Education
+}
+
+type Date struct {
+ Year uint
+ Month uint
+ Day uint
}
type Education struct {
}
type Education struct {
@@
-26,6
+32,7
@@
type Sex int
var ui *gtk.Builder
var selectedsex Sex
var ui *gtk.Builder
var selectedsex Sex
+var selecteddate Date
const (
Male Sex = 1
const (
Male Sex = 1
@@
-47,50
+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 {
if err != nil {
- return
nil
, err
+ return
""
, err
}
}
- f
sname
, ok := obj.(*gtk.Entry)
+ f
ield
, ok := obj.(*gtk.Entry)
if !ok {
if !ok {
- return
nil
, err
+ return
""
, err
}
}
- fi
rstname, err := fsname
.GetText()
+ fi
eldstr, err := field
.GetText()
if err != nil {
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 {
if err != nil {
- return
nil
, err
+ return
""
, err
}
}
-
lsname, ok := obj.(*gtk.Entry
)
+
fieldctl, ok := obj.(*gtk.TextView
)
if !ok {
if !ok {
- return
nil
, err
+ return
""
, err
}
}
-
lastname, err := lsname.GetText
()
+
textbuf, err := fieldctl.GetBuffer
()
if err != nil {
if err != nil {
- return
nil
, err
+ return
""
, err
}
}
-
-
obj, err = ui.GetObject("Age"
)
+ start, end := textbuf.GetBounds()
+
textstr, err := textbuf.GetText(start, end, true
)
if err != nil {
if err != nil {
- return nil, err
- }
- agectl, ok := obj.(*gtk.Entry)
- if !ok {
- return nil, err
+ return "", err
}
}
- agetxt, err := agectl.GetText()
+ return textstr, nil
+}
+
+func getBasicDetails() (*Applicant, error) {
+ // Retrieve all the fields.
+
+ firstname, err := getLineText("FirstName")
if err != nil {
return nil, err
}
if err != nil {
return nil, err
}
-
age, err := strconv.Atoi(agetxt
)
+
lastname, err := getLineText("LastName"
)
if err != nil {
return nil, err
}
if err != nil {
return nil, err
}
- obj, err = ui.GetObject("Male")
+
+ address, err := getMultilineText("Address")
if err != nil {
return nil, err
}
if err != nil {
return nil, err
}
@@
-100,8
+113,9
@@
func getBasicDetails() (*Applicant, error) {
applicant.FirstName = firstname
applicant.LastName = lastname
applicant.FirstName = firstname
applicant.LastName = lastname
- applicant.
Age = ag
e
+ applicant.
DateOfBirth = selecteddat
e
applicant.Sex = selectedsex
applicant.Sex = selectedsex
+ applicant.Address = address
return applicant, nil
}
return applicant, nil
}
@@
-119,19
+133,6
@@
func getWindow() (*gtk.Window, error) {
return wnd, nil
}
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
func LoadMain() {
gtk.Init(nil)
var err error
@@
-148,7
+149,7
@@
func LoadMain() {
ui.AddFromString(string(asset))
ui.ConnectSignals(map[string]interface{}{"SexMaleSelected": sexMaleSelected,
"SexFemaleSelected": sexFemaleSelected, "SexOtherSelected": sexOtherSelected,
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 {
wnd, err := getWindow()
if err != nil {
@@
-183,6
+184,10
@@
func sexOtherSelected(other *gtk.RadioButton) {
}
}
}
}
+func doBSelected(dob *gtk.Calendar) {
+ selecteddate.Year, selecteddate.Month, selecteddate.Day = dob.GetDate()
+}
+
func SaveButtonClicked() {
a, err := getBasicDetails()
if err != nil {
func SaveButtonClicked() {
a, err := getBasicDetails()
if err != nil {