Skip to content
Snippets Groups Projects
choice_UI.py 2.10 KiB
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from choix import Choix
from menu_UI import Menu_UI
from generic_UI import Text_UI, YN_UI, Float_UI, Numeric_UI
from asset_list_UI import AssetList_UI
from UI_colors import colors

class Choice_UI:
    def __init__(self, choice, parentMenu):
        self.choice = choice
        self.parentMenu = parentMenu
        self.color = colors['Choice_UI']

    def get_asset_list(self):
        return self.parentMenu.get_asset_list()

    def save(self):
        return self.parentMenu.save()

    def isGD(self):
        return self.parentMenu.isGD()

    def isQCM(self):
        return self.parentMenu.isQCM()

    def modifyAttributes(self):
        print("Pour toutes les questions suivantes, laisser vide pour garder la valeur existante")
        i = Text_UI("Identifiant",
            continueAsking = Choix.id_exists,
            verification_prompt='Identifiant existant', default=self.choice.mid, color=self.color).show()
        img = AssetList_UI(self.get_asset_list(), self).chooseOrDel("Image", self.choice.image)
        s = AssetList_UI(self.get_asset_list(), self).chooseOrDel("Son", self.choice.son)
        d = Text_UI(f"Description\n{self.choice.desc}", default=self.choice.desc, color=self.color).show()
        if self.isQCM():
            c = YN_UI(f"Bonne réponse ({self.choice.correct})", allow_empty=True, default=self.choice.correct, color=self.color).show()
            f = AssetList_UI(self.get_asset_list(), self).chooseOrDel("Feedback", self.choice.feedback)
            self.choice.update_attributes(i, img, s, c, f, d)
        elif self.isGD():
            n = Numeric_UI(f"N° de la zone où le choix doit être déposé (0→distracteur)\n({self.choice.num_zone})", default = self.choice.num_zone, color=self.color).show()
            if n > 0:
                img_z = AssetList_UI(self.get_asset_list(), self).chooseOrDel("Image de la drop zone", self.choice.img_zone)
            else:
                img_z = None
            self.choice.update_attributes(i, img, s, n, img_z, d)
        self.save()
        self.parentMenu.mainMenu()

if __name__ == "__main__":
    pass