-
Notifications
You must be signed in to change notification settings - Fork 0
/
GQtUi.go
123 lines (122 loc) · 4.06 KB
/
GQtUi.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
//===============================================
package manager
//===============================================
import "fmt"
import "sync"
import "os"
import "bufio"
//===============================================
type GQtUiO struct {
G_STATE string
}
//===============================================
var m_GQtUiLock = &sync.Mutex{}
var m_GQtUiO *GQtUiO
//===============================================
func newGQtUi() *GQtUiO {
lObj := &GQtUiO{}
return lObj
}
//===============================================
func GQtUi() *GQtUiO {
if m_GQtUiO == nil {
m_GQtUiLock.Lock()
defer m_GQtUiLock.Unlock()
if m_GQtUiO == nil {
m_GQtUiO = newGQtUi()
}
}
return m_GQtUiO
}
//===============================================
func (obj *GQtUiO) Run() {
obj.G_STATE = "S_INIT"
for {
if obj.G_STATE == "S_ADMIN" { obj.run_ADMIN()
} else if obj.G_STATE == "S_INIT" { obj.run_INIT()
} else if obj.G_STATE == "S_METHOD" { obj.run_METHOD()
} else if obj.G_STATE == "S_CHOICE" { obj.run_CHOICE()
//
} else if obj.G_STATE == "S_OPEN" { obj.run_OPEN()
} else if obj.G_STATE == "S_CLOSE" { obj.run_CLOSE()
//
} else if obj.G_STATE == "S_SAVE" { obj.run_SAVE()
} else if obj.G_STATE == "S_LOAD" { obj.run_LOAD()
} else if obj.G_STATE == "S_QUIT" { obj.run_QUIT()
} else { break }
}
}
//===============================================
func (obj *GQtUiO) run_ADMIN() {
GProcess().Run()
obj.G_STATE = "S_END"
}
//===============================================
func (obj *GQtUiO) run_INIT() {
fmt.Printf("\n")
fmt.Printf("GO_QT !!!\n")
fmt.Printf("\t%-2s : %s\n", "-q", "quitter l'application")
fmt.Printf("\t%-2s : %s\n", "-i", "reinitialiser l'application")
fmt.Printf("\t%-2s : %s\n", "-a", "redemarrer l'application")
fmt.Printf("\t%-2s : %s\n", "-v", "valider les configurations")
fmt.Printf("\n")
obj.G_STATE = "S_LOAD"
}
//===============================================
func (obj *GQtUiO) run_METHOD() {
fmt.Printf("GO_QT :\n")
fmt.Printf("\t%-2s : %s\n", "1", "ouvrir l'application")
fmt.Printf("\t%-2s : %s\n", "2", "fermer l'application")
fmt.Printf("\n")
obj.G_STATE = "S_CHOICE"
}
//===============================================
func (obj *GQtUiO) run_CHOICE() {
var lLast string = "1"
fmt.Printf("GO_QT (%s) ? ", lLast)
lReader := bufio.NewReader(os.Stdin) ; lAnswer, _ := lReader.ReadString('\n')
lAnswer = lAnswer[:len(lAnswer)-2]
if lAnswer == "" { lAnswer = lLast }
if lAnswer == "-q" { obj.G_STATE = "S_END"
} else if lAnswer == "-i" { obj.G_STATE = "S_INIT"
} else if lAnswer == "-a" { obj.G_STATE = "S_ADMIN"
//
} else if lAnswer == "1" { obj.G_STATE = "S_OPEN" ; GConfig().SetData("GO_QT_ID", lAnswer);
} else if lAnswer == "2" { obj.G_STATE = "S_CLOSE" ; GConfig().SetData("GO_QT_ID", lAnswer);
//
}
}
//===============================================
func (obj *GQtUiO) run_OPEN() {
fmt.Printf("\n")
GQt().Open()
obj.G_STATE = "S_SAVE"
}
//===============================================
func (obj *GQtUiO) run_CLOSE() {
fmt.Printf("\n")
obj.G_STATE = "S_SAVE"
}
//===============================================
func (obj *GQtUiO) run_SAVE() {
obj.G_STATE = "S_QUIT"
}
//===============================================
func (obj *GQtUiO) run_LOAD() {
obj.G_STATE = "S_METHOD"
}
//===============================================
func (obj *GQtUiO) run_QUIT() {
fmt.Printf("\n")
fmt.Printf("GO_QUIT (Oui/[N]on) ? ")
lReader := bufio.NewReader(os.Stdin) ; lAnswer, _ := lReader.ReadString('\n')
lAnswer = lAnswer[:len(lAnswer)-2]
if lAnswer == "-q" { obj.G_STATE = "S_END"
} else if lAnswer == "-i" { obj.G_STATE = "S_INIT"
} else if lAnswer == "-a" { obj.G_STATE = "S_ADMIN"
} else if lAnswer == "o" { obj.G_STATE = "S_END"
} else if lAnswer == "n" { obj.G_STATE = "S_INIT"
} else if lAnswer == "" { obj.G_STATE = "S_INIT"
}
}
//===============================================