Ejemplo n.º 1
0
    def __init__(self, the_app):
        super(FinalForm, self).__init__()
        self.the_app = the_app

        self.statements = {}
        store = JsonStore('final_statements.json').get('final_statements')
        for key, value in store.items():
            self.statements[key] = {}
            for k,v in value.items():
                self.statements[key][k] = v

        title_txt = u"כל הכבוד!"
        self.title.text = title_txt[::-1]

        statement_layout = BoxLayout(orientation="vertical")
        self.statement_label = []
        statement_layout.add_widget(BoxLayout(size_hint_y=0.3))

        for k in range(0,4):
            self.statement_label.append(Label(font_size=40,
                                              font_name="fonts/the_font.ttf",
                                              halign='center', size_hint_y=0.4,
                                              color=[0,0,0, 1]))
            statement_layout.add_widget(self.statement_label[-1])
        self.add_widget(statement_layout)
        end_text = u"סיום"
        self.end_button.text = end_text[::-1]
        self.end_button.bind(on_press=self.next)
Ejemplo n.º 2
0
    def __init__(self, the_app):
        super(FinalForm, self).__init__()
        self.the_app = the_app

        self.statements = {}
        store = JsonStore('final_statements.json').get('final_statements')
        for key, value in store.items():
            self.statements[key] = {}
            for k, v in value.items():
                self.statements[key][k] = v

        title_txt = u"כל הכבוד!"
        self.title.text = title_txt[::-1]

        statement_layout = BoxLayout(orientation="vertical")
        self.statement_label = []
        statement_layout.add_widget(BoxLayout(size_hint_y=0.3))

        for k in range(0, 4):
            self.statement_label.append(
                Label(font_size=40,
                      font_name="fonts/the_font.ttf",
                      halign='center',
                      size_hint_y=0.4,
                      color=[0, 0, 0, 1]))
            statement_layout.add_widget(self.statement_label[-1])
        self.add_widget(statement_layout)
        end_text = u"סיום"
        self.end_button.text = end_text[::-1]
        self.end_button.bind(on_press=self.next)
Ejemplo n.º 3
0
    def __init__(self, question_filename='question.json'):
        self.dict = {
            'q_in_page': [],
            'qu_title': "",
            'qu_description': "",
            'ques': {},
            'ans': {},
            'next_button': "",
            'prev_button': ""
        }
        store = JsonStore(question_filename,
                          encoding='utf-8').get('questionnaire')

        for key, value in store.items():
            if key in ['qu_title', 'next_button', 'prev_button', 'questions']:
                self.dict[key] = value[::-1]
            if key in ['qu_description', 'ques', 'ans']:
                self.dict[key] = {}
                for kqa, qa in value.items():
                    self.dict[key][kqa] = qa[::-1]
            if key in ['q_in_page']:
                self.dict[key] = int(value)

        self.dict['ques'] = collections.OrderedDict(
            sorted(self.dict['ques'].items()))
        self.dict['ans'] = collections.OrderedDict(
            sorted(self.dict['ans'].items()))

        k_page = 0
        k_page_ques = 0
        self.page_dict = []
        for k, v in self.dict['ques'].items():
            if k_page_ques == 0:
                page_questions = {}
            page_questions[k] = v
            k_page_ques += 1
            if k_page_ques == self.dict['q_in_page']:
                new_page = {}
                new_page['ques'] = page_questions
                new_page = collections.OrderedDict(sorted(new_page.items()))
                self.page_dict.append(new_page)
                k_page_ques = 0

        for pd in self.page_dict:
            for k, v in self.dict.items():
                if k != 'ques':
                    pd[k] = v
Ejemplo n.º 4
0
    def __init__(self, the_app):
        super(ConsentForm, self).__init__()
        self.the_app = the_app
        self.dict = {'title':self.title,
                'body':self.body,
                'checkbox_txt':self.checkbox_txt,
                'button':self.button}
        store = JsonStore('consent_form.json').get('agreement')
        for key, value in store.items():
            self.dict[key].text = value[::-1]

        self.body_labels = []
        txt = self.dict['body'].text
        new_lines = HebrewManagement.multiline(txt, 50)
        for nl in new_lines[::-1]:
            self.body_labels.append(Label(text=nl,
                      font_name="fonts/the_font",
                      font_size=36,
                      color=[0,0,0,1]))
            self.dict['body'].add_widget(self.body_labels[-1])
