From f0d0d83a6e8e1a7fb7a7d831eb7af27c18fdafdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Paukert?= <paukeluk@fit.cvut.cz> Date: Sun, 5 Apr 2020 14:41:19 +0200 Subject: [PATCH] MainPage redesigned --- querying/resources/style.css | 9 +++++++-- querying/src/ui_wt/MainPage.cpp | 30 ++++++++++++++++-------------- querying/src/ui_wt/MainPage.h | 1 + 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/querying/resources/style.css b/querying/resources/style.css index cb1c002..e726ae7 100644 --- a/querying/resources/style.css +++ b/querying/resources/style.css @@ -20,13 +20,18 @@ button { .navigation a { display: block; - background-color: #D3D3D3; + background-color: #ffffff; text-decoration: none; padding: 10px; } .navigation a:hover { - background-color: #A9A9A9; + background-color: #dcdcdc; +} + +.navigation > li > a { + border-radius: 5px; + margin-top: 3px; } .navigation > .itemselected > a { diff --git a/querying/src/ui_wt/MainPage.cpp b/querying/src/ui_wt/MainPage.cpp index 27db93c..5ab1eb4 100644 --- a/querying/src/ui_wt/MainPage.cpp +++ b/querying/src/ui_wt/MainPage.cpp @@ -26,29 +26,22 @@ MainPage::MainPage(const Wt::WEnvironment& env) auto availableDocuments = collection.fetchCollection(); auto container = root()->addWidget(Wt::cpp14::make_unique<Wt::WContainerWidget>()); - container->addNew<Wt::WText>("<h1>Available books to display</h1>"); - auto buttonPtr = Wt::cpp14::make_unique<Wt::WPushButton>("Show me more!"); auto button = buttonPtr.get(); - auto contents = Wt::cpp14::make_unique<Wt::WStackedWidget>(); - std::string path; - Wt::WMenu *menu = container->addNew<Wt::WMenu>(contents.get()); + container->addNew<Wt::WText>("<h1>Available books to display</h1>"); + + Wt::WMenu *menu = container->addNew<Wt::WMenu>(); menu->setStyleClass("navigation"); - for (int i = 0; i < 10; i++) - { - path = availableDocuments.at(i).name; - menu->addItem(getName(path), Wt::cpp14::make_unique<Wt::WText>(getDocument(path))); + for (int i = 0; i < 10; i++) { + menu->addItem(getName(availableDocuments.at(i).name)); } + menu->select(0); container->addWidget(std::move(buttonPtr)); - container->addWidget(std::move(contents)); button->clicked().connect([=] { - container->clear(); // deletes everything from current container - std::string path = availableDocuments.at(menu->currentIndex()).name; - container->addNew<Wt::WText>("<h1>" + getName(path) + "</h1>"); - container->addNew<Wt::WText>(getDocument(path)); + displayDetail(container, availableDocuments.at(menu->currentIndex()).name); }); } @@ -97,3 +90,12 @@ void MainPage::encode(std::string & data) { } data.swap(buffer); } + +void MainPage::displayDetail(Wt::WContainerWidget * container, const std::string & path) +{ + // deletes everything from current container + container->clear(); + // Show similar books + container->addNew<Wt::WText>("<h1>" + getName(path) + "</h1>"); + container->addNew<Wt::WText>(getDocument(path)); +} diff --git a/querying/src/ui_wt/MainPage.h b/querying/src/ui_wt/MainPage.h index f5bbf53..c7abb6c 100644 --- a/querying/src/ui_wt/MainPage.h +++ b/querying/src/ui_wt/MainPage.h @@ -12,4 +12,5 @@ private: std::string getName(const std::string & path); std::string getDocument(const std::string & path); void encode(std::string & content); + void displayDetail(Wt::WContainerWidget * container, const std::string & path); }; -- GitLab