#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();
|
|
|
};
|