32 lines
826 B
C++
32 lines
826 B
C++
#ifndef CTAI_MSG_TABLE_H
|
|
#define CTAI_MSG_TABLE_H
|
|
|
|
#include <QListWidget>
|
|
#include <QScrollBar>
|
|
#include "ctai_textedit.h"
|
|
class ctai_msg_table : public QListWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
ctai_msg_table(QWidget *parent = nullptr);
|
|
~ctai_msg_table();
|
|
|
|
// 添加一条新消息
|
|
void add_message(const model_data &message);
|
|
// 获取当前选中的消息widget
|
|
ctai_textedit *current_message() const;
|
|
|
|
protected:
|
|
void resizeEvent(QResizeEvent *event) override;
|
|
void showEvent(QShowEvent *event) override;
|
|
|
|
private slots:
|
|
void on_item_clicked(QListWidgetItem *item);
|
|
|
|
private:
|
|
// 创建新的消息项
|
|
QListWidgetItem *create_message_item(ctai_textedit *message_widget);
|
|
void update_item_height(QListWidgetItem* item, ctai_textedit* widget);
|
|
void update_items_width();
|
|
};
|
|
#endif |