QtNovelUI/WordsIDE/messageview.cpp

29 lines
815 B
C++

#include "messageview.h"
#include <QVBoxLayout>
using namespace Components;
using namespace SplitFrame;
QHash<SplitFrame::SplitPanel *, MessageView *> MessageView::panel_map;
MessageView::MessageView(SplitFrame::SplitPanel *ins, QStandardItemModel *base)
: FnWrap<MessageView, false>(ins), 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);
ui_present->setMouseTracking(true);
}
MessageView *MessageView::gen(SplitFrame::SplitPanel *host, QStandardItemModel *base) {
if (panel_map.contains(host))
return panel_map[host];
auto vins = new MessageView(host, base);
panel_map[host] = vins;
return vins;
}