131 lines
2.5 KiB
C++
131 lines
2.5 KiB
C++
#pragma once
|
|
#include "singleton.h"
|
|
#include <set>
|
|
#include "SH_AI.h"
|
|
|
|
|
|
class CAskAIPalette : public CAdUiPalette
|
|
{
|
|
DECLARE_DYNAMIC(CAskAIPalette)
|
|
|
|
public:
|
|
CAskAIPalette();
|
|
~CAskAIPalette();
|
|
|
|
public:
|
|
void sendTextToAnswer(LPCTSTR lpszText);
|
|
|
|
void setFocusToAsk();
|
|
|
|
void refreshAiCloud();
|
|
|
|
static CSize getControlWndTextSize(CWnd *pS, CFont &font, LPCTSTR psz = NULL);
|
|
|
|
private:
|
|
|
|
virtual void GetFloatingMinSize(long *pnMinWidth, long *pnMinHeight);
|
|
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
|
|
virtual bool CanFrameworkTakeFocus();
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
afx_msg void OnWindowPosChanged(WINDOWPOS FAR* lpwndpos);
|
|
afx_msg void OnPaint();
|
|
afx_msg void OnBtnClickNewChat();
|
|
afx_msg void OnBtnClickUpload();
|
|
|
|
afx_msg void OnBtnClickTranslate();
|
|
afx_msg void OnBtnClickExport();
|
|
afx_msg void OnBtnClickSend();
|
|
afx_msg void OnBtnClickSetting();
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnComboBoxModelListSelChange();
|
|
afx_msg void OnComboBoxModelListDropDown();
|
|
|
|
void CalcCtrlPosition();
|
|
|
|
bool hasActiveRequest();
|
|
|
|
|
|
private:
|
|
// 答案窗口
|
|
CEdit *m_pEdAnswer;
|
|
|
|
// 提问窗口
|
|
CEdit *m_pEdAsk;
|
|
|
|
// 新建聊天
|
|
CAcUiBitmapButton *m_pBtnNewChat;
|
|
|
|
// 上传文件
|
|
CAcUiBitmapButton *m_pBtnUploadFile;
|
|
|
|
// 翻译
|
|
CAcUiBitmapButton *m_pBtnTranslate;
|
|
|
|
// 导出记录
|
|
CAcUiBitmapButton *m_pBtnExport;
|
|
|
|
// 发送
|
|
CAcUiBitmapButton *m_pBtnSend;
|
|
|
|
// 设置
|
|
CAcUiBitmapButton *m_pBtnSetting;
|
|
|
|
// 云供应商
|
|
CStatic *m_pStaticCloudName;
|
|
|
|
// 模型列表
|
|
CAcUiComboBox *m_pComboModelList;
|
|
|
|
|
|
CFont m_fontEdit;
|
|
CFont m_fontBTN;
|
|
|
|
// chat 配置
|
|
SHAI::ChatConfig m_chatConfig;
|
|
|
|
// 供应商配置
|
|
SHAI::AICloud *m_pAiCloud;
|
|
|
|
};
|
|
|
|
class CAskAIPaletteSet: public CAdUiPaletteSet
|
|
{
|
|
DECLARE_DYNAMIC(CAskAIPaletteSet);
|
|
public:
|
|
CAskAIPaletteSet();
|
|
~CAskAIPaletteSet();
|
|
bool CreatePaletteSet(LPCTSTR pszTitle);
|
|
DECLARE_MESSAGE_MAP()
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnDestroy();
|
|
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
protected:
|
|
virtual bool OnClosing();
|
|
virtual void GetFloatingMinSize(long *plMinWidth, long *plMinHeight);
|
|
virtual void SizeChanged(CRect *lpRect, BOOL bFloating, int flags);
|
|
virtual void GetMinimumSize(CSize &size);
|
|
virtual void GetMaximumSize(CSize &size);
|
|
|
|
public:
|
|
void sendTextToAnswer(LPCTSTR lpszText);
|
|
|
|
void setFocusToAsk();
|
|
|
|
void refreshAiCloud();
|
|
|
|
private:
|
|
|
|
CAskAIPalette *m_pAiPalette;
|
|
|
|
public:
|
|
static void start();
|
|
static void setAiCloud();
|
|
};
|
|
|
|
typedef Singleton<CAskAIPaletteSet> g_aiPaletteSet;
|
|
|