-
Mathieu Loiseau authored68d7763e
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