Ejemplo n.º 5
0
    def __init__(self, the_app):
        super(ConsentForm, self).__init__()
        self.the_app = the_app
        self.dict = {
            'title': self.title,
            'body': self.body,
            'checkbox_txt': self.checkbox_txt,
            'button': self.button
        }
        store = JsonStore('consent_form.json').get('agreement')
        for key, value in store.items():
            self.dict[key].text = value[::-1]

        self.body_labels = []
        txt = self.dict['body'].text
        new_lines = HebrewManagement.multiline(txt, 50)
        for nl in new_lines[::-1]:
            self.body_labels.append(
                Label(text=nl,
                      font_name="fonts/the_font",
                      font_size=36,
                      color=[0, 0, 0, 1]))
            self.dict['body'].add_widget(self.body_labels[-1])
Ejemplo n.º 6
0
    def __init__(self):
        self.dict = {'q_in_page': [], 'qu_title': "", 'qu_description': "", 'ques': {},
                'ans': {}, 'next_button': "", 'prev_button': ""}
        store = JsonStore('questions.json', encoding='utf-8').get('questionnaire')

        for key, value in store.items():
            if key in ['qu_title', 'next_button', 'prev_button', 'questions']:
                self.dict[key] = value[::-1]
            if key in ['qu_description', 'ques', 'ans']:
                self.dict[key] = {}
                for kqa, qa in value.items():
                    self.dict[key][kqa] = qa[::-1]
            if key in ['q_in_page']:
                self.dict[key] = int(value)

        self.dict['ques'] = collections.OrderedDict(sorted(self.dict['ques'].items()))
        self.dict['ans'] = collections.OrderedDict(sorted(self.dict['ans'].items()))

        k_page = 0
        k_page_ques = 0
        self.page_dict = []
        for k, v in self.dict['ques'].items():
            if k_page_ques == 0:
                page_questions = {}
            page_questions[k] = v
            k_page_ques += 1
            if k_page_ques == self.dict['q_in_page']:
                new_page = {}
                new_page['ques'] = page_questions
                new_page = collections.OrderedDict(sorted(new_page.items()))
                self.page_dict.append(new_page)
                k_page_ques = 0

        for pd in self.page_dict:
            for k,v in self.dict.items():
                if k != 'ques':
                    pd[k] = v
    def __init__(self, the_app):
        super(DetailsFormGrades, self).__init__()
        self.the_app = the_app

        with self.canvas.before:
            self.rect = Rectangle(source='back3.png')
            self.bind(size=self._update_rect, pos=self._update_rect)

        dict = {}
        self.answers = {}
        store = JsonStore('details.json').get('details')

        for key, value in store.items():
            if key in ['FirstName', 'LastName', 'Email', 'end_button','details_title','Age', 'SAT', 'bagrut']:
                dict[key] = value[::-1]
            if key in ['Gender']:
                dict[key] = {}
                for kqa, qa in value.items():
                    if kqa=='text':
                        dict[key][kqa] = qa[::-1]
                    elif kqa == 'default':
                        dict[key][kqa] = qa[::-1]
                    elif kqa != 'ages':
                        dict[key][kqa]=[]
                        for k,v in value[kqa].items():
                           dict[key][kqa].append(v[::-1])
                    else:
                        dict[key][kqa]=[]
                        age=10
                        while age<100:
                            dict[key][kqa].append(str(age))
                            age += 1

        # definitions of all the GUI
        y_size = 0.2

        self.SAT_text = LoggedTextInput(size_hint_x=0.5, font_size=40, input_filter='int', size_hint_y=y_size)
        self.SAT_text.bind(text=self.SAT_text.on_text_change)
        self.SAT_text.name = 'SAT'

        self.bagrut_text = LoggedTextInput(size_hint_x=2, font_size=32, input_filter='float', size_hint_y=y_size)
        self.bagrut_text.bind(text=self.bagrut_text.on_text_change)
        self.bagrut_text.name = 'email'

        end_button = Button(background_color=[0, 0.71, 1, 1],
                            background_normal="",
                            text=dict['end_button'], font_size=30,
                            font_name="fonts/the_font.ttf",
                            halign='right', on_press=self.next)

        end_button.bind(on_press=self.save)  # layout of the GUI

        layoutup = BoxLayout(orientation='vertical')
        layoutup.add_widget(BoxLayout(size_hint_y=y_size))
        layoutup.add_widget(
             Label(text=dict['details_title'], 
                   font_size=50, font_name="fonts/the_font.ttf",
                   halign='right', size_hint_y=y_size,
                   color=[0,0,0,1]))

        layout = GridLayout(cols=8, rows=6)

        # === first line ===
        layout.add_widget(end_button)
        layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=y_size))

        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout(size_hint_y=y_size))

        layout.add_widget(self.bagrut_text)
        layout.add_widget(
            Label(text=dict['bagrut'], font_size=30,
                  font_name="fonts/the_font.ttf", halign='right',
                  size_hint_y=y_size,
                  color=[0,0,0,1]))

        layout.add_widget(self.SAT_text)
        layout.add_widget(
            Label(text=dict['SAT'], font_size=30,
                  font_name="fonts/the_font.ttf", halign='right',
                  size_hint_y=y_size,
                  color=[0, 0, 0, 1]))

    # === second line ===
        layout.add_widget(BoxLayout(size_hint_y=y_size))
        layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=y_size))
        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout(size_hint_y=y_size))

        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout(size_hint_x=1.5))
        layout.add_widget(BoxLayout(size_hint_x=1.5))

        # === space lines ===
        for lines in range(2):
            for space_line in range(8):
                layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=1))
                # layout.add_widget(BoxLayout(size_hint_y=1))

        # === last line ===
        layout.add_widget(BoxLayout(size_hint_x=0.2))
        layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=y_size))
        layout.add_widget(BoxLayout())

        layout.add_widget(BoxLayout(size_hint_x=0.2))

        layout.add_widget(
            Label(text="ךתופתתשה לע הדות", font_size=36,
                  color=[0, 0, 0, 1],
                  font_name="fonts/the_font.ttf", halign='right', size_hint_x=1.5))

        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())

        # === space lines ===
        for lines in range(1):
            for space_line in range(7):
                layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=1))
                # layout.add_widget(BoxLayout(size_hint_y=1))
        # ======= end =======

        layoutup.add_widget(layout)
        self.add_widget(layoutup)
        self.start()
