From 82e654c6dd91f37dd3cd669a439df759e7e0e3a8 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期五, 06 十二月 2024 10:42:21 +0800 Subject: [PATCH] update --- jrj/xframe/devloper/XDevEditXWKDlg.cpp | 138 +++++++-------------------- jrj/xframe/devloper/XDevEditXWorkNode.cpp | 132 +++++++++++++------------- 2 files changed, 100 insertions(+), 170 deletions(-) diff --git a/jrj/xframe/devloper/XDevEditXWKDlg.cpp b/jrj/xframe/devloper/XDevEditXWKDlg.cpp index a62cce0..082d656 100644 --- a/jrj/xframe/devloper/XDevEditXWKDlg.cpp +++ b/jrj/xframe/devloper/XDevEditXWKDlg.cpp @@ -10,127 +10,62 @@ #include "XDevEditPage.hpp" using xml = KXMLDOMDocument; -class export XDevEditXRuler : public XDevEditPage +class export dw_xwkdlg : public XDevEditPage { public: - XDevEditXRuler(void* implPtr, HWND hWnd) :XDevEditPage(implPtr, hWnd) {} + dw_xwkdlg(void* implPtr, HWND hWnd) :XDevEditPage(implPtr, hWnd) {} public: - static XDevEditXRuler* CreateInstance(void* implPtr, void* hWnd) + static dw_xwkdlg* CreateInstance(void* implPtr, void* hWnd) { - XDevEditXRuler* pWin = new XDevEditXRuler(implPtr, (HWND)hWnd); + dw_xwkdlg* pWin = new dw_xwkdlg(implPtr, (HWND)hWnd); return pWin; } private: // - //xdwgrid dw_list; - - xnode m_agentNode; //Agent Condition - xstring m_agentCond; //Agent Node - int SetAgent() - { - /*xstring xfNodeAgentArea = L"agentarea"; - xnode anode = GetAgentNode(xfNodeAgentArea); - var xframeElement = GetElement(); - var agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); - if(agent) - { - xstring s = agent.xml; - m_agentNode = SetAgentNodeContent (anode,s); - }*/ - return 1; - } - - //焦点激活处理函数 - int OnSetFocus(TEvent* evt,LPARAM param) - { - SetAgent(); - - //重置工具条 - return 1; - } - - int LoadData() - { - if (!GetWinParam()) return 1; - xstring content = GetData(); - if (content != L"") - { - xsedit xs = GetControl(L"xcontent"); - xs.LoadContent(content,L".xml"); - } - return 1; - } - - xstring OnGetType() - { - xwin w = GetFrameWindow(); - xtreeview tv_folder = w.GetControl(L"DevExplorer"); - HTREEITEM hItem = (HTREEITEM)GetWinParam(); - KXMLDOMElement e = tv_folder.GetItemData(hItem); - xstring str = e.getAttribute(L"type"); - return str; - } + xtreeview tv_folder; //命令发布函数 int OnCmdDispatch(xstring comdid) { - xstring content; - xsedit xs = GetControl(L"xcontent"); - xs.GetContent(content); - - HCURSOR hCursor = xutil::SetCursorWait(); - if (comdid == L"xmFileSave") + if (GetWinParam()) { - //save xml content - SaveContent(content); - } - else if (comdid == L"xmValid") - { - xml x ; - if (!x.loadXML(content)) + SetArg(); + xaserverarg arg = GetArg(); + if (comdid == L"xmDevOk") { - KXMLDOMParseError pError = x.parseError(); - if (pError) + HTREEITEM hItem = tv_folder.GetSelectedItem(); + if (hItem <= 0) { - xstring str = pError.srcText(); - xstring sError = L"\r\nXML错误: " + str.trim() + L"\r\n"; - int s = pError.errorCode(); - sError += L" 代码: " + xstring(s) + L"\r\n"; - s = pError.line(); - sError += L" 位置: 第" + xstring(s) + L"行,L"; - s = pError.linepos(); - sError += L"第" + xstring(s) + L"列" + L"\r\n"; - str = pError.reason(); - sError += L" 原因: " + str; - trace(sError); + MessageBox(0,L"请选择功能模块!",L"",0); + return 1; + } + KXMLDOMElement e = tv_folder.GetItemData(hItem); + //xstring node = e.tagName(); + xstring node = e.getAttribute(L"name"); + if (node== L"file") + { + xstring caption = e.getAttribute(L"caption"); + xstring guid = e.getAttribute(L"guid"); + arg.AddArg(L"guid",L"" + guid); + arg.AddArg(L"caption",L"" + caption); } else { - trace(L"XML 错误"); + MessageBox(0,L"请选择功能模块!",L"",0); + return 1; } - return -1; } - /*xstring sType = OnGetType(); - if (sType == L"xml.xsd") + else { - xstring sError; - x.ValidSchema(content, &sError); - trace(sError); - }*/ + arg.AddArg(L"guid",L""); + arg.AddArg(L"caption",L""); + } } - else if (comdid == L"xmEditFind") - { - OpenWindow(L"dev:xpage[xcode.finddlg]"); - } - else if (comdid == L"xmEditReplace") - { - OpenWindow(L"dev:xpage[xcode.replacedlg]"); - } - xutil::RestoreCursor(hCursor); + CloseWindow(); return 0; } //命令处理事件 - int OnXCommand(TEvent* evt,LPARAM param) + int OnXCommand(TEvent* evt, LPARAM p) { return OnCmdDispatch(evt->xcommand.pStrID); } @@ -138,15 +73,11 @@ int OnAttachEvent() { //绑定工具条点击事件 - AttachEvent(L"WM_XCOMMAND", (FEvent)&XDevEditXRuler::OnXCommand); - //获取焦点事件,用于重置工具条 - AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditXRuler::OnSetFocus); + AttachEvent(L"WM_XCOMMAND", (FEvent)&dw_xwkdlg::OnXCommand); } int OnInitial() { - SetAgent(); - OnAttachEvent(); return 1; @@ -154,9 +85,10 @@ int onload() { + SetArg(); + tv_folder = GetControl(L"DevExplorer"); OnInitial(); - LoadData(); - + if (GetWinParam()) alert(L"xxx"); return 1; } }; \ No newline at end of file diff --git a/jrj/xframe/devloper/XDevEditXWorkNode.cpp b/jrj/xframe/devloper/XDevEditXWorkNode.cpp index a62cce0..c22907b 100644 --- a/jrj/xframe/devloper/XDevEditXWorkNode.cpp +++ b/jrj/xframe/devloper/XDevEditXWorkNode.cpp @@ -10,24 +10,26 @@ #include "XDevEditPage.hpp" using xml = KXMLDOMDocument; -class export XDevEditXRuler : public XDevEditPage +class export XDevEditWorkNode : public XDevEditPage { public: - XDevEditXRuler(void* implPtr, HWND hWnd) :XDevEditPage(implPtr, hWnd) {} + XDevEditWorkNode(void* implPtr, HWND hWnd) :XDevEditPage(implPtr, hWnd) {} public: - static XDevEditXRuler* CreateInstance(void* implPtr, void* hWnd) + static XDevEditWorkNode* CreateInstance(void* implPtr, void* hWnd) { - XDevEditXRuler* pWin = new XDevEditXRuler(implPtr, (HWND)hWnd); + XDevEditWorkNode* pWin = new XDevEditWorkNode(implPtr, (HWND)hWnd); return pWin; } private: // + xaserverarg arg; //xdwgrid dw_list; xnode m_agentNode; //Agent Condition xstring m_agentCond; //Agent Node int SetAgent() { - /*xstring xfNodeAgentArea = L"agentarea"; + /* + xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); var xframeElement = GetElement(); var agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); @@ -35,112 +37,108 @@ { xstring s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); - }*/ + } + */ return 1; } //焦点激活处理函数 - int OnSetFocus(TEvent* evt,LPARAM param) + int OnSetFocus(TEvent* evt, LPARAM p) { - SetAgent(); - //重置工具条 + SetAgent(); return 1; } int LoadData() { + SetArg(); if (!GetWinParam()) return 1; xstring content = GetData(); if (content != L"") { xsedit xs = GetControl(L"xcontent"); xs.LoadContent(content,L".xml"); - } - return 1; - } + xml x; + var xdoc = x.GetXmlDoc(); + xdoc.load(content); + xstring s = xdoc.xml; + trace(s); - xstring OnGetType() - { - xwin w = GetFrameWindow(); - xtreeview tv_folder = w.GetControl(L"DevExplorer"); - HTREEITEM hItem = (HTREEITEM)GetWinParam(); - KXMLDOMElement e = tv_folder.GetItemData(hItem); - xstring str = e.getAttribute(L"type"); - return str; + //IXMLDOMDocument xdoc = x.GetXmlDoc(); + //IXMLDOMElement e = x.GetXmlDoc().selectSingleNode(L"config/ruler"); + } + /*arg = GetParam(); + if(arg) + { + xstring val; + xcontrol xc; + + val = arg.GetArgString(L"typename"); + xc = GetControl(L"xmDevType"); + if(val)xc.SetText(val); + val = arg.GetArgString(L"name"); + xc = GetControl(L"xmDevName"); + if(val)xc.SetText(val); + val = arg.GetArgString(L"desc"); + xc = GetControl(L"xmDevDesc"); + if(val)xc.SetText(val); + val = arg.GetArgString(L"uri"); + xc = GetControl(L"xmDevUri"); + if(val)xc.SetText(val); + val = arg.GetArgString(L"src"); + xc = GetControl(L"xmDevPath"); + if(val)xc.SetText(val); + val = arg.GetArgString(L"guid"); + xc = GetControl(L"xmDevGuid"); + if(val)xc.SetText(val); + }*/ + return 1; } //命令发布函数 int OnCmdDispatch(xstring comdid) { - xstring content; - xsedit xs = GetControl(L"xcontent"); - xs.GetContent(content); - - HCURSOR hCursor = xutil::SetCursorWait(); - if (comdid == L"xmFileSave") + if (comdid == L"xmWorkNodeSave") { - //save xml content + HCURSOR hCursor = xutil::SetCursorWait(); + + xstring content; + xsedit xs = GetControl(L"sqlcontent"); + xs.GetContent(content); SaveContent(content); + + xutil::RestoreCursor(hCursor); } - else if (comdid == L"xmValid") + else if (comdid == L"xmPreview") { - xml x ; - if (!x.loadXML(content)) - { - KXMLDOMParseError pError = x.parseError(); - if (pError) - { - xstring str = pError.srcText(); - xstring sError = L"\r\nXML错误: " + str.trim() + L"\r\n"; - int s = pError.errorCode(); - sError += L" 代码: " + xstring(s) + L"\r\n"; - s = pError.line(); - sError += L" 位置: 第" + xstring(s) + L"行,L"; - s = pError.linepos(); - sError += L"第" + xstring(s) + L"列" + L"\r\n"; - str = pError.reason(); - sError += L" 原因: " + str; - trace(sError); - } - else - { - trace(L"XML 错误"); - } - return -1; - } - /*xstring sType = OnGetType(); - if (sType == L"xml.xsd") - { - xstring sError; - x.ValidSchema(content, &sError); - trace(sError); - }*/ } - else if (comdid == L"xmEditFind") + else if (comdid == L"xmWorkNodeSelect") { - OpenWindow(L"dev:xpage[xcode.finddlg]"); } - else if (comdid == L"xmEditReplace") + else if (comdid == L"xmWorkNodeSelectEx") { - OpenWindow(L"dev:xpage[xcode.replacedlg]"); } - xutil::RestoreCursor(hCursor); + else if (comdid == L"xmWorkNodeSelectEx1") + { + + } return 0; } //命令处理事件 - int OnXCommand(TEvent* evt,LPARAM param) + int OnXCommand(TEvent* evt, LPARAM p) { return OnCmdDispatch(evt->xcommand.pStrID); } + int OnAttachEvent() { //绑定工具条点击事件 - AttachEvent(L"WM_XCOMMAND", (FEvent)&XDevEditXRuler::OnXCommand); + AttachEvent(L"WM_XCOMMAND", (FEvent)&XDevEditWorkNode::OnXCommand); //获取焦点事件,用于重置工具条 - AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditXRuler::OnSetFocus); + AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditWorkNode::OnSetFocus); } int OnInitial() -- Gitblit v1.9.3