Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

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;