cc78373f9cc52c9abc480e8400612cfcff1ced72
[resumebuilder.git] / resumebuilder.go
1 package main
2
3 import (
4 "fmt"
5 "os"
6
7 "github.com/gotk3/gotk3/gtk"
8 )
9
10 type Applicant struct {
11 FirstName string
12 LastName string
13 Age int
14 Sex Sex
15 Education []Education
16 }
17
18 type Education struct {
19 SchoolName string
20 YearOfPassing int
21 PassPercentage float32
22 }
23
24 type Sex int
25
26 const (
27 Male Sex = 1
28 Female = 2
29 Other = 3
30 )
31
32 /* func SaveToJson(a *Applicant) {
33 b, err := json.Marshal(a)
34
35 if err != nil {
36 fmt.Println(err.Error())
37 os.Exit(2)
38 }
39 err = ioutil.WriteFile("test.json", b, 0644)
40 if err != nil {
41 fmt.Println(err.Error())
42 os.Exit(3)
43 }
44 } */
45
46 func getWindow(ui gtk.Builder) (*gtk.Window, error) {
47 obj, err := ui.GetObject("MainWindow")
48 if err != nil {
49 fmt.Println(err.Error())
50 return nil, err
51 }
52 wnd, ok := obj.(*gtk.Window)
53 if !ok {
54 return nil, err
55 }
56 return wnd, nil
57 }
58
59 func LoadMain() {
60 gtk.Init(nil)
61 ui, err := gtk.BuilderNewFromFile("resumebuilder.glade")
62 if err != nil {
63 fmt.Println(err.Error())
64 os.Exit(1)
65 }
66
67 wnd, err := getWindow(*ui)
68 if err != nil {
69 os.Exit(1)
70 }
71
72 btnobj, err := ui.GetObject("SaveButton")
73 if err != nil {
74 fmt.Println(err.Error())
75 os.Exit(1)
76 }
77 btn, ok := btnobj.(*gtk.Button)
78 if !ok {
79 os.Exit(1)
80 }
81 btn.Connect("clicked", SaveButtonClicked)
82 wnd.SetTitle("Resume Builder")
83 wnd.ShowAll()
84
85 wnd.Connect("destroy", func() {
86 gtk.MainQuit()
87 })
88 gtk.Main()
89 }
90
91 func SaveButtonClicked() {
92
93 }
94
95 func main() {
96 LoadMain()
97 }