61 lines
1.3 KiB
C++
61 lines
1.3 KiB
C++
#ifndef DETAILEDTOWN_H
|
|
#define DETAILEDTOWN_H
|
|
|
|
#include <QMap>
|
|
|
|
#include "PageBaseWidget.h"
|
|
|
|
#include "DetailedBaseWidget.h"
|
|
#include "SequenceFrame.h"
|
|
|
|
namespace Ui {
|
|
class DetailedTown;
|
|
}
|
|
|
|
class DetailedTown : public PageBaseWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit DetailedTown(MainWindow* parent = nullptr);
|
|
~DetailedTown();
|
|
|
|
PageType GetPageType() const override { return PageBaseWidget::PageType::PT_DetailedTown; }
|
|
void SetCurrent(DetailedType dt);
|
|
|
|
void SetSequencePos(const QPoint& pos);
|
|
void SetMediaInfo(MediaInfo* mediaInfo) {
|
|
currentMediaInfo_ = mediaInfo;
|
|
}
|
|
|
|
protected:
|
|
void keyPressEvent(QKeyEvent* event) override;
|
|
void keyReleaseEvent(QKeyEvent* event) override;
|
|
void mouseReleaseEvent(QMouseEvent* event) override;
|
|
|
|
private:
|
|
void OnShowLast();
|
|
void OnShowNext();
|
|
void OnEnterHome();
|
|
|
|
|
|
void InitDetailedWidget();
|
|
void InitLastNextButton();
|
|
void InitSequenceFrame();
|
|
bool ShowIndex(DetailedType dt);
|
|
|
|
void AddDetailedWidget(DetailedBaseWidget* widget);
|
|
|
|
private:
|
|
Ui::DetailedTown *ui;
|
|
|
|
int m_current{ 0 };
|
|
QMap<DetailedType, DetailedBaseWidget*> m_detailedBaseWidgets;
|
|
|
|
SequenceFrame* sequenceFrame_{ nullptr };
|
|
MediaInfo* currentMediaInfo_{ nullptr };
|
|
bool keyYPressed{ false };
|
|
};
|
|
|
|
#endif // DETAILEDTOWN_H
|