Ejemplo n.º 8
0
    def __init__(self, the_app):
        super(DetailsForm, self).__init__()
        self.the_app = the_app

        with self.canvas.before:
            self.rect = Rectangle(source="back3.png")
            self.bind(size=self._update_rect, pos=self._update_rect)

        dict = {}
        self.answers = {}
        store = JsonStore("details.json").get("details")

        for key, value in store.items():
            if key in ["FirstName", "LastName", "Email", "end_button", "details_title", "Age"]:
                dict[key] = value[::-1]
            if key in ["Gender", "Faculty"]:
                dict[key] = {}
                for kqa, qa in value.items():
                    if kqa == "text":
                        dict[key][kqa] = qa[::-1]
                    elif kqa != "ages":
                        dict[key][kqa] = []
                        for k, v in value[kqa].items():
                            dict[key][kqa].append(v[::-1])
                    else:
                        dict[key][kqa] = []
                        age = 10
                        while age < 100:
                            dict[key][kqa].append(str(age))
                            age += 1

        layoutup = BoxLayout(orientation="vertical")
        layoutup.add_widget(BoxLayout(size_hint_y=0.3))
        layoutup.add_widget(
            Label(
                text=dict["details_title"],
                font_size=50,
                font_name="fonts/the_font.ttf",
                halign="right",
                size_hint_y=0.2,
                color=[0, 0, 0, 1],
            )
        )

        layout = GridLayout(cols=7, rows=8)

        # === first line ===
        layout.add_widget(BoxLayout(size_hint_x=0.2, size_hint_y=0.4))

        self.age_text = LoggedTextInput(size_hint_x=0.5, font_size=40, input_filter="int", size_hint_y=0.4)
        self.age_text.bind(text=self.age_text.on_text_change)
        self.age_text.name = "age"
        if "age" in self.what_to_include:
            layout.add_widget(self.age_text)
            layout.add_widget(
                Label(
                    text=dict["Age"],
                    font_size=30,
                    font_name="fonts/the_font.ttf",
                    halign="right",
                    size_hint_y=0.4,
                    color=[0, 0, 0, 1],
                )
            )
        else:
            layout.add_widget(BoxLayout())
            layout.add_widget(BoxLayout())

        self.email_text = LoggedTextInput(size_hint_x=2, font_size=32, size_hint_y=0.4)
        self.email_text.bind(text=self.email_text.on_text_change)
        self.email_text.name = "email"
        if "email" in self.what_to_include:
            layout.add_widget(self.email_text)
            layout.add_widget(
                Label(
                    text=dict["Email"],
                    font_size=30,
                    font_name="fonts/the_font.ttf",
                    halign="right",
                    size_hint_y=0.4,
                    color=[0, 0, 0, 1],
                )
            )
        else:
            layout.add_widget(BoxLayout())
            layout.add_widget(BoxLayout())

        # === second line ===
        # layout.add_widget(BoxLayout(size_hint_x=0.2))
        # gender spinner
        print(dict["Gender"]["Genders"])
        self.gender_spinner = LoggedSpinner(
            text=dict["Gender"]["Genders"][0],
            values=dict["Gender"]["Genders"],
            size=(50, 50),
            font_name="fonts/the_font.ttf",
            font_size=40,
            size_hint_y=0.4,
            option_cls=MySpinnerOption,
        )
        self.gender_spinner.name = "gender"
        self.gender_spinner.bind(text=self.gender_spinner.on_spinner_text)
        if "gender" in self.what_to_include:
            layout.add_widget(self.gender_spinner)
            layout.add_widget(
                Label(
                    text=dict["Gender"]["text"],
                    font_size=30,
                    font_name="fonts/the_font.ttf",
                    halign="right",
                    size_hint_y=0.2,
                    color=[0, 0, 0, 1],
                )
            )
        else:
            layout.add_widget(BoxLayout())
            layout.add_widget(BoxLayout(size_hint_y=0.2))

        # faculty spinner
        self.faculty_spinner = LoggedSpinner(
            text="הסדנה",
            values=dict["Faculty"]["Faculties"],
            size=(50, 50),
            font_name="fonts/the_font.ttf",
            font_size=30,
            option_cls=MySpinnerOption,
            size_hint_x=0.5,
        )
        self.faculty_spinner.name = "faculty"
        self.faculty_spinner.bind(text=self.faculty_spinner.on_spinner_text)
        if "faculty" in self.what_to_include:
            layout.add_widget(self.faculty_spinner)
            layout.add_widget(
                Label(
                    text=dict["Faculty"]["text"],
                    font_size=30,
                    font_name="fonts/the_font.ttf",
                    halign="right",
                    size_hint_x=1.5,
                    color=[0, 0, 0, 1],
                )
            )
        else:
            layout.add_widget(BoxLayout())
            layout.add_widget(BoxLayout(size_hint_x=1.5))

        # === third line ===
        layout.add_widget(BoxLayout(size_hint_x=0.2))
        layout.add_widget(BoxLayout())
        layout.add_widget(
            Label(
                text="ךתופתתשה לע הדות",
                font_size=36,
                color=[0, 0, 0, 1],
                font_name="fonts/the_font.ttf",
                halign="right",
                size_hint_x=1.5,
            )
        )

        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())

        # === last line ===
        layout.add_widget(BoxLayout(size_hint_x=0.2))
        end_button = Button(
            background_color=[0, 0.71, 1, 1],
            background_normal="",
            text=dict["end_button"],
            font_size=30,
            font_name="fonts/the_font.ttf",
            halign="right",
            on_press=self.next,
        )
        end_button.bind(on_press=self.save)
        layout.add_widget(end_button)
        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())

        # === space line ===
        layout.add_widget(BoxLayout(size_hint_y=0.1))
        layoutup.add_widget(layout)

        self.add_widget(layoutup)
        self.start()
    def __init__(self, the_app):
        super(DetailsForm, self).__init__()
        self.the_app = the_app

        with self.canvas.before:
            self.rect = Rectangle(source='back3.png')
            self.bind(size=self._update_rect, pos=self._update_rect)

        dict = {}
        self.answers = {}
        store = JsonStore('details.json').get('details')

        for key, value in store.items():
            if key in [
                    'FirstName', 'LastName', 'Email', 'end_button',
                    'details_title', 'Age'
            ]:
                dict[key] = value[::-1]
            if key in ['Gender', 'Faculty']:
                dict[key] = {}
                for kqa, qa in value.items():
                    if kqa == 'text':
                        dict[key][kqa] = qa[::-1]
                    elif kqa != 'ages':
                        dict[key][kqa] = []
                        for k, v in value[kqa].items():
                            dict[key][kqa].append(v[::-1])
                    else:
                        dict[key][kqa] = []
                        age = 10
                        while age < 100:
                            dict[key][kqa].append(str(age))
                            age += 1

        layoutup = BoxLayout(orientation='vertical')
        layoutup.add_widget(BoxLayout(size_hint_y=0.3))
        layoutup.add_widget(
            Label(text=dict['details_title'],
                  font_size=50,
                  font_name="fonts/the_font.ttf",
                  halign='right',
                  size_hint_y=0.2,
                  color=[0, 0, 0, 1]))

        layout = GridLayout(cols=7, rows=8)

        # === first line ===
        layout.add_widget(BoxLayout(size_hint_x=0.2, size_hint_y=0.4))

        self.age_text = LoggedTextInput(size_hint_x=0.5,
                                        font_size=40,
                                        input_filter='int',
                                        size_hint_y=0.4)
        self.age_text.bind(text=self.age_text.on_text_change)
        self.age_text.name = 'age'
        if 'age' in self.what_to_include:
            layout.add_widget(self.age_text)
            layout.add_widget(
                Label(text=dict['Age'],
                      font_size=30,
                      font_name="fonts/the_font.ttf",
                      halign='right',
                      size_hint_y=0.4,
                      color=[0, 0, 0, 1]))
        else:
            layout.add_widget(BoxLayout())
            layout.add_widget(BoxLayout())

        self.email_text = LoggedTextInput(size_hint_x=2,
                                          font_size=32,
                                          size_hint_y=0.4)
        self.email_text.bind(text=self.email_text.on_text_change)
        self.email_text.name = 'email'
        if 'email' in self.what_to_include:
            layout.add_widget(self.email_text)
            layout.add_widget(
                Label(text=dict['Email'],
                      font_size=30,
                      font_name="fonts/the_font.ttf",
                      halign='right',
                      size_hint_y=0.4,
                      color=[0, 0, 0, 1]))
        else:
            layout.add_widget(BoxLayout())
            layout.add_widget(BoxLayout())

        # === second line ===
        # layout.add_widget(BoxLayout(size_hint_x=0.2))
