From 858d5b84cb2f9311d6e00d90c6f9527e2e6f57b4 Mon Sep 17 00:00:00 2001
From: lifan <2308045698@qq.com>
Date: 星期四, 04 九月 2025 17:50:13 +0800
Subject: [PATCH] update
---
jrj/project/business/SystemSettings/Developer.Synch.cpp | 305 ++++++++++++++++++++++++++------------------------
1 files changed, 161 insertions(+), 144 deletions(-)
diff --git a/jrj/project/business/SystemSettings/Developer.Synch.cpp b/jrj/project/business/SystemSettings/Developer.Synch.cpp
index ba7e601..7f504f8 100644
--- a/jrj/project/business/SystemSettings/Developer.Synch.cpp
+++ b/jrj/project/business/SystemSettings/Developer.Synch.cpp
@@ -1,45 +1,60 @@
-use "xcontrol.vframe.vbusiness.vd"
-use "xbase.vframe.vbusiness.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 DeveloperSynch : public xframe
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) DeveloperSynch : public xframe
{
+ public:
xtreeview tv_gs;
xsedit dw_log;
- int[100] nItems;
+ int nItems;
int nCount;
- string sContent;
-
- string ProcessDevCmd(string cmd,string ext, string aurl="", bool needlogin=false)
+ xstring sContent;
+ public:
+ DeveloperSynch(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static DeveloperSynch* CreateInstance(void* implPtr, void* hWnd)
{
- if(aurl == "") aurl = GetServerUrl();
+ DeveloperSynch* pWin = new DeveloperSynch(implPtr, (HWND)hWnd);
+ return pWin;
+ }
+ xstring ProcessDevCmd(xstring cmd,xstring ext, xstring aurl=L"", bool needlogin=false)
+ {
+ if(aurl == L"") aurl = GetServerUrl();
//alert(aurl);
- string d = xaserver::ProcessCmd(aurl,"uri.hxsoft.com/xaserver/developer "+cmd,ext,needlogin);
+ xstring d = xaserver::ProcessCmd(aurl,L"uri.hxsoft.com/xaserver/developer "+cmd,ext,needlogin);
return d;
}
- string ProcessDevCmd2(string cmd,string ext, string aurl="", bool needlogin=false)
+ xstring ProcessDevCmd2(xstring cmd,xstring ext, xstring aurl=L"", bool needlogin=false)
{
- if(aurl == "") aurl = GetServerUrl();
+ if(aurl == L"") aurl = GetServerUrl();
//alert(aurl);
- string d = xaserver::ProcessCmd(aurl,"uri.hxsoft.com/xaserver/dev:"+cmd,ext,needlogin);
+ xstring d = xaserver::ProcessCmd(aurl,L"uri.hxsoft.com/xaserver/dev:"+cmd,ext,needlogin);
return d;
}
int GetProjectItem(int hItem)
{
int pitem = hItem;
- string typ;
+ xstring typ;
while(true)
{
- int h = xtreeview::GetItemData(tv_gs.GetId(), pitem);
- msxml::IXMLDOMElement e = trust(h as msxml::IXMLDOMElement);
- typ = GetEleString(e, "@tagname");
- if(typ=="project")break;
- pitem = xtreeview::GetParentItem(tv_gs.GetId(), pitem);
+ int h =tv_gs.GetItemData(tv_gs.GetId(), pitem);
+ KXMLDOMElement e = trust(h as KXMLDOMElement);
+ typ = GetEleString(e, L"@tagname");
+ if(typ==L"project")break;
+ pitem =tv_gs.GetParentItem(tv_gs.GetId(), pitem);
if(pitem<=0)break;
}
return pitem;
@@ -51,68 +66,68 @@
int hP2Item = hItem;
while(true)
{
- hDomainItem = xtreeview::GetParentItem(tv_gs.GetId(), hP2Item);
+ hDomainItem =tv_gs.GetParentItem(tv_gs.GetId(), hP2Item);
if(xtreeview::GetParentItem(tv_gs.GetId(), hDomainItem)<=0)break;
hP2Item = hDomainItem;
}
return hP2Item;
}
- string GetItemGuid(int hItem)
+ xstring GetItemGuid(int hItem)
{
- int h = xtreeview::GetItemData(tv_gs.GetId(), hItem);
- msxml::IXMLDOMElement e = trust(h as msxml::IXMLDOMElement);
- string guid = e.GetAttribute("guid");
+ int h =tv_gs.GetItemData(tv_gs.GetId(), hItem);
+ KXMLDOMElement e = trust(h as KXMLDOMElement);
+ xstring guid = e.GetAttribute(L"guid");
return guid;
}
xaserverarg GetDataArg(int hItem, xaserverarg arg)
{
- int h = xtreeview::GetItemData(tv_gs.GetId(), hItem);
- msxml::IXMLDOMElement e = trust(h as msxml::IXMLDOMElement);
- string node = GetEleString(e, "@tagname");
+ int h =tv_gs.GetItemData(tv_gs.GetId(), hItem);
+ KXMLDOMElement e = trust(h as KXMLDOMElement);
+ xstring node = GetEleString(e, L"@tagname");
//WriteLog(e.xml);
- if(node=="File" || node=="file")
+ if(node==L"File" || node==L"file")
{
- string caption = e.getAttribute("caption");
+ xstring caption = e.getAttribute(L"caption");
int hP2Item = 0;
int hDomainItem = 0;
- if(xtreeview::GetParentItem(tv_gs.GetId(), hItem)<=0)
+ if(tv_gs.GetParentItem(hItem)<=0)
{
hDomainItem = hItem;
}else
{
hP2Item = GetP2Item(hItem);
- hDomainItem = xtreeview::GetParentItem(tv_gs.GetId(), hP2Item);
+ hDomainItem =tv_gs.GetParentItem(hP2Item);
}
//find project folder
- string prjguid="";
- int pitem = this.GetProjectItem(hItem);
+ xstring prjguid=L"";
+ int pitem = GetProjectItem(hItem);
if(pitem > 0)
prjguid = GetItemGuid(pitem);
- //xaserverarg arg = new xaserverarg;
- //arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("project.guid",prjguid);
+ //xaserverarg arg ;
+ //;
+ arg.AddArg(L"project.guid",prjguid);
if(hP2Item)
{
if(hP2Item != hItem)
{
- string guid = e.getAttribute("guid");
- arg.AddArg("guid",guid);
+ xstring guid = e.getAttribute(L"guid");
+ arg.AddArg(L"guid",guid);
}
- string guid2 = GetItemGuid(hP2Item);
- arg.AddArg("root.guid",guid2);
+ xstring guid2 = GetItemGuid(hP2Item);
+ arg.AddArg(L"root.guid",guid2);
}else if(hDomainItem > 0)
{
- string guid3 = GetItemGuid(hDomainItem);
- arg.AddArg("domain.guid",guid3);
+ xstring guid3 = GetItemGuid(hDomainItem);
+ arg.AddArg(L"domain.guid",guid3);
}
return 1;
}
- else if(node=="folder" || node=="project")
+ else if(node==L"folder" || node==L"project")
return 2;
else
return 0;
@@ -120,103 +135,103 @@
int SaveData(int hItem)
{
- xcontrol xc = GetControl("surl");
- string surl = xc.GetText();
- if(surl == "")
+ xcontrol xc = GetControl(L"surl");
+ xstring surl = xc.GetText();
+ if(surl == L"")
{
- alert("请输入同步服务器地址");
+ alert(L"请输入同步服务器地址");
return 1;
}
- string name = xtreeview::GetItemLabel(tv_gs.GetId(), hItem);
- xaserverarg arg = new xaserverarg;
- arg.setNativePointer(arg.CreateInstance());
+ xstring name =tv_gs.GetItemLabel(hItem);
+ xaserverarg arg ;
+ ;
int ret = GetDataArg(hItem, arg);
//alert(arg.GetString());
if(ret == 0)
{
- WriteLog(name+" 失败, 原因:获取工程或文件夹失败!");
+ WriteLog(name+L" 失败, 原因:获取工程或文件夹失败!");
return -1;
}
else if(ret == 2)
{
ret = SynchFolder(hItem);
if(ret == -1)
- WriteLog(name+" 失败, 原因:获取文件数据失败!");
+ WriteLog(name+L" 失败, 原因:获取文件数据失败!");
else if(ret == 0)
- WriteLog(name+" 失败, 原因:复制文件失败!");
+ WriteLog(name+L" 失败, 原因:复制文件失败!");
else
WriteLog(name);
return -1;
}
SynchFolder(hItem);
- arg.AddArg("__name",name);
- arg.AddArg("__url",surl);
+ arg.AddArg(L"__name",name);
+ arg.AddArg(L"__url",surl);
synchServer(arg);
- if(name.right(3) == ".vx" || name.right(5) == ".xpage")
+ if(name.right(3) == L".vx" || name.right(5) == L".xpage")
{
- arg.AddArg("__name",name + "[Code]");
- arg.AddArg("iscode","yes");
+ arg.AddArg(L"__name",name + L"[Code]");
+ arg.AddArg(L"iscode",L"yes");
synchServer(arg);
}
return 1;
}
- string GetFolderPath(int hItem)
+ xstring GetFolderPath(int hItem)
{
int k = hItem;
- if(k == 0) return "";
- string src = "";
- //string name = "";
+ if(k == 0) return L"";
+ xstring src = L"";
+ //xstring name = L"";
while(k > 0)
{
- int h = xtreeview::GetItemData(tv_gs.GetId(), k);
- k = xtreeview::GetParentItem(tv_gs.GetId(), k);
- msxml::IXMLDOMElement e = trust(h as msxml::IXMLDOMElement);
- string node = GetEleString(e, "@tagname");
- if(node != "File" && node != "file")
+ int h =tv_gs.GetItemData(tv_gs.GetId(), k);
+ k =tv_gs.GetParentItem(tv_gs.GetId(), k);
+ KXMLDOMElement e = trust(h as KXMLDOMElement);
+ xstring node = GetEleString(e, L"@tagname");
+ if(node != L"File" && node != L"file")
{
- string tmp = GetEleString(e, "@src");
- //if(name == "") name = GetEleString(e, "@caption");
- if(tmp != "")
+ xstring tmp = GetEleString(e, L"@src");
+ //if(name == L"") name = GetEleString(e, L"@caption");
+ if(tmp != L"")
{
SynchFolder(k);
- if(src == "") src = tmp;
+ if(src == L"") src = tmp;
else
{
int j = 1;
- int s = tmp.length();
- string t = tmp.right(j).left(1);
- while(t != "\\" && j < s)
+ int s = tmp.length()();
+ xstring t = tmp.right(j).left(1);
+ while(t != L"\\" && j < s)
{
//WriteLog(t);
j++;
t = tmp.right(j).left(1);
}
if(j >= s)
- src = tmp+ "\\" + src;
+ src = tmp+ L"\\" + src;
else
- src = tmp.left(s - j)+ "\\" + src;
+ src = tmp.left(s - j)+ L"\\" + src;
}
}
}
}
- if(src == "")
+ if(src == L"")
{
- //WriteLog(name+" 同步失败, 原因:获取文件数据失败0!");
- return "";
+ //WriteLog(name+L" 同步失败, 原因:获取文件数据失败0!");
+ return L"";
}
- //if(src.left(9) =="Projects\\") src = src.mid(9, src.length());
- src = "\\" + src;//.replace("Projects\\","");
+ //if(src.left(9) ==L"Projects\\") src = src.mid(9, src.length()());
+ src = L"\\" + src;//.replace(L"Projects\\",L"");
//WriteLog(src);
return src;
}
int SynchFolder(int hItem)
{
- string src = GetFolderPath(hItem);
- if(src== "") return -1;
- if(xaserver::FileCopy("devfolder8001", src, "devfolder5001", src) != 1)
+ xstring src = GetFolderPath(hItem);
+ if(src== L"") return -1;
+ if(xaserver::FileCopy(L"devfolder8001", src, L"devfolder5001", src) != 1)
return 0;
//WriteLog(src);
return 1;
@@ -224,34 +239,34 @@
int synchServer(xaserverarg arg)
{
- string name = arg.GetArgString("__name");
- string surl = arg.GetArgString("__url");
- string d = ProcessDevCmd("getobject",arg.GetString());
- if(d == "")
+ xstring name = arg.GetArgString(L"__name");
+ xstring surl = arg.GetArgString(L"__url");
+ xstring d = ProcessDevCmd(L"getobject",arg.GetString());
+ if(d == L"")
{
- WriteLog(name+" 失败, 原因:获取文件数据失败!");
+ WriteLog(name+L" 失败, 原因:获取文件数据失败!");
return -1;
}
//WriteLog(d);
- arg.AddArg("content",d);
- ProcessDevCmd("saveobject",arg.GetString(), surl,true);
+ arg.AddArg(L"content",d);
+ ProcessDevCmd(L"saveobject",arg.GetString(), surl,true);
WriteLog(name);
return 1;
}
- int WriteLog(string str)
+ int WriteLog(xstring str)
{
- if(sContent == "")
+ if(sContent == L"")
sContent = str;
else
- sContent += "\r\n" + str;
+ sContent += L"\r\n" + str;
//alert(sContent);
- dw_log.SetContent(sContent, "");
+ dw_log.SetContent(sContent, L"");
return 1;
}
//焦点激活处理函数
- int OnSetFocus(ref TEvent evt,int param)
+ int OnSetFocus(TEvent* evt, LPARAM param)
{
//重置工具条
SetAgent();
@@ -262,7 +277,7 @@
{
if(nCount >99)
{
- alert("同时同步的数量不能大于100个!");
+ alert(L"同时同步的数量不能大于100个!");
return 1;
}
nItems[nCount] = hItem;
@@ -290,17 +305,17 @@
}
//命令发布函数
- int OnCmdDispatch(string comdid)
+ int OnCmdDispatch(xstring comdid)
{
- if(comdid != "synch") return 1;
+ if(comdid != L"synch") return 1;
- int hCursor = xutil::SetCursorWait();
- sContent = "";
+ HCURSOR hCursor = xutil::SetCursorWait();
+ sContent = L"";
for(int i=0; i<nCount; i++)
{
int p = nItems[i];
- //int h = xtreeview::GetItemData(tv_gs.GetId(), p);
- //msxml::IXMLDOMElement e = trust(h as msxml::IXMLDOMElement);
+ //int h =tv_gs.GetItemData(tv_gs.GetId(), p);
+ //KXMLDOMElement e = trust(h as KXMLDOMElement);
//alert(e.xml);
SaveData(p);
xtreeview::SetChecked(tv_gs.GetId(), p,0);
@@ -310,13 +325,16 @@
return 0;
}
- int OnTreeCheckBoxSel(ref TNotifyEvent evt,int p)
+ int OnTreeCheckBoxSel(TEvent* evt, LPARAM p)
{
- ref TVNNMHDR nmtv = trust(evt.pnmh as ref TVNNMHDR);
+ TVNNMHDR* nmtv = (TVNNMHDR*)evt->notify.pnmh;
+
int hItem = nmtv.FromItem;
- int hCursor = xutil::SetCursorWait();
+
+ HCURSOR hCursor = xutil::SetCursorWait();
int hwnd = nmtv.hwndFrom;
- int c = 1 - xtreeview::GetChecked(hwnd, hItem);
+
+ int c = 1 -tv_gs.GetChecked(hwnd, hItem);
if(c == 1)
Add(hItem);
else
@@ -326,52 +344,52 @@
}
//命令处理事件
- 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)&DeveloperSynch::OnXCommand);
//获取焦点事件,用于重置工具条
- //AttachEvent("WM_SETFOCUS",OnSetFocus);
- AttachEvent("DevExplorer","TVN_CHECKBOXSEL",OnTreeCheckBoxSel);
- AttachEvent("DevExplorer", "TVN_ITEMEXPANDING",OnTreeExpanding);
+ //AttachEvent(L"WM_SETFOCUS",OnSetFocus);
+ AttachEvent(L"DevExplorer",L"TVN_CHECKBOXSEL", (FEvent)&DeveloperSynch::OnTreeCheckBoxSel);
+ AttachEvent(L"DevExplorer", L"TVN_ITEMEXPANDING", (FEvent)&DeveloperSynch::OnTreeExpanding);
return 1;
}
- int OnTreeExpanding(ref TNotifyEvent evt,int lparam)
+ int OnTreeExpanding(TEvent* evt, LPARAM lparam)
{
- ref NMTREEVIEW nmtv = trust(evt.pnmh as ref NMTREEVIEW);
+ TVNNMHDR* nmtv = (TVNNMHDR*)evt->notify.pnmh;
int hItem = nmtv.itemNew.hItem;
int cItem=xtreeview::GetChildItem(tv_gs.GetId(), hItem);
if(cItem > 0) return 1;
- int p = xtreeview::GetItemData(tv_gs.GetId(), hItem);
- msxml::IXMLDOMElement ele = trust(p as msxml::IXMLDOMElement);
- string src =GetEleString(ele, "@src");
- string tagname =GetEleString(ele, "@tagname");
- if (src == "" || tagname == "file" || tagname == "File") return 1;
+ int p =tv_gs.GetItemData(tv_gs.GetId(), hItem);
+ KXMLDOMElement ele = trust(p as KXMLDOMElement);
+ xstring src =GetEleString(ele, L"@src");
+ xstring tagname =GetEleString(ele, L"@tagname");
+ if (src == L"" || tagname == L"file" || tagname == L"File") return 1;
OnSetTree(hItem, GetFolderPath(hItem));
return 1;
}
- int OnSetTree(int pItem, msxml::IXMLDOMElement e)
+ int OnSetTree(int pItem, KXMLDOMElement e)
{
- msxml::IXMLDOMNodeList li=e.selectNodes("*");
+ KXMLDOMNodeList li=e.selectNodes(L"*");
int i=0;
- int s=li.length;
+ int s=li.length();
for (i=0;i<s;i++){
- msxml::IXMLDOMElement ele= li.item(s - i - 1);
- string caption = GetEleString(ele, "@caption");
- string src =GetEleString(ele, "@src");
- string image =GetEleString(ele, "@image");
+ KXMLDOMElement ele= li.item(s - i - 1);
+ xstring caption = GetEleString(ele, L"@caption");
+ xstring src =GetEleString(ele, L"@src");
+ xstring image =GetEleString(ele, L"@image");
int p = trust(ele as int);
int hItem=xtreeview::InsertItem(tv_gs.GetId(), pItem,0,caption,p,image.toInt());
- string tagname =GetEleString(ele, "@tagname");
- if (src != "" && tagname != "file" && tagname != "File")
+ xstring tagname =GetEleString(ele, L"@tagname");
+ if (src != L"" && tagname != L"file" && tagname != L"File")
xtreeview::SetItemChild1(tv_gs.GetId(), hItem,1);
OnSetTree(hItem, ele);
}
@@ -379,19 +397,19 @@
return 1;
}
- int OnSetTree(int hItem, string src)
+ int OnSetTree(int hItem, xstring src)
{
- xml x=new xml;
- x.setNativePointer(xml::CreateInstance());
- xaserverarg arg=new xaserverarg;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("src",src);
- if(xaserver::ExecXQuery(GetServerUrl(),"[Developer.Tree.xq]",arg.GetString(),x)!=1)
+ xml x;
+
+ xaserverarg arg;
+ ;
+ arg.AddArg(L"src",src);
+ if(xaserver::ExecXQuery(GetServerUrl(),L"[Developer.Tree.xq]",arg.GetString(),x)!=1)
{
- alert("读取节点失败!");
+ alert(L"读取节点失败!");
return 1;
}
- msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement;
+ KXMLDOMElement e = x.documentElement();
OnSetTree(hItem, e);
return 1;
}
@@ -399,8 +417,8 @@
int onload()
{
nCount = 0;
- tv_gs = GetControl("DevExplorer");
- dw_log = GetControl("xlog");
+ tv_gs = GetControl(L"DevExplorer");
+ dw_log = GetControl(L"xlog");
OnAttachEvent();
return 1;
@@ -408,8 +426,7 @@
int onloaded()
{
- OnSetTree(0, "Projects/projects.xhw");
+ OnSetTree(0, L"Projects/projects.xhw");
return 1;
}
- };
-]
\ No newline at end of file
+ };
\ No newline at end of file
--
Gitblit v1.9.3