88 lines
2.4 KiB
C++
88 lines
2.4 KiB
C++
#if !defined(__DLGPARAMINSERT_H__)
|
|
#define __DLGPARAMINSERT_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "resource.h"
|
|
#include "InPlaceCtrls.h"
|
|
#include "PropertyListBox.h"
|
|
#include "KTObjLifeMgr.h"
|
|
#include "KTParamClass.h"
|
|
#include "GsPreviewCtrl.h"
|
|
|
|
class CDlgParamInsert : public CDialog
|
|
{
|
|
public:
|
|
CDlgParamInsert(CWnd* pParent = NULL);
|
|
|
|
void SetClassCode(ULONG lId);
|
|
void SetClassCode(LPCTSTR pszCode);
|
|
|
|
protected:
|
|
void OnInitClassList(ULONG lUpId, LPCTSTR pszPrefix);
|
|
|
|
// 转换数据类型到Item的类型
|
|
CPropertyItem::ItemStyle AsItemStyle(LPCTSTR pszDataType, BOOL bMulti = FALSE, BOOL bOverride = FALSE);
|
|
// 转换数据为指定Item类型的数据
|
|
LPCTSTR AsItemString(CString& sData, LPCTSTR pszDataType);
|
|
// 转换数据为指定的描述字符串
|
|
LPCTSTR AsItemDesc(CString& sDesc, LPCTSTR pszData, LPCTSTR pszVarDesc, const CMapStringToString& mapVarToValue);
|
|
// 转换描述为指定的数据字符串
|
|
LPCTSTR ByItemDesc(CString& sData, LPCTSTR pszDesc, LPCTSTR pszVarDesc, const CMapStringToString& mapVarToValue);
|
|
// 根据表达式获得数据列表
|
|
void GetAvalidValueList(LPCTSTR pszValueExpress, const CMapStringToString& mapData, CStringArray& arsValue);
|
|
// 显示指定Id的所有属性包括父属性
|
|
void OnShowAttributeAttrItems(CPropertyItemTab* pTab, ULONG lId);
|
|
// 清除属性列表数据
|
|
void OnCleanAttributeList();
|
|
|
|
static BOOL ExpressCalcVarProc(LPCTSTR pszVariable, double& dValue, WPARAM wParam, LPARAM lParam);
|
|
|
|
BOOL m_bAttrModified;
|
|
|
|
ULONG m_lAttributesCount;
|
|
|
|
//AcDbDatabase* m_pDbPreview;
|
|
|
|
KTParamClass m_cClassData;
|
|
|
|
CMapStringToString m_mapAttrToValue;
|
|
typedef CMap<ULONG, ULONG, KTParamAttribute*, KTParamAttribute*> CMapULongToAttribute;
|
|
CMapULongToAttribute m_mapHideAttribute;
|
|
|
|
protected:
|
|
enum { IDD = IDD_PARAMINSERT };
|
|
CComboBox m_wndCmbClass;
|
|
CButton m_wndRadBlock;
|
|
CButton m_wndRadGroup;
|
|
//CKTObjViewCtrl m_wndStcPreview;
|
|
CGsPreviewCtrl m_wndViewCtrl;
|
|
CStatic m_wndStcDesc;
|
|
CPropertyListBox m_wndLstAttribute;
|
|
//}}AFX_DATA
|
|
|
|
//{{AFX_VIRTUAL(CDlgParamInsert)
|
|
public:
|
|
virtual BOOL Create(CWnd* pParentWnd);
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX);
|
|
//}}AFX_VIRTUAL
|
|
|
|
protected:
|
|
//{{AFX_MSG(CDlgParamInsert)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnDestroy();
|
|
virtual void OnOK();
|
|
afx_msg void OnBtnPreview();
|
|
afx_msg void OnSelendokCmbClass();
|
|
//}}AFX_MSG
|
|
afx_msg LRESULT OnPropListBoxNotify(WPARAM wParam, LPARAM lParam);
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
|
|
#endif // !defined(__DLGPARAMINSERT_H__)
|