# gender spinner
        print(dict['Gender']['Genders'])
        self.gender_spinner = LoggedSpinner(text=dict['Gender']['Genders'][0],
                                            values=dict['Gender']['Genders'],
                                            size=(50, 50),
                                            font_name="fonts/the_font.ttf",
                                            font_size=40,
                                            size_hint_y=0.4,
                                            option_cls=MySpinnerOption)
        self.gender_spinner.name = 'gender'
        self.gender_spinner.bind(text=self.gender_spinner.on_spinner_text)
        if 'gender' in self.what_to_include:
            layout.add_widget(self.gender_spinner)
            layout.add_widget(
                Label(text=dict['Gender']['text'],
                      font_size=30,
                      font_name="fonts/the_font.ttf",
                      halign='right',
                      size_hint_y=0.2,
                      color=[0, 0, 0, 1]))
        else:
            layout.add_widget(BoxLayout())
            layout.add_widget(BoxLayout(size_hint_y=0.2))

        # faculty spinner
        self.faculty_spinner = LoggedSpinner(
            text="הסדנה",
            values=dict['Faculty']['Faculties'],
            size=(50, 50),
            font_name="fonts/the_font.ttf",
            font_size=30,
            option_cls=MySpinnerOption,
            size_hint_x=0.5)
        self.faculty_spinner.name = 'faculty'
        self.faculty_spinner.bind(text=self.faculty_spinner.on_spinner_text)
        if 'faculty' in self.what_to_include:
            layout.add_widget(self.faculty_spinner)
            layout.add_widget(
                Label(text=dict['Faculty']['text'],
                      font_size=30,
                      font_name="fonts/the_font.ttf",
                      halign='right',
                      size_hint_x=1.5,
                      color=[0, 0, 0, 1]))
        else:
            layout.add_widget(BoxLayout())
            layout.add_widget(BoxLayout(size_hint_x=1.5))

        # === third line ===
        layout.add_widget(BoxLayout(size_hint_x=0.2))
        layout.add_widget(BoxLayout())
        layout.add_widget(
            Label(text="ךתופתתשה לע הדות",
                  font_size=36,
                  color=[0, 0, 0, 1],
                  font_name="fonts/the_font.ttf",
                  halign='right',
                  size_hint_x=1.5))

        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())

        # === last line ===
        layout.add_widget(BoxLayout(size_hint_x=0.2))
        end_button = Button(background_color=[0, 0.71, 1, 1],
                            background_normal="",
                            text=dict['end_button'],
                            font_size=30,
                            font_name="fonts/the_font.ttf",
                            halign='right',
                            on_press=self.next)
        end_button.bind(on_press=self.save)
        layout.add_widget(end_button)
        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())

        # === space line ===
        layout.add_widget(BoxLayout(size_hint_y=0.1))
        layoutup.add_widget(layout)

        self.add_widget(layoutup)
        self.start()
