-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
88 lines (64 loc) · 2.51 KB
/
main.py
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
#!/usr/bin/python
# -*- coding: utf-8 -*-
from questionnaire_form import *
from final_form import *
from middle_form import *
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy_communication.kivy_logger import *
from kivy_communication import KL
class ZeroScreen(Screen):
def on_enter(self, *args):
KL.restart()
def start(self):
self.ids['subject_id'].bind(text=self.ids['subject_id'].on_text_change)
class QuestionnairesApp(App):
sm = None
qf = None
float_layout = None
cei2 = None
bfi = None
def build(self):
# initialize logger
#KL.start([DataMode.file, DataMode.communication]) #, "/sdcard/curiosity/", the_ip='127.0.0.1')#self.user_data_dir)
KL.start([DataMode.file, DataMode.communication, DataMode.ros], self.user_data_dir)
self.sm = ScreenManager()
screen = ZeroScreen()
screen.start()
screen.ids['subject_id'].bind(text=screen.ids['subject_id'].on_text_change)
self.sm.add_widget(screen)
return self.sm
def add_all(self):
self.qf = []
self.add_questionnaire('questionnaires/BFI.json')
self.qf.append(MiddleForm(self))
self.add_questionnaire('questionnaires/Need for Cognition.json')
self.qf.append(MiddleForm(self))
self.add_questionnaire('questionnaires/Questionnaire3.json')
self.qf.append(MiddleForm(self))
self.add_questionnaire('questionnaires/Questionnaire4.json')
for kqf in range(0, len(self.qf)):
screen = Screen(name="question"+str(kqf))
screen.add_widget(self.qf[kqf])
self.sm.add_widget(screen)
screen = Screen(name='final_form')
screen.add_widget(FinalForm(self))
self.sm.add_widget(screen)
self.start()
def add_questionnaire(self, filename=""):
new_questionnaire = Questionnaire(filename)
for p in range(0, len(new_questionnaire.page_dict)):
self.qf.append(QuestionsForm(self, new_questionnaire.page_dict[p],
new_questionnaire.questionnaire_name))
def start(self):
KL.start([DataMode.file, DataMode.communication, DataMode.ros], self.user_data_dir)
for qf in self.qf:
qf.start()
def on_pause(self):
return True
def press_start(self, pre_post):
print(self.sm.size)
self.add_all()
self.sm.current = self.sm.next()
if __name__ == '__main__':
QuestionnairesApp().run()