#ifndef MESSAGESHOWAREA_H #define MESSAGESHOWAREA_H #include #include #include #include #include #include #include "model/data.h" //.h文件中,不宜使用namespace xxx using model::Message; //////////////////////////////////////////// /// 表示消息展示区 //////////////////////////////////////////// class MessageShowArea : public QScrollArea { Q_OBJECT public: MessageShowArea(); private: QWidget* container; }; //////////////////////////////////////////// /// 表示一个消息元素 /// 我们可能考虑要同时支持文本,文件,图片,视频,语音 //////////////////////////////////////////// class MessageItem : public QWidget { public: //isLeft表示当前的这个消息是否是左侧的消息 MessageItem(bool isLeft); //通过工厂方法创建MessageItem实例 static MessageItem* makeMessageItem(bool isLeft, const Message& message); private: bool isLeft; }; #endif // MESSAGESHOWAREA_H