package reading.models import enumeratum._ sealed trait Program extends EnumEntry with Ordered[Program] { import Program._ def compare(that: Program): Int = { values.indexOf(that) - values.indexOf(this) } def prettyPrint(): String = this match { case Monstre => "Le monstre, aux limites de l'humain" case RecitAventure => "Récits d'aventures" case CreationPoetique => "Récit de création, création poétique" case Resister => "Résister au plus fort : ruses, mensonges et masques" case VoyageEtAventure => "Le voyage et l'aventure" case Autrui => "Avec autrui : familles, amis, réseaux" case UniversNouveaux => "Imaginer des univers nouveaux" case Heros => "Héros, héroïnes et héroïsmes" case HommeEtNature => "L'être humain est-il maître de la nature ?" case DireAmour => "Dire l'amour" case Valeurs => "Individu et société : confrontations de valeurs ?" case Reel => "La fiction pour interroger le réel" case Informer => "Informer, s'informer, déformer ?" case Ville => "La ville, lieu de tous les possibles ?" case SeRaconter => "Se raconter, se représenter" case TraversSociete => "Dénoncer les travers de la société" case VisionsPoetiques => "Visions poétiques du monde" case Agir => "Agir dans la cité : individu et pouvoir" case ProgresReveScientifique => "Progrès et rêves scientifiques" } } object Program extends Enum[Program] { val values = findValues case object Monstre extends Program case object RecitAventure extends Program case object CreationPoetique extends Program case object Resister extends Program case object VoyageEtAventure extends Program case object Autrui extends Program case object UniversNouveaux extends Program case object Heros extends Program case object HommeEtNature extends Program case object DireAmour extends Program case object Valeurs extends Program case object Reel extends Program case object Informer extends Program case object Ville extends Program case object SeRaconter extends Program case object TraversSociete extends Program case object VisionsPoetiques extends Program case object Agir extends Program case object ProgresReveScientifique extends Program }