Files

130 lines
2.5 KiB
C++
Raw Permalink Normal View History

2026-10-04 00:04:20 +08:00
#pragma once
2026-09-28 15:28:50 +08:00
#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:
2026-10-04 00:04:20 +08:00
// 答案窗口
2026-09-28 15:28:50 +08:00
CEdit *m_pEdAnswer;
2026-10-04 00:04:20 +08:00
// 提问窗口
2026-09-28 15:28:50 +08:00
CEdit *m_pEdAsk;
2026-10-04 00:04:20 +08:00
// 新建聊天
2026-09-28 15:28:50 +08:00
CAcUiBitmapButton *m_pBtnNewChat;
2026-10-04 00:04:20 +08:00
// 上传文件
2026-09-28 15:28:50 +08:00
CAcUiBitmapButton *m_pBtnUploadFile;
2026-10-04 00:04:20 +08:00
// 翻译
2026-09-28 15:28:50 +08:00
CAcUiBitmapButton *m_pBtnTranslate;
2026-10-04 00:04:20 +08:00
// 导出记录
2026-09-28 15:28:50 +08:00
CAcUiBitmapButton *m_pBtnExport;
2026-10-04 00:04:20 +08:00
// 发送
2026-09-28 15:28:50 +08:00
CAcUiBitmapButton *m_pBtnSend;
2026-10-04 00:04:20 +08:00
// 设置
2026-09-28 15:28:50 +08:00
CAcUiBitmapButton *m_pBtnSetting;
2026-10-04 00:04:20 +08:00
// 云供应商
2026-09-28 15:28:50 +08:00
CStatic *m_pStaticCloudName;
2026-10-04 00:04:20 +08:00
// 模型列表
2026-09-28 15:28:50 +08:00
CAcUiComboBox *m_pComboModelList;
CFont m_fontEdit;
CFont m_fontBTN;
2026-10-04 00:04:20 +08:00
// chat 配置
2026-09-28 15:28:50 +08:00
SHAI::ChatConfig m_chatConfig;
2026-10-04 00:04:20 +08:00
// 供应商配置
2026-09-28 15:28:50 +08:00
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;