QtNovelUI/WordsIDE/messageview.cpp

29 lines
815 B
C++
Raw Permalink Normal View History

#include "messageview.h"
#include <QVBoxLayout>
using namespace Components;
using namespace SplitFrame;
2023-12-30 05:04:51 +00:00
QHash<SplitFrame::SplitPanel *, MessageView *> MessageView::panel_map;
2023-12-30 05:04:51 +00:00
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);
}
2023-12-30 05:04:51 +00:00
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;
}