#if !defined(AFX_SETDATASOURCEDLG_H__8BC50504_1EA0_4EB3_BF2F_AB365AA1BBA5__INCLUDED_) #define AFX_SETDATASOURCEDLG_H__8BC50504_1EA0_4EB3_BF2F_AB365AA1BBA5__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif #include "Resource.h" #include #include class CSetDataSourceDlg : public CDialog { public: CSetDataSourceDlg(CWnd* pParent = NULL); //{{AFX_DATA(CSetDataSourceDlg) enum { IDD = IDD_SETDATAFOUNTAINDLG }; CComboBox m_comDataSouceType; int m_nDataSourceType; int m_nLandForm; //}}AFX_DATA //{{AFX_VIRTUAL(CSetDataSourceDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL public: //得到选择的数据源类型索引 int GetDataSourceType(); void SetSelEntity(Entity ent); // 获取有效数据源 cet 2010.4.14 add void GetPickSet(PickSet &ssAll); // 设置外部参照实体 cet 2011.12.2 add void SetExternalBlk(Entity &ent); // 设置实体是否为外部参照 cet 2011.12.2 add void SetExternalBlk(bool bExternalBlk); // 设置外部参照转换矩阵 cet 2011.12.2 add void SetExnternalBlkMat(const AcGeMatrix3d &mat); protected: //{{AFX_MSG(CSetDataSourceDlg) virtual BOOL OnInitDialog(); virtual void OnOK(); afx_msg void OnBtnAddDelDataSource(); afx_msg void OnSelchangeCombodatasourcetype(); afx_msg void OnChangeEdtMin(); afx_msg void OnButtonDel(); //}}AFX_MSG DECLARE_MESSAGE_MAP() private: //过滤掉不正确的数据源类型 void FiltrateDataSourceType(Entity ent); // 获取数据源的最大值和最小值 cet 2010.4.14 add void GetMinMaxVal(PickSet &ssAll); // 获取所有数据源 cet 2010.4.14 add void GetPickSet(); // 过滤无效数据源(包含数值上下限) cet 2010.4.14 add void FiltrateDataSource(PickSet &ssAll, int nType, bool bCompare = false); // 过滤无效数据源(不包含数值上下限) cet 2010.4.14 add void FiltrateDataSource(int nType); // 是否为数值型字符串 cet 2010.4.14 add bool IsValidNumber(const CString strText); // 数值是否在有效范围内 cet 2010.4.14 add bool IsValidNumber(double dVal); //cet 2010.4.15 add void ChangeDataSoureColor(std::map &mapOriginColor, Entity &ent, Adesk::UInt16 nColor); // 恢复数据源颜色 cet 2010.4.15 add void RecoverDataSoureColor(std::map &mapOriginColor, Entity &ent); // cet 2010.4.15 add void UpDateEdt(); // 清除扩张数据"Del" 为1的数据源 cet 2010.4.15 add void CleanDataSource(PickSet &ssAll); // 从外部参照获取数据 cet 2011.12.2 add void GetEntFromExternalBlk(PickSet &ss); private: BOOL m_bEnable; Entity m_ent; CString m_sDataTypeText; LPCTSTR m_sDataType1; LPCTSTR m_sDataType2; LPCTSTR m_sDataType3; LPCTSTR m_sDataType4; LPCTSTR m_sDataType5; LPCTSTR m_sDataType6; double m_dMinVal; // 标高最小值 cet 2010.4.14 add double m_dMaxVal; // 标高最大值 cet 2010.4.14 add PickSet m_ssAllCur; // 处理后有效数据源集合 cet 2010.4.14 add PickSet m_ssAllOrigin; // 原始有效数据源集合 cet 2010.4.14 add bool m_bChange; // cet 2010.4.15 bool m_bExternalBlock;// 是否为外部参照 cet 2011.12.2 add Entity m_entExternalBlk;// 外部参照实体 cet 2011.12.2 add AcGeMatrix3d m_mat; // 外部参照转换矩阵 cet 2011.12.2 add }; #endif // !defined(AFX_SETDATASOURCEDLG_H__8BC50504_1EA0_4EB3_BF2F_AB365AA1BBA5__INCLUDED_)