2026-10-04 00:04:20 +08:00
|
|
|
|
#if !defined(AFX_TKWORKSPACE_H__71E13291_EFD0_42A0_8B26_F053D66BEF98__INCLUDED_)
|
2026-09-28 15:28:50 +08:00
|
|
|
|
#define AFX_TKWORKSPACE_H__71E13291_EFD0_42A0_8B26_F053D66BEF98__INCLUDED_
|
|
|
|
|
|
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
// TKWorkspace.h : header file
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// CTKWorkspace dialog
|
|
|
|
|
|
#include "Resource.h"
|
|
|
|
|
|
#include "adui.h"
|
|
|
|
|
|
#include "acui.h"
|
|
|
|
|
|
#include "xySplitterWnd.h"
|
|
|
|
|
|
#include "XToolBarCtrl.h"
|
|
|
|
|
|
#include "SlideStatic.h"
|
|
|
|
|
|
#include "TKTreeCtrl.h"
|
|
|
|
|
|
#include "RenameDlg.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CTKWorkspace : public CAcUiDialog
|
|
|
|
|
|
{
|
|
|
|
|
|
// Construction
|
|
|
|
|
|
public:
|
|
|
|
|
|
CTKWorkspace(CWnd* pParent = NULL); // standard constructor
|
|
|
|
|
|
CTKWorkspace(const TCHAR* szTKWName, const TCHAR* szTKName, const TCHAR* szRecord, BOOL bSingleSel = TRUE, CWnd* pParent = NULL); // standard constructor
|
|
|
|
|
|
~CTKWorkspace();
|
|
|
|
|
|
|
|
|
|
|
|
DECLARE_DYNAMIC(CTKWorkspace)
|
|
|
|
|
|
// Dialog Data
|
|
|
|
|
|
//{{AFX_DATA(CTKWorkspace)
|
|
|
|
|
|
enum { IDD = IDD_DLG_BLOCK };
|
|
|
|
|
|
CScrollBar m_vsBar;
|
|
|
|
|
|
CStatic m_ctrlDescription;
|
|
|
|
|
|
CSlideStatic m_ImageBox;
|
|
|
|
|
|
CTKTreeCtrl m_treeCtrl;
|
|
|
|
|
|
CListCtrl m_listCtrl;
|
|
|
|
|
|
|
|
|
|
|
|
//}}AFX_DATA
|
|
|
|
|
|
BOOL InsertBlock(const TCHAR* szTKName, const TCHAR* szDrawing);
|
|
|
|
|
|
BOOL ReplaceBlk(const TCHAR* szTKName, const TCHAR* szDrawing);
|
|
|
|
|
|
BOOL ReplaceBlk1(const TCHAR* szTKName, const TCHAR* szDrawing);
|
|
|
|
|
|
void SetWorkType(int iMode){m_iWorkType=iMode;}//add by whl
|
|
|
|
|
|
CString m_csCurTKWFile, m_csCurRecord;
|
|
|
|
|
|
CString m_csLastTKName, m_csLastType, m_csRet;
|
|
|
|
|
|
// Overrides
|
|
|
|
|
|
// ClassWizard generated virtual function overrides
|
|
|
|
|
|
//{{AFX_VIRTUAL(CTKWorkspace)
|
|
|
|
|
|
protected:
|
|
|
|
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
|
|
|
|
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
|
|
|
|
//}}AFX_VIRTUAL
|
|
|
|
|
|
|
|
|
|
|
|
// Implementation
|
|
|
|
|
|
protected:
|
|
|
|
|
|
HICON m_hIcon;
|
|
|
|
|
|
CListCtrl* m_pDragList; //Which ListCtrl we are dragging FROM
|
|
|
|
|
|
CListCtrl* m_pDropList; //Which ListCtrl we are dropping ON
|
|
|
|
|
|
CImageList* m_pDragImage; //For creating and managing the drag-image
|
|
|
|
|
|
BOOL m_bDragging; //T during a drag operation
|
|
|
|
|
|
int m_nDragIndex; //Index of selected item in the List we are dragging FROM
|
|
|
|
|
|
int m_nDropIndex; //Index at which to drop item in the List we are dropping ON
|
|
|
|
|
|
CWnd* m_pDropWnd; //Pointer to window we are dropping on (will be cast to CListCtrl* type)
|
|
|
|
|
|
|
|
|
|
|
|
void DropItemOnList(CListCtrl* pDragList, CListCtrl* pDropList);
|
2026-10-04 00:04:20 +08:00
|
|
|
|
void AdjustImage(); //调整图片
|
|
|
|
|
|
BOOL ModifyDatabaseFile(); //修改文件数据
|
|
|
|
|
|
void OnSort(UINT nID); //排序
|
2026-09-28 15:28:50 +08:00
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
|
int m_nOpenMode; //打开方式 0: ARX命令 1:LISP命令
|
|
|
|
|
|
BOOL m_bMultiSel; //m_nOpenMode =1 m_bMultiSel = TRUE 时:表示指定TKW的图库管理,但不允许打开和新建
|
2026-09-28 15:28:50 +08:00
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
|
int m_iWorkType;//0:正常,1:立剖门窗替换时控制点对齐方法add by whl
|
2026-09-28 15:28:50 +08:00
|
|
|
|
|
|
|
|
|
|
XToolBarCtrl m_ToolBar;
|
|
|
|
|
|
CySplitterWnd m_ySplitter;
|
|
|
|
|
|
CxSplitterWnd m_xSplitter;
|
|
|
|
|
|
CImageList m_imageList;
|
|
|
|
|
|
CImageList m_imageTree;
|
|
|
|
|
|
|
|
|
|
|
|
BOOL m_bEditLabel; //add by cwk on 060907
|
2026-10-04 00:04:20 +08:00
|
|
|
|
BOOL m_bInitSize; // 得到对话框尺寸
|
|
|
|
|
|
CSize m_sizeDlg; // 对话框尺寸
|
2026-09-28 15:28:50 +08:00
|
|
|
|
UINT m_nOldSizeX, m_nOldSizeY;
|
2026-10-04 00:04:20 +08:00
|
|
|
|
int m_nPageRow; // 行数
|
|
|
|
|
|
int m_nPageColumn; // 列数
|
2026-09-28 15:28:50 +08:00
|
|
|
|
BOOL m_bLock;
|
|
|
|
|
|
CMenu *m_pOpenMenu;
|
|
|
|
|
|
XStringList m_lstBlbNames;
|
|
|
|
|
|
|
|
|
|
|
|
CMenu *m_pMenu;
|
|
|
|
|
|
|
|
|
|
|
|
//add by xlc on 080820
|
|
|
|
|
|
CMenu m_menu;
|
|
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
|
//动态添加图库菜单 add by xlc on 090728
|
2026-09-28 15:28:50 +08:00
|
|
|
|
CMenu m_cMenu;
|
|
|
|
|
|
void AddDynMenu(BOOL bCreate);
|
|
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
|
void ResetSize(long nIncX, long nIncY); // 当对话框大小改变时
|
|
|
|
|
|
BOOL InitVSBar(); //初始化滚动条
|
|
|
|
|
|
void OnLayout(UINT nID); //图块布局
|
|
|
|
|
|
void InitToolBar(); //初始化工具条
|
|
|
|
|
|
void ResetImage(BOOL bReservePage = FALSE); //刷新幻灯显示
|
2026-09-28 15:28:50 +08:00
|
|
|
|
void HideDialog(BOOL Flag);
|
|
|
|
|
|
|
|
|
|
|
|
int AddImage2Dwb(const TCHAR* szTKName, const TCHAR* szDrawing, BOOL bIsRebuild = FALSE);
|
|
|
|
|
|
int AddImage2DwbForBlkRebuild(const TCHAR* szTKName,const TCHAR* szDrawing ,BOOL bIsRebuild = FALSE);//add by cwk on 060922
|
|
|
|
|
|
int Add3DImage2Dwb(const TCHAR* szTKName, const TCHAR* szDrawing, BOOL bIsRebuild);
|
|
|
|
|
|
int Add3DImage2DwbForBlkRebuild(const TCHAR* szTKName,const TCHAR* szDrawing,BOOL bIsRebuild);//add by cwk on 060922
|
|
|
|
|
|
int RebuildSld(const TCHAR* szTKName);
|
|
|
|
|
|
int RebuildJpg(const TCHAR* szTKName);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL IsInRect(UINT CtrlID, CPoint point);
|
|
|
|
|
|
void ResetListData();
|
|
|
|
|
|
BOOL IsLock();
|
|
|
|
|
|
void ResetStateText();
|
|
|
|
|
|
void SaveStatus();
|
|
|
|
|
|
void LoadStatus();
|
|
|
|
|
|
BOOL OnSelectRecentBlb(UINT nID);
|
|
|
|
|
|
|
|
|
|
|
|
//add by xlc on 080818
|
|
|
|
|
|
BOOL GetBlockSize(XString sBlockName, double &width, double &high);
|
|
|
|
|
|
void OpenFileByMenu(CString csCommand);
|
|
|
|
|
|
|
|
|
|
|
|
// Generated message map functions
|
|
|
|
|
|
//{{AFX_MSG(CTKWorkspace)
|
|
|
|
|
|
virtual BOOL OnInitDialog();
|
|
|
|
|
|
virtual void OnOK();
|
|
|
|
|
|
afx_msg void OnClose();
|
|
|
|
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
|
|
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
|
|
|
|
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
|
|
|
|
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
|
|
|
|
|
|
afx_msg void OnItemchangedTkList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
|
|
afx_msg void OnClickTkList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
|
|
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
|
|
|
|
|
afx_msg void OnSelchangedTkTree(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
|
|
afx_msg void OnBlkRevert();
|
|
|
|
|
|
afx_msg void OnBlkMerge();
|
|
|
|
|
|
afx_msg void OnToolbarDropDown(NMHDR* pnmh, LRESULT* plRes);
|
|
|
|
|
|
afx_msg void OnEndlabeleditTkList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
|
|
afx_msg void OnBeginlabeleditTkList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
|
|
afx_msg void OnBlkRename();
|
|
|
|
|
|
afx_msg void OnBlkSort();
|
|
|
|
|
|
afx_msg void OnBlkDel();
|
|
|
|
|
|
afx_msg void OnBlkLayout();
|
|
|
|
|
|
afx_msg void OnBlkNewlib();
|
|
|
|
|
|
afx_msg void OnBlkOpenlib();
|
|
|
|
|
|
afx_msg void OnTkPopupInserttk();
|
|
|
|
|
|
afx_msg void OnTkPopupNewtk();
|
|
|
|
|
|
afx_msg void OnTkPopupTreetype();
|
|
|
|
|
|
afx_msg void OnTkPopupRemovetk();
|
|
|
|
|
|
afx_msg void OnTkPopupRenamekind();
|
|
|
|
|
|
afx_msg void OnTkPopupNew();
|
|
|
|
|
|
afx_msg void OnTkPopupDel();
|
|
|
|
|
|
afx_msg void OnBlkDelkind();
|
|
|
|
|
|
afx_msg void OnBlkPagedown();
|
|
|
|
|
|
afx_msg void OnBlkPageup();
|
|
|
|
|
|
afx_msg void OnBlkUpgrade();
|
|
|
|
|
|
afx_msg void OnBlkNewdwg();
|
|
|
|
|
|
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
|
|
|
|
|
|
afx_msg void OnBlkReplace();
|
|
|
|
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
|
|
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
|
|
|
|
afx_msg void OnBlkRebuild();
|
|
|
|
|
|
afx_msg void OnBlkAbout();
|
|
|
|
|
|
/////////////
|
|
|
|
|
|
//add by xlc on 070816
|
|
|
|
|
|
afx_msg HCURSOR OnQueryDragIcon();
|
|
|
|
|
|
afx_msg void OnBegindragList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
|
|
afx_msg void OnRclickList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
|
|
|
|
|
|
|
|
afx_msg void OnSelect2DTKLib();
|
|
|
|
|
|
afx_msg void OnSelectEuroLib();
|
|
|
|
|
|
afx_msg void OnSelectMViewLib();
|
|
|
|
|
|
afx_msg void OnSelectEBalLib();
|
|
|
|
|
|
afx_msg void OnSelectEWDLib();
|
|
|
|
|
|
afx_msg void OnSelectPolyShapeLib();
|
|
|
|
|
|
afx_msg void OnSelectLinePatLib();
|
|
|
|
|
|
afx_msg void OnSelectTitleFrameLib();
|
|
|
|
|
|
afx_msg void OnSelectDorLib2D();
|
|
|
|
|
|
afx_msg void OnSelectWinLib2D();
|
|
|
|
|
|
afx_msg void OnSelectWDLib3D();
|
|
|
|
|
|
afx_msg void OnSelectRailLib();
|
|
|
|
|
|
afx_msg void OnUpdateRevert(CCmdUI* pCmdUI);
|
|
|
|
|
|
afx_msg void OnUpdateMerge(CCmdUI* pCmdUI);
|
|
|
|
|
|
afx_msg void OnUpdateSort(CCmdUI* pCmdUI);
|
|
|
|
|
|
afx_msg void OnUpdateSave(CCmdUI* pCmdUI);
|
|
|
|
|
|
|
|
|
|
|
|
//}}AFX_MSG
|
|
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
|
|
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
|
|
|
|
|
|
|
|
#endif // !defined(AFX_TKWORKSPACE_H__71E13291_EFD0_42A0_8B26_F053D66BEF98__INCLUDED_)
|