Commit 1383e5bc authored by Elias Leinenweber's avatar Elias Leinenweber
Browse files

Passé vue de Classroom d'ImageButton à ChildWindow

parent 3898de28
/.vscode/
/build/
/include/SFML/
/lib/
imgui.ini
#ifndef CLASS_H
#define CLASS_H
#include <iostream>
#include <string>
#include <vector>
#include "imgui/imgui.h"
#include "controller/Game.h"
#include "view/Texturable.h"
......@@ -13,7 +14,8 @@ class Teacher;
class Classroom : public Texturable {
private:
static const int MAX_SIZE = 50; /**< taille maximum de la classe */
static const int MAX_SIZE = 50; /**< taille maximum de la classe */
static ImGuiID lastID;
std::vector<Student *> students; /**< élèves de la classe */
Teacher *teacher; /**< enseignant de la classe */
......
......@@ -5,40 +5,24 @@
#include <vector>
#include "model/Actor.h"
#include "model/Classroom.h"
#include "model/Subject.h"
class Subject;
class Classroom;
class Student : Actor {
class Student : public Actor {
private:
/**
* @brief Classe de l'élève
*
*/
/** @brief Classe de l'élève */
Classroom *classroom;
/**
* @brief Notes de l'élève
*
*/
/** @brief Notes de l'élève */
std::map<Subject *, std::vector<double>> grades;
/**
* @brief Humeur de l'élève
*
*/
/** @brief Humeur de l'élève */
double mood;
/**
* @brief Motivation de l'élève
*
*/
/** @brief Motivation de l'élève */
double motivation;
/**
* @brief Qualité de l'élève
*
*/
/** @brief Qualité de l'élève */
double skill;
public:
......
#ifndef SUBJECTH
#define SUBJECTH
#ifndef SUBJECT_H
#define SUBJECT_H
#include <string>
/**
* @brief Modélise une matière.
*/
class Subject {
private:
/**
* @brief Nom de la matière
*
*/
/** @brief Nom de la matière. */
std::string name;
/**
* @brief Coefficient de la matière
*
*/
/** @brief Coefficient de la matière. */
double coeff;
public:
/**
* @brief Construct une Matière
* @brief Crée une matière.
*
* @param name Nom de la Matière
* @param coeff Coefficient de la matière
* @param name le nom de la matière
* @param coeff le coefficient de la matière
*/
Subject(std::string name, double coeff);
~Subject();
Subject(const std::string &name, double coeff);
/**
* @brief Get le nom de la Matière
* @brief Modifie le nom de la matière.
*
* @return std::string
* @param name le nouveau nom de la matière
*/
std::string getName() { return name; }
void setName(const std::string &name) { this->name = name; }
/**
* @brief Set le nom de la matière
* @brief Renvoie le nom de la matière.
*
* @param name Nom de la matière
* @return le nom de la matière
*/
void setName(std::string name) { this->name; }
const std::string &getName() { return name; }
/**
* @brief Get le coefficient de la matière
* @brief Modifie le coefficient de la matière.
*
* @return double coefficient de la matière
* @param coeff le nouveau coefficient de la matière
*/
double getCoeff() { return coeff; }
void setCoeff(double coeff) { this->coeff = coeff; }
/**
* @brief Set le coefficient de la matière
* @brief Renvoie le coefficient de la matière.
*
* @param coeff coefficient de la matière
* @return le coefficient de la matière
*/
void setCoeff(double coeff) { this->coeff = coeff; }
double getCoeff() { return coeff; }
};
#endif
\ No newline at end of file
#endif /* SUBJECT_H */
......@@ -5,11 +5,20 @@
#include "model/Student.h"
#include "model/Teacher.h"
ImGuiID Classroom::lastID = 0;
void
Classroom::render() const
{
ImGui::ImageButton(texture, ImVec2(ImGui::GetIO().DisplaySize.x / 2.1,
ImGui::GetIO().DisplaySize.y / 2.2));
if (ImGui::BeginChild(++lastID,
ImVec2(ImGui::GetIO().DisplaySize.x / 2.1,
ImGui::GetIO().DisplaySize.y / 2.2))) {
ImGui::Image(texture);
for (const Student *student : students) {
student->render();
}
}
ImGui::EndChild();
}
Classroom::~Classroom()
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment