QtNovelUI/WordsIDE/messagespresent.cpp

28 lines
864 B
C++

#include "messagespresent.h"
#include <QVBoxLayout>
using namespace Components;
using namespace SplitFrame;
QHash<SplitFrame::ViewPresent *, MessagesPresent *> MessagesPresent::panel_map;
MessagesPresent::MessagesPresent(SplitFrame::ViewPresent *ins, QStandardItemModel *base, QWidget *parent)
: FnWrap<MessagesPresent, false>(ins, parent), ui_present(new QTableView(this)), items_present(base) {
auto layout = new QVBoxLayout(this);
layout->setMargin(0);
layout->setSpacing(0);
layout->addWidget(ui_present);
ui_present->setModel(items_present);
}
MessagesPresent *MessagesPresent::gen(SplitFrame::ViewPresent *host, QStandardItemModel *base, QWidget *parent) {
if (panel_map.contains(host))
return panel_map[host];
auto vins = new MessagesPresent(host, base, parent);
panel_map[host] = vins;
return vins;
}