Set up basic request layout to fill with logic.
This commit is contained in:
@@ -22,5 +22,31 @@
|
|||||||
RequestInterface::RequestInterface(WebInterface* app)
|
RequestInterface::RequestInterface(WebInterface* app)
|
||||||
{
|
{
|
||||||
this->app = app;
|
this->app = app;
|
||||||
|
mainLayout = new Wt::WVBoxLayout();
|
||||||
|
searchHeader = new Wt::WContainerWidget();
|
||||||
|
searchLayout = new Wt::WHBoxLayout();
|
||||||
|
searchBox = new Wt::WLineEdit();
|
||||||
|
searchBtn = new Wt::WPushButton();
|
||||||
|
resultBody = new Wt::WContainerWidget();
|
||||||
|
resultLayout = new Wt::WGridLayout();
|
||||||
|
|
||||||
|
this->setLayout(mainLayout);
|
||||||
|
mainLayout->addWidget(searchHeader,0,Wt::AlignmentFlag::AlignCenter);
|
||||||
|
mainLayout->addWidget(resultBody);
|
||||||
|
|
||||||
|
searchHeader->setLayout(searchLayout);
|
||||||
|
searchBtn->setTextFormat(Wt::XHTMLText);
|
||||||
|
searchBtn->decorationStyle().font().setFamily(Wt::WFont::Default,"FontAwesome");
|
||||||
|
searchBtn->setText("");
|
||||||
|
searchLayout->addWidget(searchBox);
|
||||||
|
searchLayout->addWidget(searchBtn);
|
||||||
|
//TODO:btn connections
|
||||||
|
|
||||||
|
resultBody->setLayout(resultLayout);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void RequestInterface::trackRequestClicked(AudioTrack track)
|
||||||
|
{
|
||||||
//TODO
|
//TODO
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,12 @@
|
|||||||
|
|
||||||
#include <Wt/WContainerWidget>
|
#include <Wt/WContainerWidget>
|
||||||
#include "../WebInterface.h"
|
#include "../WebInterface.h"
|
||||||
|
#include <Wt/WPushButton>
|
||||||
|
#include <Wt/WHBoxLayout>
|
||||||
|
#include <Wt/WVBoxLayout>
|
||||||
|
#include <Wt/WGridLayout>
|
||||||
|
#include <Wt/WLineEdit>
|
||||||
|
#include "TrackDetails.h"
|
||||||
|
|
||||||
class RequestInterface : public Wt::WContainerWidget
|
class RequestInterface : public Wt::WContainerWidget
|
||||||
{
|
{
|
||||||
@@ -29,8 +35,42 @@ public:
|
|||||||
RequestInterface(WebInterface* app);
|
RequestInterface(WebInterface* app);
|
||||||
WebInterface* app;
|
WebInterface* app;
|
||||||
|
|
||||||
|
class RequestItem : public Wt::WContainerWidget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TrackDetails* track;
|
||||||
|
Wt::WHBoxLayout* layout;
|
||||||
|
Wt::WPushButton* voteBtn;
|
||||||
|
RequestInterface* parent;
|
||||||
|
void requestClicked() {
|
||||||
|
this->parent->trackRequestClicked(track->extractTrackFromDetails());
|
||||||
|
};
|
||||||
|
RequestItem(RequestInterface* parent, AudioTrack track) {
|
||||||
|
this->track = new TrackDetails();
|
||||||
|
this->track->updateWithTrackDetails(track);
|
||||||
|
layout = new Wt::WHBoxLayout();
|
||||||
|
voteBtn = new Wt::WPushButton();
|
||||||
|
this->parent = parent;
|
||||||
|
|
||||||
|
this->setLayout(layout);
|
||||||
|
voteBtn->setTextFormat(Wt::XHTMLText);
|
||||||
|
voteBtn->decorationStyle().font().setFamily(Wt::WFont::Default,"FontAwesome");
|
||||||
|
voteBtn->setText("");
|
||||||
|
layout->addWidget(this->track,1,Wt::AlignmentFlag::AlignMiddle | Wt::AlignmentFlag::AlignLeft);
|
||||||
|
layout->addWidget(voteBtn,0,Wt::AlignmentFlag::AlignMiddle | Wt::AlignmentFlag::AlignRight);
|
||||||
|
voteBtn->clicked().connect(this, &RequestItem::requestClicked);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
Wt::WVBoxLayout* mainLayout;
|
||||||
Wt::WContainerWidget* searchHeader;
|
Wt::WContainerWidget* searchHeader;
|
||||||
|
Wt::WHBoxLayout* searchLayout;
|
||||||
|
Wt::WLineEdit* searchBox;
|
||||||
|
Wt::WPushButton* searchBtn;
|
||||||
Wt::WContainerWidget* resultBody;
|
Wt::WContainerWidget* resultBody;
|
||||||
|
Wt::WGridLayout* resultLayout;
|
||||||
|
|
||||||
|
void trackRequestClicked(AudioTrack track);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // REQUESTINTERFACE_H
|
#endif // REQUESTINTERFACE_H
|
||||||
|
|||||||
Reference in New Issue
Block a user