2023-08-29 04:18:41 +00:00
|
|
|
#include "messageview.h"
|
|
|
|
|
|
|
|
#include <QVBoxLayout>
|
|
|
|
|
|
|
|
using namespace Components;
|
|
|
|
using namespace SplitFrame;
|
|
|
|
|
|
|
|
QHash<SplitFrame::ViewPresent *, MessageView *> MessageView::panel_map;
|
|
|
|
|
2023-08-31 15:33:45 +00:00
|
|
|
MessageView::MessageView(SplitFrame::ViewPresent *ins, QStandardItemModel *base)
|
|
|
|
: FnWrap<MessageView, false>(ins), ui_present(new QTableView(this)), items_present(base) {
|
2023-08-29 04:18:41 +00:00
|
|
|
auto layout = new QVBoxLayout(this);
|
|
|
|
layout->setMargin(0);
|
|
|
|
layout->setSpacing(0);
|
|
|
|
|
|
|
|
layout->addWidget(ui_present);
|
|
|
|
ui_present->setModel(items_present);
|
2023-08-31 15:33:45 +00:00
|
|
|
ui_present->setMouseTracking(true);
|
2023-08-29 04:18:41 +00:00
|
|
|
}
|
|
|
|
|
2023-08-31 15:33:45 +00:00
|
|
|
MessageView *MessageView::gen(SplitFrame::ViewPresent *host, QStandardItemModel *base) {
|
2023-08-29 04:18:41 +00:00
|
|
|
if (panel_map.contains(host))
|
|
|
|
return panel_map[host];
|
|
|
|
|
2023-08-31 15:33:45 +00:00
|
|
|
auto vins = new MessageView(host, base);
|
2023-08-29 04:18:41 +00:00
|
|
|
panel_map[host] = vins;
|
|
|
|
return vins;
|
|
|
|
}
|