From bbe8987042e7216227bc9fe87e0ac60abaebdbf3 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 18 七月 2024 15:58:10 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/mis-prj

---
 jrj/project/business/Quote/TOSelectDlg.cpp |  203 +++++++++++++++++++++++++++-----------------------
 1 files changed, 109 insertions(+), 94 deletions(-)

diff --git a/jrj/project/business/Quote/TOSelectDlg.cpp b/jrj/project/business/Quote/TOSelectDlg.cpp
index 4b18ce9..5bf9bfc 100644
--- a/jrj/project/business/Quote/TOSelectDlg.cpp
+++ b/jrj/project/business/Quote/TOSelectDlg.cpp
@@ -1,40 +1,54 @@
-use "xcontrol.vframe.vbusiness.vd"
-use "xbase.vframe.vbusiness.vd"
-use "base.view.vd"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
+#include <xcontrol/xdatetimepick.hpp>
 
-unit trade 
-[
-	class TOSelectDlg :  public frame
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+	class __declspec(dllexport) TOSelectDlg :  public xframe
 	{
+	public:
 		//xdwgrid	dw_list;
 		xlistview  lv_view;
 		xlistview  lv_view1;
 		int columnCount;
 		xnode	m_agentNode;	//Agent Condition
-
+	public:
+		TOSelectDlg(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+	public:
+		static TOSelectDlg* CreateInstance(void* implPtr, void* hWnd)
+		{
+			TOSelectDlg* pWin = new TOSelectDlg(implPtr, (HWND)hWnd);
+			return pWin;
+		}
 		int SetAgent()
 		{
-			string xfNodeAgentArea  = "agentarea";
+			xstring xfNodeAgentArea  = L"agentarea";
 			xnode anode = GetAgentNode(xfNodeAgentArea);
 			if(m_agentNode)
 			{
-				SetAgentNodeContent (anode,m_agentNode);
+				SetAgentNode (anode,m_agentNode);
 			}
 			else
 			{
-				msxml::IXMLDOMElement xframeElement =  GetElement();
-				msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
+				KXMLDOMElement xframeElement =  GetElement();
+				KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*");
 				if(agent)
 				{
-					string s = agent.xml;
-					m_agentNode =  SetAgentNodeContent (anode,s);
+					xstring s = agent.xml();
+					m_agentNode =  SetAgentNode (anode,s);
 				}
 			}
 			return 1;
 		}
 
 		//焦点激活处理函数
-		int OnSetFocus(ref TEvent evt,int param)
+		int OnSetFocus(TEvent* evt, LPARAM param)
 		{
 			//重置工具条
 			SetAgent();
@@ -42,26 +56,26 @@
 		}
 
 		//命令发布函数
-		int OnCmdDispatch(string comdid)
+		int OnCmdDispatch(xstring comdid)
 		{
-			if(comdid=="xmCancel")
+			if(comdid==L"xmCancel")
 			{
 				CloseWindow();
 				return 1;
 			}
-			else if(comdid=="xmOK")
+			else if(comdid==L"xmOK")
 			{
 				int  LVNI_FOCUSED        = 0x0001;
-				int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
+				int nItem =lv_view.GetNextItem( -1, LVNI_FOCUSED);
 				if(nItem < 0) return 1;
 			
-				if(GetParam())
+				if(GetWinParam())
 				{
-					msxml::IXMLDOMElement ele = GetItemData(lv_view, nItem);
-					xaserverarg arg = GetParam();
-					arg.AddArg("action","new");
-					arg.AddArg("ID",ele.getAttribute("guid"));
-					arg.AddArg("id",ele.getAttribute("guid"));
+					KXMLDOMElement ele = GetItemData(lv_view, nItem);
+					xaserverarg arg = GetArg();
+					arg.AddArg(L"action",L"new");
+					arg.AddArg(L"ID",ele.getAttribute(L"guid"));
+					arg.AddArg(L"id",ele.getAttribute(L"guid"));
 				}
 				//重置工具条
 				CloseWindow();
@@ -70,7 +84,7 @@
 			return 0;
 		}
 		
-		msxml::IXMLDOMElement  GetItemData(xlistview lv_item, int hItem)
+		KXMLDOMElement  GetItemData(xlistview lv_item, int hItem)
 		{
 			int LVIF_PARAM = 0x0004;
 			
@@ -79,12 +93,12 @@
 			lvItem.iSubItem = 0;
 			lvItem.mask = LVIF_PARAM ;
 			
-			xlistview::GetItem(lv_item.GetId(), lvItem);
-			msxml::IXMLDOMElement  ele = trust(lvItem.lParam as msxml::IXMLDOMElement); 
+			lv_view.GetItem(lv_item.GetId(), lvItem);
+			KXMLDOMElement  ele = trust(lvItem.lParam as KXMLDOMElement); 
 			return ele;
 		}
 		
-		int OnListViewDoubleClicked(ref TEvent evt,int param)
+		int OnListViewDoubleClicked(TEvent* evt, LPARAM param)
 		{
 			int  LVNI_ALL                = 0x0000;
 			int  LVNI_FOCUSED        = 0x0001;
@@ -92,23 +106,23 @@
 			int  LVNI_CUT               = 0x0004;
 			int  LVNI_DROPHILITED   = 0x0008;
 			
-			int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
+			int nItem =lv_view.GetNextItem( -1, LVNI_FOCUSED);
 			if(nItem < 0) return 1;
 			
-			if(GetParam())
+			if(GetWinParam())
 			{
-				msxml::IXMLDOMElement ele = GetItemData(lv_view, nItem);
-				xaserverarg arg = GetParam();
-				arg.AddArg("action","new");
-				arg.AddArg("ID",ele.getAttribute("guid"));
-				arg.AddArg("id",ele.getAttribute("guid"));
+				KXMLDOMElement ele = GetItemData(lv_view, nItem);
+				xaserverarg arg = GetArg();
+				arg.AddArg(L"action",L"new");
+				arg.AddArg(L"ID",ele.getAttribute(L"guid"));
+				arg.AddArg(L"id",ele.getAttribute(L"guid"));
 			}
 			//重置工具条
 			CloseWindow();
 			return 1;
 		}
 		
-		int OnListViewDoubleClicked1(ref TEvent evt,int param)
+		int OnListViewDoubleClicked1(TEvent* evt, LPARAM param)
 		{
 			int  LVNI_ALL                = 0x0000;
 			int  LVNI_FOCUSED        = 0x0001;
@@ -116,17 +130,17 @@
 			int  LVNI_CUT               = 0x0004;
 			int  LVNI_DROPHILITED   = 0x0008;
 			
-			int nItem =xlistview::GetNextItem(lv_view1.GetId(), -1, LVNI_FOCUSED);
+			int nItem =lv_view.GetNextItem(lv_view1.GetId(), -1, LVNI_FOCUSED);
 			if(nItem < 0) return 1;
 			
-			if(GetParam())
+			if(GetWinParam())
 			{
-				msxml::IXMLDOMElement ele = GetItemData(lv_view1, nItem);
-				xaserverarg arg = GetParam();
-				arg.AddArg("action","open");
-				arg.AddArg("id",ele.getAttribute("id"));
-				arg.AddArg("ID",ele.getAttribute("id"));
-				arg.AddArg("ItemID",ele.getAttribute("itemid"));
+				KXMLDOMElement ele = GetItemData(lv_view1, nItem);
+				xaserverarg arg = GetArg();
+				arg.AddArg(L"action",L"open");
+				arg.AddArg(L"id",ele.getAttribute(L"id"));
+				arg.AddArg(L"ID",ele.getAttribute(L"id"));
+				arg.AddArg(L"ItemID",ele.getAttribute(L"itemid"));
 			}
 			//重置工具条
 			//OnDocumentOpen();
@@ -134,96 +148,97 @@
 			return 1;
 		}
 
-		int SetListViewHeaderColumn(string Url,xlistview lv_item)
+		int SetListViewHeaderColumn(xstring Url,xlistview lv_item)
 		{
 			const int LVCFMT_LEFT = 0;
 			for(int i=0;i<3;i++)  lv_item.DeleteColumn(lv_item.GetId(),1);
-			//if(Url=="")
+			//if(Url==L"")
 			//{
-				lv_item.InsertColumn(lv_item.GetId(),0,"创建日期",LVCFMT_LEFT,80,0);
-				lv_item.InsertColumn(lv_item.GetId(),0,"创建人员",LVCFMT_LEFT,80,0);
-				lv_item.InsertColumn(lv_item.GetId(),0,"名称",0,120,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"创建日期",LVCFMT_LEFT,80,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"创建人员",LVCFMT_LEFT,80,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"名称",0,120,0);
 				columnCount = 3;
 			//}
 			return 1;
 		}
 		
-		int SetListViewHeaderColumnItem(string Url,xlistview lv_item)
+		int SetListViewHeaderColumnItem(xstring Url,xlistview lv_item)
 		{
 			const int LVCFMT_LEFT = 0;
 			for(int i=0;i<6;i++)  lv_item.DeleteColumn(lv_item.GetId(),1);
-			//if(Url=="")
+			//if(Url==L"")
 			//{
-				lv_item.InsertColumn(lv_item.GetId(),0,"最后修改日期",LVCFMT_LEFT,80,0);
-				lv_item.InsertColumn(lv_item.GetId(),0,"创建日期",LVCFMT_LEFT,80,0);
-				lv_item.InsertColumn(lv_item.GetId(),0,"创建人员",LVCFMT_LEFT,80,0);
-				lv_item.InsertColumn(lv_item.GetId(),0,"状态",0,70,0);
-				lv_item.InsertColumn(lv_item.GetId(),0,"主题",0,120,0);
-				lv_item.InsertColumn(lv_item.GetId(),0,"编号",0,70,0);
-				lv_item.InsertColumn(lv_item.GetId(),0,"事务",0,60,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"最后修改日期",LVCFMT_LEFT,80,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"创建日期",LVCFMT_LEFT,80,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"创建人员",LVCFMT_LEFT,80,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"状态",0,70,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"主题",0,120,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"编号",0,70,0);
+				lv_item.InsertColumn(lv_item.GetId(),0,L"事务",0,60,0);
 				columnCount = 6;
 			//}
 			return 1;
 		}
 
 		//命令处理事件
-		int OnXCommand(ref TXCommandEvent evt,int param)
+		int OnXCommand(TEvent* evt, LPARAM param)
 		{
-			return OnCmdDispatch(evt.pStrID);
+			return OnCmdDispatch(evt->xcommand.pStrID);
 		}
 		
 		int OnAttachEvent()
 		{
 			//绑定工具条点击事件
-			AttachEvent("WM_XCOMMAND",OnXCommand);
+			AttachEvent(L"WM_XCOMMAND", (FEvent)&TOSelectDlg::OnXCommand);
 			//获取焦点事件,用于重置工具条
-			AttachEvent("WM_SETFOCUS",OnSetFocus);
+			AttachEvent(L"WM_SETFOCUS", (FEvent)&TOSelectDlg::OnSetFocus);
+			return 1;
 		}
 		
 		int RetrieveEx()
 		{
-			xml x = ViewObject::RetrieveData("/sale/data/TO/business/document/list");
+			xml x = ViewObject::RetrieveData(L"/sale/data/TO/business/document/list");
 			if(x)
 			{
-				msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement;
-				msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*");
-				int s=nlist.length;
+				KXMLDOMElement ele = x.documentElement();
+				KXMLDOMNodeList nlist=ele.selectNodes(L"*");
+				int s=nlist.length();
 				if (s>0)
 				{
 					for (int i=0; i<s; i++)
 					{
-						msxml::IXMLDOMElement e=nlist.item(i);
-						string name=e.getAttribute("caption");
-						int nItem = xlistview::InsertItemEx(lv_view1.GetId(),0,name,23,cast(e as int));
+						KXMLDOMElement e=nlist.item(i);
+						xstring name=e.getAttribute(L"caption");
+						int nItem = lv_view.InsertItemEx(0,name,23,e );
 						
-						xlistview::SetItemText(lv_view1.GetId(),nItem,2,e.getAttribute("subject"));
-						xlistview::SetItemText(lv_view1.GetId(),nItem,4,e.getAttribute("CreatorID"));
-						xlistview::SetItemText(lv_view1.GetId(),nItem,5,e.getAttribute("CreateDate"));
-						xlistview::SetItemText(lv_view1.GetId(),nItem,6,e.getAttribute("LastUpdateDate"));
+						lv_view.SetItemText(nItem,2,e.getAttribute(L"subject"));
+						lv_view.SetItemText(nItem,4,e.getAttribute(L"CreatorID"));
+						lv_view.SetItemText(nItem,5,e.getAttribute(L"CreateDate"));
+						lv_view.SetItemText(nItem,6,e.getAttribute(L"LastUpdateDate"));
 					}		
 				}
 			}
 			return 1;
 		}
 		
-		int Retrieve(string src)
+		int Retrieve(xstring src)
 		{
-			xml x = ViewObject::RetrieveData("/sale/data/TO/template/list", "role","");
+			xml x = ViewObject::RetrieveData(L"/sale/data/TO/template/list", L"role",L"");
 			if(x)
 			{
-				msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement;
-				msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*");
-				int s=nlist.length;
+				KXMLDOMElement ele = x.documentElement();
+				KXMLDOMNodeList nlist=ele.selectNodes(L"*");
+				int s=nlist.length();
 				if (s>0)
 				{
 					for (int i=0; i<s; i++)
 					{
-						msxml::IXMLDOMElement e=nlist.item(i);
-						string name=e.getAttribute("caption");
-						int nItem = xlistview::InsertItemEx(lv_view.GetId(),0,name,23,cast(e as int));
+						KXMLDOMElement e=nlist.item(i);
+						xstring name=e.getAttribute(L"caption");
+						int nItem = lv_view.InsertItemEx(0,name,23,e);
 						
-						xlistview::SetItemText(lv_view.GetId(),nItem,1,e.getAttribute("Creator"));
-						xlistview::SetItemText(lv_view.GetId(),nItem,2,e.getAttribute("CreateDate"));
+						lv_view.SetItemText(nItem,1,e.getAttribute(L"Creator"));
+						lv_view.SetItemText(nItem,2,e.getAttribute(L"CreateDate"));
 					}		
 				}
 			}
@@ -232,24 +247,24 @@
 		
 		int onload()
 		{
-			lv_view = GetControl("lv_view");
-			xlistview::SetdwStyle(lv_view.GetId(),0);
+			SetArg();
+			lv_view = GetControl(L"lv_view");
+			lv_view.SetdwStyle(0);
 			
-			lv_view1 = GetControl("lv_view1");
-			//xlistview::SetdwStyle(lv_view1.GetId(),0);
+			lv_view1 = GetControl(L"lv_view1");
+			//lv_view.SetdwStyle(lv_view1.GetId(),0);
 				
 			columnCount = 0;
-			SetListViewHeaderColumn("",lv_view);
-			SetListViewHeaderColumnItem("",lv_view1);
-			AttachEvent("lv_view", "NM_DBLCLK",OnListViewDoubleClicked);
-			AttachEvent("lv_view1", "NM_DBLCLK",OnListViewDoubleClicked1);
+			SetListViewHeaderColumn(L"",lv_view);
+			SetListViewHeaderColumnItem(L"",lv_view1);
+			AttachEvent(L"lv_view", L"NM_DBLCLK", (FEvent)&TOSelectDlg::OnListViewDoubleClicked);
+			AttachEvent(L"lv_view1", L"NM_DBLCLK", (FEvent)&TOSelectDlg::OnListViewDoubleClicked1);
 		
 			OnAttachEvent();
 			
-			Retrieve("");
+			Retrieve(L"");
 			RetrieveEx();
 			
 			return 1;
 		}
-	};
-]
\ No newline at end of file
+	};
\ No newline at end of file

--
Gitblit v1.9.3