admin
2025-07-17 6cd92a169cbc0db35042f243a09d976fd3e1445c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#pragma once
 
 
// CProjectBuilderDlg 对话框
#include <string>
#include "ConfigUtil.h"
#include <list>
 
#define MAX_PROJECT_COUNT 8
using namespace std;
 
// 项目编辑的控件
struct ProjectControls{
    list<CStatic*> labels;
   CEdit* editName;
   CEdit* editDir;
   CEdit* editOutputDir;
   CEdit* editOutputFile;
   CEdit* editScriptFile;
   CEdit* editTargetServerIP;
   CEdit* editTargetServerPort;
   CEdit* editTargetServerUserName;
   CEdit* editTargetServerPwd;
   CEdit* editTargetServerDir;
   CEdit* editTargetAppFile;
   CEdit* editTargetAppRestartFile;
 
   CStatic* labelMsg;
   CButton* btnBuild;
   CButton* btnSave;
};
 
class CProjectBuilderDlg : public CDialogEx
{
    DECLARE_DYNAMIC(CProjectBuilderDlg)
public:
    CProjectBuilderDlg(CWnd* pParent = nullptr);   // 标准构造函数
    virtual ~CProjectBuilderDlg();
 
// 对话框数据
#ifdef AFX_DESIGN_TIME
    enum { IDD = IDD_DIALOG_PROJECT_BUILDER };
#endif
 
private :
    bool validateIPv4(const std::string& ip);
    ProjectBuildInfo* getProjectBuildInfo(int index);
 
    // 项目控件集合   
    list<ProjectControls> projectControlsList;
 
    void saveProjectBuildInfo(int index);
 
    void createLabel(CStatic* label,CString text, CRect rect);
 
    void createBtn(CButton* btn, CString text, CRect rect, UINT id);
 
    void createEdit(CEdit* edit, CRect rect, UINT id);
 
    void createProjectView(ProjectControls& controls,int index, int x, int y);
 
    static void buildProject(ServerInfo* buildServer, ProjectBuildInfo* info, ProjectControls controls,string cacheDir, CProjectBuilderDlg *context);
 
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
 
    DECLARE_MESSAGE_MAP()
public:
    afx_msg void OnBnClickedButtonBuildServerSave();
    afx_msg void OnBnClickedButtonBuild();
    afx_msg void OnBnClickedButtonSave();
    afx_msg void OnBnClickedButtonSaveLocalSettings();
    afx_msg void OnBnClickedTest1();
    virtual BOOL OnInitDialog();
 
 
};