Ejemplo n.º 10
0
    def __init__(self):
        super(QuestionsForm, self).__init__()
        with self.canvas.before:
            #Color(0, 1, 0, 1)  # green; colors range from 0-1 instead of 0-255
            self.rect = Rectangle(source='back2.png')
            self.bind(size=self._update_rect, pos=self._update_rect)
        dict = {'q_in_page':[], 'qu_title': "", 'qu_description': "", 'ques': {},
                 'ans': {}, 'next_button': "", 'prev_button': ""}
        self.answers={}
        store = JsonStore('questions.json').get('questionnaire')

        #self.add_widget(Label(text=store.get("questionnaire")["qu_title"][::-1], font_name="DejaVuSans.ttf"))
        #tree = ET.fromstring(txt)

        for key, value in store.items():
            if key in ['qu_title','next_button','prev_button','questions']:
                dict[key] = value[::-1]
                # print('qu_title',dict[child.tag])
            if key in ['qu_description','ques','ans']:
                dict[key] = {}
                for kqa, qa in value.items():
                    dict[key][kqa] = qa[::-1]

        layout = GridLayout(cols=len(dict['ans'])+2, rows=len(dict['ques'])+1,row_default_height=40)
        layoutup = BoxLayout(orientation='vertical')
        layoutup.add_widget(Label(text=dict['qu_title'],font_size=50,font_name="DejaVuSans.ttf",halign='right',size_hint_y=0.2,color= [1, 0, 1, 1]))
        layoutup.add_widget(BoxLayout(size_hint_y=0.5))
        layoutup.add_widget(Label(text=dict['qu_description']['d1'],font_name="DejaVuSans.ttf",font_size=40,halign='right', size_hint_y=0.1))
        layoutup.add_widget(Label(text=dict['qu_description']['d2'],font_name="DejaVuSans.ttf",font_size=40,halign='right', size_hint_y=0.1))
        layoutup.add_widget(Label(text=dict['qu_description']['d3'],font_name="DejaVuSans.ttf",font_size=40,halign='right', size_hint_y=0.1))
        layoutup.add_widget(BoxLayout(size_hint_y=0.2))

        q_counter=0
        for ques in dict['ques']:
            layout.add_widget(BoxLayout(size_hint_x=0.05))
            q_counter+=1
            if q_counter==1:
                for ans in dict['ans']:
                    print(ans)
                    layout.add_widget(Label(size_hint_x=0.1,text=dict['ans'][ans],font_name="DejaVuSans.ttf",halign='right'))
                layout.add_widget(Label(text="תולאש",font_name="DejaVuSans.ttf",halign='right',orientation='vertical'))
                layout.add_widget(BoxLayout(size_hint_x=0.1))

            for ans in dict['ans']:
                ab = AnswerButton(size_hint_x=0.15,text="", group=str(q_counter),)
                ab.question = ques
                ab.answer = ans
                ab.form = self
                layout.add_widget(ab)

            #CHECK ID AND KEEP THE CLICK VALUE
            layout.add_widget(Label(halign='right',text=dict['ques'][ques],font_name="DejaVuSans.ttf",orientation='vertical', font_size=30))

        layoutup.add_widget(layout)
        layoutup.add_widget(BoxLayout())
        layoutbuttons = BoxLayout(size_hint_y=0.2)

        layoutbuttons.add_widget(Button(background_color= [1, 0, 1, 1],
                                        text=dict['next_button'],font_size=20,font_name="DejaVuSans.ttf",halign='right'))
        layoutbuttons.add_widget(BoxLayout(size_hint_x=0.2))
        layoutbuttons.add_widget(Button(background_color= [1, 0, 1, 1],
                                        text=dict['prev_button'],font_size=20,font_name="DejaVuSans.ttf",halign='right'))

        layoutup.add_widget(layoutbuttons)
        self.add_widget(layoutup)
Ejemplo n.º 11
0
    def __init__(self, the_app):
        super(DetailsFormFaculty, self).__init__()
        self.the_app = the_app

        with self.canvas.before:
            self.rect = Rectangle(source='back3.png')
            self.bind(size=self._update_rect, pos=self._update_rect)

        dict = {}
        self.answers = {}
        store = JsonStore('details.json').get('details')

        for key, value in store.items():
            if key in [
                    'FirstName', 'LastName', 'Email', 'end_button',
                    'details_title', 'Age'
            ]:
                dict[key] = value[::-1]
            if key in ['Gender', 'Faculty']:
                dict[key] = {}
                for kqa, qa in value.items():
                    if kqa == 'text':
                        dict[key][kqa] = qa[::-1]
                    elif kqa == 'default':
                        dict[key][kqa] = qa[::-1]
                    elif kqa != 'ages':
                        dict[key][kqa] = []
                        for k, v in value[kqa].items():
                            dict[key][kqa].append(v[::-1])
                    else:
                        dict[key][kqa] = []
                        age = 10
                        while age < 100:
                            dict[key][kqa].append(str(age))
                            age += 1

        # definitions of all the GUI
        y_size = 0.2

        temp_faculty = []
        for f in range(len(dict['Faculty']['Faculties'])):
            if f == 0:
                temp_faculty.append(dict['Faculty']['Faculties'][4])
            elif f == 4:
                temp_faculty.append(dict['Faculty']['Faculties'][0])
            else:
                temp_faculty.append(dict['Faculty']['Faculties'][f])
        dict['Faculty']['Faculties'] = temp_faculty

        self.faculty_default = dict['Faculty']['default']

        # faculty spinner
        self.faculty_spinner_1st = LoggedSpinner(
            text=dict['Faculty']['default'],
            values=dict['Faculty']['Faculties'],
            size=(50, 50),
            font_name="fonts/the_font.ttf",
            font_size=30,
            option_cls=MySpinnerOption,
            size_hint_y=y_size)
        self.faculty_spinner_1st.name = 'faculty_1st'
        self.faculty_spinner_1st.bind(
            text=self.faculty_spinner_1st.on_spinner_text)

        self.faculty_spinner_2nd = LoggedSpinner(
            text=dict['Faculty']['default'],
            values=dict['Faculty']['Faculties'],
            size=(50, 50),
            font_name="fonts/the_font.ttf",
            font_size=30,
            option_cls=MySpinnerOption,
            size_hint_y=y_size)
        self.faculty_spinner_2nd.name = 'faculty_2nd'
        self.faculty_spinner_2nd.bind(
            text=self.faculty_spinner_2nd.on_spinner_text)

        self.faculty_spinner_3rd = LoggedSpinner(
            text=dict['Faculty']['default'],
            values=dict['Faculty']['Faculties'],
            size=(50, 50),
            font_name="fonts/the_font.ttf",
            font_size=30,
            option_cls=MySpinnerOption,
            size_hint_y=y_size)
        self.faculty_spinner_3rd.name = 'faculty_3rd'
        self.faculty_spinner_3rd.bind(
            text=self.faculty_spinner_3rd.on_spinner_text)

        end_button = Button(background_color=[0, 0.71, 1, 1],
                            background_normal="",
                            text=dict['end_button'],
                            font_size=30,
                            font_name="fonts/the_font.ttf",
                            halign='right',
                            on_press=self.next)

        end_button.bind(on_press=self.save)  # layout of the GUI

        layoutup = BoxLayout(orientation='vertical')
        layoutup.add_widget(BoxLayout(size_hint_y=y_size))
        layoutup.add_widget(
            Label(text=dict['details_title'],
                  font_size=50,
                  font_name="fonts/the_font.ttf",
                  halign='right',
                  size_hint_y=y_size,
                  color=[0, 0, 0, 1]))

        layout = GridLayout(cols=8, rows=6)

        # === first line ===
        layout.add_widget(end_button)
        layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=y_size))

        layout.add_widget(self.faculty_spinner_3rd)
        layout.add_widget(
            Label(text=u'תישילש תופידע',
                  font_size=30,
                  font_name="fonts/the_font.ttf",
                  halign='right',
                  size_hint_x=1.5,
                  color=[0, 0, 0, 1]))

        layout.add_widget(self.faculty_spinner_2nd)
        layout.add_widget(
            Label(text=u'הינש תופידע',
                  font_size=30,
                  font_name="fonts/the_font.ttf",
                  halign='right',
                  size_hint_x=1.5,
                  color=[0, 0, 0, 1]))

        layout.add_widget(self.faculty_spinner_1st)
        layout.add_widget(
            Label(text=dict['Faculty']['text'],
                  font_size=30,
                  font_name="fonts/the_font.ttf",
                  halign='right',
                  size_hint_x=1.5,
                  color=[0, 0, 0, 1]))

        # === second line ===
        layout.add_widget(BoxLayout(size_hint_y=y_size))
        layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=y_size))
        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout(size_hint_y=y_size))

        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout(size_hint_x=1.5))
        layout.add_widget(BoxLayout(size_hint_x=1.5))

        # === space lines ===
        for lines in range(2):
            for space_line in range(8):
                layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=1))
                # layout.add_widget(BoxLayout(size_hint_y=1))

        # === last line ===
        layout.add_widget(BoxLayout(size_hint_x=0.2))
        layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=y_size))
        layout.add_widget(BoxLayout())

        layout.add_widget(BoxLayout(size_hint_x=0.2))

        layout.add_widget(
            Label(text="ךתופתתשה לע הדות",
                  font_size=36,
                  color=[0, 0, 0, 1],
                  font_name="fonts/the_font.ttf",
                  halign='right',
                  size_hint_x=1.5))

        layout.add_widget(BoxLayout())
        layout.add_widget(BoxLayout())

        # === space lines ===
        for lines in range(1):
            for space_line in range(7):
                layout.add_widget(BoxLayout(size_hint_x=0.1, size_hint_y=1))
                # layout.add_widget(BoxLayout(size_hint_y=1))
        # ======= end =======

        layoutup.add_widget(layout)
        self.add_widget(layoutup)