Files
qTier/tierrow.hpp

52 lines
1.2 KiB
C++

#ifndef TIERROW_HPP
#define TIERROW_HPP
#include "tiercard.hpp"
#include "tierrowtitlecard.hpp"
#include "flowlayout.h"
#include <QWidget>
#include <QDrag>
class TierRow : public QWidget
{
Q_OBJECT
public:
using IdType = TierRowTitleCard::IdType;
static TierRow* create(QWidget* parent = nullptr);
static TierRow* getFromId(IdType id);
~TierRow();
void addCard(TierCard* card);
TierCard* takeCard(uint32_t id);
void setColor(QColor color);
QColor color();
void setText(QString text);
QString text();
uint32_t id();
protected:
void resizeEvent(QResizeEvent* event) override;
// void mousePressEvent(QMouseEvent* event) override;
void dropEvent(QDropEvent *event) override;
void dragEnterEvent(QDragEnterEvent *event) override;
void dragMoveEvent(QDragMoveEvent *event) override;
private:
explicit TierRow(IdType id, QWidget* parent = nullptr);
TierRowTitleCard* titleCard;
QWidget* bgFadeContainer;
QWidget* cardContainer;
QLayout* cardLayout;
QColor _color;
void recalcMaxHeight();
inline static std::unordered_map<IdType, TierRow*> idMap;
public slots:
void cardResize(QRect newSize);
signals:
};
#endif // TIERROW_HPP