Exemplo n.º 1
0
class AppSplash(Screen):
    """
    @group Design: on_enter
    @group Functionality: skip
    """

    appLogin.load_string("app_splash")

    @staticmethod
    def skip(dt):
        """
        This method switches current screen to specified one.
        :param dt: It is for handling callback input.
        :return:
        """

        screen.switch_to(pages[1])

    def on_enter(self, *args):
        """
        This method schedules trigger for given callback. Meanwhile, it reveals specified image.
        :param args: It is for handling Kivy.
        :return:
        """

        Clock.schedule_once(self.skip, 2)

        anim_fade = Animation(opacity=1, duration=1) + Animation(opacity=0,
                                                                 duration=1)
        anim_fade.start(self.ids["ico_wivern_round"])
Exemplo n.º 2
0
class AppReset(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_enter, on_reset, on_quit, on_leave
    """

    appLogin.load_string("app_reset")

    def on_pre_enter(self, *args):
        appReset.on_pre_enter(self)

    def on_enter(self, *args):
        appLogin.on_enter(self)

    def on_reset(self):
        appReset.on_reset(self)

    @staticmethod
    def on_back(dt):
        pages.append(AppLogin(name="AppLogin"))
        appReset.on_back(pages, screen)

    def on_quit(self, dt):
        appLogin.on_quit(self)

    def on_leave(self, *args):
        appLogin.on_leave(self)
Exemplo n.º 3
0
class AppLogin(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_enter, on_login, on_quit, on_leave
    """

    appLogin.load_string("app_login")

    def on_pre_enter(self, *args):
        appLogin.on_pre_enter(self)

    def on_enter(self, *args):
        appLogin.on_enter(self)

    def on_login(self):
        appLogin.on_login(self, pages, screen, EduLects, StdLects)

    def print_hello(self):
        print self.ids["Label"].text

    @staticmethod
    def on_reset(dt):
        pages.append(AppReset(name="AppReset"))
        appReset.on_back(pages, screen)

    def on_quit(self, dt):
        appLogin.on_quit(self)

    def on_leave(self, *args):
        appLogin.on_leave(self)
Exemplo n.º 4
0
class StdStats(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_stats, on_quit, on_leave
    """

    appLogin.load_string("std_stats")

    def on_pre_enter(self, *args):
        eduLects.load_buttons(self)
        eduStats.on_pre_enter(self)

    @staticmethod
    def on_profile(dt):
        pages.append(StdProfile(name="StdProfile"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_lects():
        pages.append(StdLects(name="StdLects"))
        appReset.on_back(pages, screen)

    def on_stats(self):
        eduLects.on_statistics(self)

    @staticmethod
    def on_logout(dt):
        EduLects.on_logout(dt)

    def on_quit(self, dt):
        appLogin.on_quit(self)

    def on_leave(self, *args):
        appLogin.on_leave(self)
Exemplo n.º 5
0
class EduQuestion(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_submit, on_question_add
    """

    appLogin.load_string("edu_question")

    def on_pre_enter(self, *args):
        eduQuestion.on_pre_enter(self)

    def on_submit(self):
        print "onSubmit"
        eduQuestion.on_submit(self)

    def on_question_add(self, command):
        if eduQuestion.on_submit(self):
            if command == "complete":
                self.on_question_cancel()
            else:
                pages.append(EduQuestion(name="EduQuestion"))
                appReset.on_back(pages, screen)

    @staticmethod
    def on_question_cancel():
        print "On question Cancel"
        pages.append(EduLects(name="EduLects"))
        appReset.on_back(pages, screen)
Exemplo n.º 6
0
class EduGrade(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_student_change, on_grade_submit
    """

    appLogin.load_string("edu_grade")

    def on_pre_enter(self, *args):
        eduGrade.on_pre_enter(self)

    def on_student_change(self):
        eduGrade.on_exam_grade(self)

    @staticmethod
    def on_grade():
        pages.append(EduGrade(name="EduGrade"))
        appReset.on_back(pages, screen)

    def on_grade_submit(self):
        if eduGrade.on_grade_submit(self):
            self.on_grade()

    @staticmethod
    def on_lects():
        pages.append(EduLects(name="EduLects"))
        appReset.on_back(pages, screen)
Exemplo n.º 7
0
class EduProfile(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_enter, on_stats, on_pic_change, on_text_change, on_submit, on_quit, on_leave
    """

    appLogin.load_string("edu_profile")

    def on_pre_enter(self, *args):
        eduLects.load_buttons(self)
        eduProfile.on_pre_enter(self)

    def on_enter(self, *args):
        appLogin.on_enter(self)

    @staticmethod
    def on_profile(dt):
        pages.append(EduProfile(name="EduProfile"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_lects():
        pages.append(EduLects(name="EduLects"))
        appReset.on_back(pages, screen)

    def on_stats(self):
        eduLects.on_statistics(self)

    def on_pic_change(self, dt):
        eduProfile.on_pic_change(self)

    def on_text_change(self, name):
        eduProfile.on_text_change(self, name)

    def on_submit(self):
        eduProfile.on_submit(self)

    @staticmethod
    def on_logout(dt):
        EduLects.on_logout(dt)

    def on_quit(self, dt):
        appLogin.on_quit(self)

    def on_leave(self, *args):
        appLogin.on_leave(self)
Exemplo n.º 8
0
class EduExam(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_enter, on_stats, on_exam_create, on_quit, on_leave
    """

    appLogin.load_string("edu_exam")

    def on_pre_enter(self, *args):
        eduLects.load_buttons(self)
        eduExam.on_pre_enter(self)

    def on_enter(self, *args):
        appLogin.on_enter(self)

    @staticmethod
    def on_profile(dt):
        pages.append(EduProfile(name="EduProfile"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_lects():
        pages.append(EduLects(name="EduLects"))
        appReset.on_back(pages, screen)

    def on_stats(self):
        eduLects.on_statistics(self)

    def on_exam_create(self):
        eduExam.on_exam_create(self)

    @staticmethod
    def on_question_add():
        print "question add"
        pages.append(EduQuestion(name="EduQuestion"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_logout(dt):
        EduLects.on_logout(dt)

    def on_quit(self, dt):
        appLogin.on_quit(self)

    def on_leave(self, *args):
        appLogin.on_leave(self)
Exemplo n.º 9
0
class EduEdit(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_submit
    """

    appLogin.load_string("edu_edit")

    def on_pre_enter(self, *args):
        eduEdit.on_pre_enter(self)

    def on_submit(self):
        if eduEdit.on_submit(self):
            self.on_lects()

    @staticmethod
    def on_lects():
        pages.append(EduLects(name="EduLects"))
        appReset.on_back(pages, screen)
Exemplo n.º 10
0
class StdLive(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_answer_change, on_submit, on_leave
    """

    appLogin.load_string("std_live")

    def __init__(self, **kw):
        super(StdLive, self).__init__(**kw)
        self.answer = ""
        self.counter = 0

    def on_pre_enter(self, *args):
        stdLive.on_pre_enter(self)

    def on_answer_change(self, txt):
        self.answer = txt

    @staticmethod
    def on_lects():
        pages.append(StdLects(name="StdLects"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_question_skip():
        pages.append(StdLive(name="StdLive"))
        appReset.on_back(pages, screen)

    def on_submit(self):
        if stdLive.on_submit(self):
            pages.append(StdLive(name="StdLive"))
            appReset.on_back(pages, screen)

    def on_leave(self, *args):
        stdLive.on_leave(self)
Exemplo n.º 11
0
class EduLive(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_time_add, on_exam_finish, on_leave
    """

    appLogin.load_string("edu_live")

    def on_pre_enter(self, *args):
        eduLive.on_pre_enter(self)

    @staticmethod
    def on_lects():
        pages.append(EduLects(name="EduLects"))
        appReset.on_back(pages, screen)

    def on_time_add(self):
        eduLive.on_time_add(self)

    def on_exam_finish(self):
        eduLive.on_exam_finish(self)

    def on_leave(self, *args):
        eduLive.on_leave(self)
Exemplo n.º 12
0
class EduLects(Screen):
    """
    @group Design: on_pre_enter, on_exams, on_participants
    @group Functionality: on_enter, on_stats, on_stats_target, on_lect_select, on_contact, on_edit, on_grade, on_quit, on_leave
    """

    appLogin.load_string("edu_lects")

    def on_pre_enter(self, *args):
        eduLects.load_buttons(self)
        eduLects.on_pre_enter(self)

    def on_enter(self, *args):
        appLogin.on_enter(self)

    @staticmethod
    def on_profile(dt):
        pages.append(EduProfile(name="EduProfile"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_lects():
        pages.append(EduLects(name="EduLects"))
        appReset.on_back(pages, screen)

    def on_stats(self):
        eduLects.on_statistics(self)

    def on_stats_target(self, target):
        if target == "student":
            select = self.ids["txt_id_body"].text
        else:
            select = self.ids["txt_lect_code"].text

        Cache.append("data", "type", target)
        Cache.append("data", "select", select)

        pages.append(EduStats(name="EduStats"))
        appReset.on_back(pages, screen)

    def on_lect_select(self, dt, dropdown, txt):
        eduLects.on_lect_select(self, dropdown, txt)

    @staticmethod
    def on_exam_add():
        pages.append(EduExam(name="EduExam"))
        appReset.on_back(pages, screen)

    def on_exams(self):
        eduLects.on_exams(self)

    def on_participants(self):
        eduLects.on_participants(self)

    @staticmethod
    def on_help():
        eduLects.on_help()

    def on_contact(self):
        eduLects.on_contact(self)

    def on_edit(self, no, dt):
        self.popup.dismiss()

        Cache.append("lect", "exam", self.ids["txt_info_head"].text)
        Cache.append("lect", "question", no)

        pages.append(EduEdit(name="EduEdit"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_grade():
        pages.append(EduGrade(name="EduGrade"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_live():
        pages.append(EduLive(name="EduLive"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_logout(dt):
        database_api.signOut(Cache.get("info", "token"),
                             Cache.get("info", "nick"))
        pages.append(AppLogin(name="AppLogin"))
        appReset.on_back(pages, screen)

    def on_quit(self, dt):
        appLogin.on_quit(self)

    def on_leave(self, *args):
        appLogin.on_leave(self)
Exemplo n.º 13
0
class StdLects(Screen):
    """
    @group Design: on_pre_enter
    @group Functionality: on_enter, on_stats, on_contact, on_lect_select, on_exam_join, on_quit, on_leave
    """

    appLogin.load_string("std_lects")

    def on_pre_enter(self, *args):
        eduLects.load_buttons(self)
        eduLects.on_pre_enter(self)

    def on_enter(self, *args):
        appLogin.on_enter(self)

    @staticmethod
    def on_profile(dt):
        pages.append(StdProfile(name="StdProfile"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_lects():
        pages.append(StdLects(name="StdLects"))
        appReset.on_back(pages, screen)

    def on_stats(self):
        eduLects.on_statistics(self)

    @staticmethod
    def on_stats_target(target):
        select = Cache.get("info", "id")

        Cache.append("data", "type", target)
        Cache.append("data", "select", select)

        pages.append(StdStats(name="StdStats"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_help():
        eduLects.on_help()

    def on_contact(self):
        eduLects.on_contact(self)

    def on_lect_select(self, dt, dropdown, txt):
        stdLects.on_lect_select(self, dropdown, txt)

    def on_exam_join(self):
        # if stdLects.on_exam_join(self):
        #     pages.append(StdLive(name="StdLive"))
        #     appReset.on_back(pages,
        #                      screen
        #                      )
        print "Join"
        stdLects.on_exam_join(self)
        pages.append(StdLive(name="StdLive"))
        appReset.on_back(pages, screen)

    @staticmethod
    def on_logout(dt):
        EduLects.on_logout(dt)

    def on_quit(self, dt):
        appLogin.on_quit(self)

    def on_leave(self, *args):
        stdLects.on_leave(self)
        appLogin.on_leave(self)