#include <imgui.h>
#include "cours_popup.h"

#define CLOSE_WINDOW_WIDTH  180
#define CLOSE_WINDOW_HEIGHT  50

void afficher_cours_modal_popup(DigitalModulationType dType)
{
     ///   Dessin du bouton "Rappels de cours "

    // Centrage de la fenêtre modale
    ImVec2 center = ImGui::GetMainViewport()->GetCenter();
    ImGui::SetNextWindowPos(center, ImGuiCond_Appearing, ImVec2(0.5f, 0.5f));
    ImVec2 displaySize = ImGui::GetIO().DisplaySize;
    ImGui::SetNextWindowSize(ImVec2(displaySize.x * 0.8f,displaySize.y * 0.8f), ImGuiCond_Always);

    ImGui::SetNextItemWidth(CLOSE_WINDOW_WIDTH);
    float largeur_fenetre = ImGui::GetContentRegionAvail().x;

    ImGui::NewLine();
    ImGui::Dummy(ImVec2((largeur_fenetre - CLOSE_WINDOW_WIDTH) * 0.5f, 0.0));
    ImGui::SameLine();

    if (ImGui::Button("Rappels de cours"))
        ImGui::OpenPopup("Rappels de cours");

    if (ImGui::BeginPopupModal("Rappels de cours", NULL, ImGuiWindowFlags_AlwaysAutoResize))
    {
        ImGui::BeginChild("Scroll",ImVec2(displaySize.x * 0.8, displaySize.y * 0.65),true, ImGuiWindowFlags_AlwaysVerticalScrollbar);

        switch (dType)
        {
            case MOD_OOK_TYPE:
//                 ImGui::TextWraped(OOK_COURSE_DOC);
//              break;
            case MOD_ASK_TYPE:
            case MOD_MASK_TYPE:
            case MOD_FSK_TYPE:
            case MOD_MFSK_TYPE:
            case MOD_BPSK_TYPE:
            case MOD_DPSK_TYPE:
            case MOD_4_QAM_TYPE:
            case MOD_16_QAM_TYPE:
              break;

            default:
              break;
        }

        ImGui::TextWrapped("Je rajoute plein de mot afin que le texte soit tres long genre vraiment tres long BLABLLALBLALBALBLABLBLALABLBALALBLABLLBALBALBALBALBLAABLLALABLBAL ");
        ImGui::Separator();

        for (int i = 0; i < 50; i++)
        {
            ImGui::Text("Y'a vraiment plein d'information dans cette phrase dis donc (c'est faux) Ligne  %d", i + 1);
        }

        ImGui::EndChild();

        largeur_fenetre = ImGui::GetContentRegionAvail().x;
        ImGui::NewLine();

        ImGui::Dummy(ImVec2((largeur_fenetre - CLOSE_WINDOW_WIDTH) * 0.5f, 0.0));
        ImGui::SameLine();

        if (ImGui::Button("Fermer la fenêtre", ImVec2(CLOSE_WINDOW_WIDTH, 0)))
            ImGui::CloseCurrentPopup();
        ImGui::EndPopup();
    }
}
