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/trade.document.selectdlg.cpp |  194 ++++++++++++++++++++++++++----------------------
 1 files changed, 105 insertions(+), 89 deletions(-)

diff --git a/jrj/project/business/Quote/trade.document.selectdlg.cpp b/jrj/project/business/Quote/trade.document.selectdlg.cpp
index 5118dd9..b259ebc 100644
--- a/jrj/project/business/Quote/trade.document.selectdlg.cpp
+++ b/jrj/project/business/Quote/trade.document.selectdlg.cpp
@@ -1,45 +1,60 @@
-use "xcontrol.vframe.vbusiness.vd"
-use "xbase.vframe.vbusiness.vd"
-use "base.view.vd"
-unit trade 
-[
-	class DocSelectDlg:  public xframe
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
+#include <xcontrol/xdatetimepick.hpp>
+
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+	class __declspec(dllexport) DocSelectDlg:  public xframe
 	{
+	public:
 		//xdwgrid	dw_list;
 		xlistview  lv_view;
 		xnode	m_agentNode;	//Agent Condition
 		int columnCount ;
-	
+	public:
+		DocSelectDlg(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+	public:
+		static DocSelectDlg* CreateInstance(void* implPtr, void* hWnd)
+		{
+			DocSelectDlg* pWin = new DocSelectDlg(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();
 			return 1;
 		}
 
-		int OnListViewDoubleClicked(ref TEvent evt,int param)
+		int OnListViewDoubleClicked(TEvent* evt, LPARAM param)
 		{
 			//重置工具条
 			//SetAgent();
@@ -58,7 +73,7 @@
 			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;
 			
 			int LVIF_PARAM = 0x0004;
@@ -68,70 +83,70 @@
 			lvItem.iSubItem = 0;
 			lvItem.mask = LVIF_PARAM ;
 			
-			xlistview::GetItem(lv_view.GetId(), lvItem);
-			msxml::IXMLDOMElement ele = trust(lvItem.lParam as msxml::IXMLDOMElement); 
+			lv_view.GetItem( lvItem);
+			KXMLDOMElement ele = trust(lvItem.lParam as KXMLDOMElement); 
 			
-			string src = ele.getAttribute("url");
-			string name=ele.getAttribute("caption");
-			string file ="";
-			if(src.find("/file/")>0) file = src.mid(src.find("/file/") + 6,9999);
-			if(file =="") return 1;
-			string str = file.left(2);
-			string ext = "";
-			if(name.find(".")>=0) ext = name.mid(name.find("."),name.length());
-			string sfile = file;
+			xstring src = ele.getAttribute(L"url");
+			xstring name=ele.getAttribute(L"caption");
+			xstring file =L"";
+			if(src.find(L"/file/")>0) file = src.mid(src.find(L"/file/") + 6,9999);
+			if(file ==L"") return 1;
+			xstring str = file.left(2);
+			xstring ext = L"";
+			if(name.find(L".")>=0) ext = name.mid(name.find(L"."),name.length());
+			xstring sfile = file;
 			
-			xaserverarg arg =  GetParam();
+			xaserverarg arg =  GetArg();
 			if(arg)
 			{
-				arg.AddArg("result","ok");
-				if((arg.GetArgString("process")=="path" ||arg.GetArgString("process")=="data"))
+				arg.AddArg(L"result",L"ok");
+				if((arg.GetArgString(L"process")==L"path" ||arg.GetArgString(L"process")==L"data"))
 				{
-					string id = ele.getAttribute("ID");
-					arg.AddArg("ID", id);
-					arg.AddArg("path", src);
-					arg.AddArg("filename", name);
-					arg.AddArg("src","/business/attachment/"+str+"/"+ file+".jpg");
-					if(arg.GetArgString("process")=="path" ) return 1;
+					xstring id = ele.getAttribute(L"ID");
+					arg.AddArg(L"ID", id);
+					arg.AddArg(L"path", src);
+					arg.AddArg(L"filename", name);
+					arg.AddArg(L"src",L"/business/attachment/"+str+L"/"+ file+L".jpg");
+					if(arg.GetArgString(L"process")==L"path" ) return 1;
 				}
 			}
 			
 			
 			/*
-			const string d = m_Html.GetData(p.object);	
-			if(d == "") return -1;
-			string file = d.mid(0, d.find("|##@@|",0));
-			string name = d.mid(d.find("|##@@|",0)+6, d.length());
+			const xstring d = m_Html.GetData(p.object);	
+			if(d == L"") return -1;
+			xstring file = d.mid(0, d.find(L"|##@@|",0));
+			xstring name = d.mid(d.find(L"|##@@|",0)+6, d.length());
 			*/
 			
-			xaserver::CreateDirectory("C:/Temp");
+			xaserver::CreateDirectory(L"C:/Temp");
 			if(arg)
 			{
-				if(arg.GetArgString("process")=="data")
+				if(arg.GetArgString(L"process")==L"data")
 				{
-					xml x = new xml;
-					x.setNativePointer(xml ::CreateInstance());
-					xaserver::LoadUrl(GetServerUrl(),"/business/attachment/"+str+"/"+ file+".jpg","",x);
-					arg.AddArg("data",x.GetXml());
+					xml x ;
+					
+					xaserver::LoadUrl(GetServerUrl(),L"/business/attachment/"+str+L"/"+ file+L".jpg",L"",x);
+					arg.AddArg(L"data",x.xml());
 					return 1;
 				}
 			}
 			
-			int openRet = xaserver::DownLoadFile(GetServerUrl(),"/business/attachment/"+str+"/"+ file+".jpg","","C:/Temp/"+sfile+ext);
+			int openRet = xaserver::DownLoadFile(GetServerUrl(),L"/business/attachment/"+str+L"/"+ file+L".jpg",L"",L"C:/Temp/"+sfile+ext);
 			
 			
 			
-			//alert("/business/attachment/"+str+"/"+ file+".jpg");
+			//alert(L"/business/attachment/"+str+L"/"+ file+L".jpg");
 			if(openRet < 0)
 			{
-				alert("文件打开失败1!");
+				alert(L"文件打开失败1!");
 				return -1;
 			}
-			//openRet = win32::ShellExecute(0,"open","C:/Temp/"+name,"","",5);	
-			openRet = win32::ShellExecute(0,"open","C:/Temp/"+sfile+ext,"","",5);	
+			//openRet = ShellExecute(0,L"open",L"C:/Temp/"+name,L"",L"",5);	
+			openRet = ShellExecute(0,L"open",L"C:/Temp/"+sfile+ext,L"",L"",5);	
 			if(openRet < 32)
 			{
-				alert("文件打开失败2!");
+				alert(L"文件打开失败2!");
 				return -1;
 			}
 			
@@ -139,36 +154,37 @@
 		}
 
 		//命令发布函数
-		int OnCmdDispatch(string comdid)
+		int OnCmdDispatch(xstring comdid)
 		{
 			return 0;
 		}
 		
 		//命令处理事件
-		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)&DocSelectDlg::OnXCommand);
 			//获取焦点事件,用于重置工具条
-			AttachEvent("WM_SETFOCUS",OnSetFocus);
+			AttachEvent(L"WM_SETFOCUS", (FEvent)&DocSelectDlg::OnSetFocus);
+			return 1;
 		}
 		
 		/*
 		int  OnRetrieve()
 		{
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());	
-			arg.AddArg("xxx","xxx");
-			if (getUrl("",arg.GetString(),x)!=1)
+			xml x ;
+			
+			xaserverarg arg ;
+				
+			arg.AddArg(L"xxx",L"xxx");
+			if (getUrl(L"",arg.GetString(),x)!=1)
 			{
-				trace(x.GetXmlDoc().text);
+				trace(x.text());
 				return -1;
 			}else	
 			{
@@ -179,38 +195,38 @@
 		}
 		*/
 		
-		int SetListViewHeaderColumn(string Url)
+		int SetListViewHeaderColumn(xstring Url)
 		{
 			const int LVCFMT_LEFT = 0;
-			for(int i=0;i<3;i++)  lv_view.DeleteColumn(lv_view.GetId(),1);
-			//if(Url=="")
+			for(int i=0;i<3;i++)  lv_view.DeleteColumn(1);
+			//if(Url==L"")
 			//{
-				lv_view.InsertColumn(lv_view.GetId(),0,"创建人员",LVCFMT_LEFT,80,0);
-				lv_view.InsertColumn(lv_view.GetId(),0,"创建日期",LVCFMT_LEFT,80,0);
-				lv_view.InsertColumn(lv_view.GetId(),0,"名称",0,120,0);
+				lv_view.InsertColumn(0,L"创建人员",LVCFMT_LEFT,80,0);
+				lv_view.InsertColumn(0,L"创建日期",LVCFMT_LEFT,80,0);
+				lv_view.InsertColumn(0,L"名称",0,120,0);
 				columnCount = 3;
 			//}
 			return 1;
 		}
 
-		int Retrieve(string src)
+		int Retrieve(xstring src)
 		{
-			xml x = ViewObject::RetrieveData("/sale/data/TDocument3/folder/list", "src",src);
+			xml x = ViewObject::RetrieveData(L"/sale/data/TDocument3/folder/list", L"src",src);
 			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"));
 					}		
 				}
 			}
@@ -219,17 +235,18 @@
 		
 		int onload()
 		{
-			lv_view = GetControl("lv_view");
-			//xlistview::SetdwStyle(lv_view.GetId(),0);
+			SetArg();
+			lv_view = GetControl(L"lv_view");
+			//lv_view.SetdwStyle(0);
 				
 			columnCount = 0;
-			SetListViewHeaderColumn("");
-			AttachEvent("lv_view", "NM_DBLCLK",OnListViewDoubleClicked);
+			SetListViewHeaderColumn(L"");
+			AttachEvent(L"lv_view", L"NM_DBLCLK", (FEvent)&DocSelectDlg::OnListViewDoubleClicked);
 			
-			if(GetParam())
+			if(GetWinParam())
 			{
-				xaserverarg arg = GetParam();
-				string src = arg.GetArgString("src");
+				xaserverarg arg = GetArg();
+				xstring src = arg.GetArgString(L"src");
 				Retrieve(src);
 			}
 			
@@ -242,5 +259,4 @@
 			
 			return 1;
 		}		
-	};
-]
\ No newline at end of file
+	};
\ No newline at end of file

--
Gitblit v1.9.3