ctai/src/ctai_msg_table.h
2025-02-28 15:18:27 +08:00

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