From 0ca9c535c5b0d4375aeac9a185c9537609d03157 Mon Sep 17 00:00:00 2001 From: p2405951 Date: Fri, 20 Jun 2025 12:00:19 +0200 Subject: [PATCH] classe web+ test main --- main.cpp | 32 +++++++++++++++++----- web.cpp | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ web.h | 17 ++++++++++++ 3 files changed, 125 insertions(+), 6 deletions(-) create mode 100644 web.cpp create mode 100644 web.h diff --git a/main.cpp b/main.cpp index 37e1cf6..9d75f0f 100644 --- a/main.cpp +++ b/main.cpp @@ -3,25 +3,45 @@ #include #include #include - +#include using namespace std; int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; - QFile file("data/parcours1.json"); - if (!file.open(QIODevice::ReadOnly)) { + QFile file1("data/parcours1.json"); + if (!file1.open(QIODevice::ReadOnly)) { qWarning() << "Impossible d'ouvrir le fichier data/parcours1.json"; return -1; } - Path* p = new Path(&file); - file.close(); + Path* p = new Path(&file1); + file1.close(); + + QFile file2("data/parcours1.json"); + if (!file2.open(QIODevice::ReadOnly)) { + qWarning() << "Impossible d'ouvrir le fichier data/parcours2.json"; + delete p; + return -1; + } + Path* p2 = new Path(&file2); + file2.close(); + QList paths = w.getPath(); paths.append(p); + paths.append(p2); w.setPath(paths); + w.setCurrentPath(p); w.exportHTMLMap(); - //w.show(); + + w.setCurrentPath(p2); + w.exportHTMLMap(); + + Web u(w.getPath()); + u.siteHtml(); + + delete p; + delete p2; return a.exec(); } diff --git a/web.cpp b/web.cpp new file mode 100644 index 0000000..488786f --- /dev/null +++ b/web.cpp @@ -0,0 +1,82 @@ +#include "web.h" +#include +Web::Web() +{} + +Web::Web(const QList& list) : list(list) +{} + +void Web::siteHtml() +{ + std::ofstream file("index.html"); + if (!file.is_open()) { + qWarning("Impossible d'ouvrir le fichier index.html"); + return; + } + + file << R"( + + + + Liste des parcours + + + +

Liste des parcours

+
    +)"; + + int index = 1; + for (const Path* p : list) { + QString fileName = QString("parcours%1.html").arg(index); + QString name = p->getName(); + file << "
  • " + << name.toStdString() << "
  • \n"; + ++index; + } + + file << R"(
+ + +)"; + + file.close(); +} diff --git a/web.h b/web.h new file mode 100644 index 0000000..81a4b6b --- /dev/null +++ b/web.h @@ -0,0 +1,17 @@ +#ifndef WEB_H +#define WEB_H +#include +#include +#include "path.h" +class Web +{ +private: + QList list; +public: + Web(); + Web(const QList &list); + void siteHtml(); + +}; + +#endif // WEB_H