jrj/ext-jrj/ext-jrj.vcxproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/devloper/XDevEditDbmap.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/devloper/XDevEditXAction.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/devloper/XDevEditXApp.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/devloper/XDevEditXDV.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/devloper/XDevEditXFile.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/devloper/XDevEditXML.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/devloper/XDevEditXMSSQL.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/devloper/XDevEditXRuler.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/kobject/kreport.hpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/xframe/kobject/kxml.hpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
jrj/ext-jrj/ext-jrj.vcxproj
@@ -1176,60 +1176,60 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditDbmap.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXAction.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXApp.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXDV.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXFile.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditFlow.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditHtml.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXLayer.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXML.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXMSSQL.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXOffice.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXPage.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXQuery.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXRuler.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\xframe\devloper\XDevEditXWKDlg.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> jrj/xframe/devloper/XDevEditDbmap.cpp
@@ -5,13 +5,14 @@ #include <xcontrol/xtreeview.hpp> #include <xcontrol/xlayersheet.hpp> #include <xcontrol/xsedit.hpp> #include "XDevEditPage.hpp" using xml = KXMLDOMDocument; class export XDevEditDbmap : public xwin class export XDevEditDbmap : public XDevEditPage { public: XDevEditDbmap(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} XDevEditDbmap(void* implPtr, HWND hWnd) :XDevEditPage(implPtr, hWnd) {} public: static XDevEditDbmap* CreateInstance(void* implPtr, void* hWnd) { @@ -172,7 +173,7 @@ xml x; if (!x.loadXML(content)) { KXMLDOMParseError pError = x.parseError; KXMLDOMParseError pError = x.parseError(); if (pError) { xstring str = pError.srcText(); @@ -197,8 +198,8 @@ xstring sType = OnGetType(); if (sType ==L"xml.xsd") { xstring sError; x.ValidSchema(content, &sError); BSTR sError; x.ValidSchema(content.c_str(), sError); trace(sError); } } @@ -237,7 +238,7 @@ if (content ==L"") return -1; xwin w = GetFrameWindow(); xtreeview tv_folder = w.GetControl(L"DevExplorer"); HTREEITEM hItem = GetWinParam(); HTREEITEM hItem = (HTREEITEM)GetWinParam(); KXMLDOMElement e = tv_folder.GetItemData(hItem); //trace(e.xml); xstring str = e.getAttribute(L"type"); @@ -261,7 +262,7 @@ xstring aurl =L""; if (n) { xstring tmp =L"" + n.text(); xstring tmp =n.text(); aurl =L"/sale/" + xtype +L"/" + tmp +L"/" + content; } else @@ -296,6 +297,7 @@ //获取焦点事件,用于重置工具条 AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditDbmap::OnSetFocus); //AttachEvent(L"content",L"WM_LBUTTONDOWN", (FEvent)&XDeveloper::OnLButtonDown); return 1; } int OnInitial() jrj/xframe/devloper/XDevEditXAction.cpp
@@ -7,12 +7,13 @@ #include <xcontrol/xdwgrid.hpp> #include <xcontrol/xsedit.hpp> #include <xcontrol/xcombobox.hpp> #include "XDevEditPage.hpp" using xml = KXMLDOMDocument; class export XDevEditAction : public xwin class export XDevEditAction : public XDevEditPage { public: XDevEditAction(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} XDevEditAction(void* implPtr, HWND hWnd) :XDevEditPage(implPtr, hWnd) {} public: static XDevEditAction* CreateInstance(void* implPtr, void* hWnd) { @@ -68,7 +69,7 @@ xstring v = e1.getAttribute(L"source"); xc.SetText(L"" + v); xc = GetControl(L"linkname"); xstring v = e1.getAttribute(L"link"); v = e1.getAttribute(L"link"); xc.SetText(L"" + v); KXMLDOMElement e2 = e.selectSingleNode(L"paras"); @@ -176,6 +177,8 @@ AttachEvent(L"WM_XCOMMAND", (FEvent) & XDevEditAction::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditAction::OnSetFocus); return 1; } int OnInitial() jrj/xframe/devloper/XDevEditXApp.cpp
@@ -74,6 +74,8 @@ xstring p = L"<box name='image_view' width='22'><xtoolbutton caption='' image='" + xstring(j) + L"'/></box>"; SetAgentNode(anode,p); } return 1; } int onClare() @@ -125,13 +127,15 @@ SendMessage(xc.GetHWND(), 0x014E, 0, 0); OnCombSelChanged(); return 1; } xstring getTVData(HTREEITEM hitem) { xstring result = L""; HTREEITEM citem = tv_folder.GetChildItem(hitem); while (citem > 0) while (citem) { xstring str = (wchar_t*)tv_folder.GetItemData(citem); xstring name = str.mid(1,str.find(L" ",0)); @@ -170,7 +174,7 @@ { int index = s.toInt(); HTREEITEM h = tv_folder.GetChildItem(hitem); while (h > 0) while (h) { xstring p = (wchar_t*)tv_folder.GetItemData(h); xml x ; @@ -205,6 +209,7 @@ copyNode(citem,h); citem = tv_folder.GetNextItem(citem); } return 1; } //命令发布函数 @@ -420,44 +425,46 @@ } } xc = GetControl(L"image"); xstring str = e.getAttribute(L"image"); str = e.getAttribute(L"image"); //xc.SetText(L""+str); SendMessage(xc.GetHWND(), 0x014E, str.toInt(), 0); xc = GetControl(L"index"); xstring str = e.getAttribute(L"index"); str = e.getAttribute(L"index"); xc.SetText(L"" + str); xc = GetControl(L"code"); xstring str = e.getAttribute(L"code"); str = e.getAttribute(L"code"); xc.SetText(L"" + str); xc = GetControl(L"name"); xstring str = e.getAttribute(L"name"); str = e.getAttribute(L"name"); xc.SetText(L"" + str); xc = GetControl(L"status"); xstring str = e.getAttribute(L"status"); str = e.getAttribute(L"status"); xc.SetText(L"" + str); OnCombSelChanged(); return 1; } int OnTreeSelChanged(ref TNotifyEvent evt,int param) int OnTreeSelChanged(TEvent* evt,LPARAM param) { ref NMTREEVIEW nmtv = evt.pnmh; int hitem = nmtv.itemNew.hItem; NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; HTREEITEM hitem = nmtv.itemNew.hItem; onClare(); m_mode = L"new"; if (hitem == tv_folder.GetRootItem()) return 0; //IXMLDOMElement e = tv_folder.GetItemData(hitem); //trace(e.xml); param p = tv_folder.GetItemData(hitem); xstring p = (wchar_t*)tv_folder.GetItemData(hitem); xml x ; x.loadXML(L"" + xstring(p)); IXMLDOMElement e = x.documentElement; m_type = e.tagName; x.loadXML(p); KXMLDOMElement e = x.documentElement(); m_type = e.tagName(); if (m_type == L"file") OnCmdDispatch(L"NewFile"); else @@ -469,12 +476,14 @@ int OnAttachEvent() { //绑定工具条点击事件 AttachEvent(L"WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&XDevEditXApp::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent(L"WM_SETFOCUS",OnSetFocus); AttachEvent(L"image", L"CBN_SELCHANGE",OnCombSelChanged); AttachEvent(L"tv_folder", L"TVN_ENDDRAG",OnTreeDrag); AttachEvent(L"tv_folder", L"TVN_SELCHANGED",OnTreeSelChanged); AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditXApp::OnSetFocus); AttachEvent(L"image", L"CBN_SELCHANGE", (FEvent)&XDevEditXApp::OnCombSelChanged); AttachEvent(L"tv_folder", L"TVN_ENDDRAG", (FEvent)&XDevEditXApp::OnTreeDrag); AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&XDevEditXApp::OnTreeSelChanged); return 1; } int OnInitial() @@ -487,7 +496,7 @@ int i; for (i = 0; i < 35; i++) { SendMessage(xc.GetHWND(), 0x0143, 0, i.toString()); SendMessage(xc.GetHWND(), 0x0143, 0, (LPARAM)xstring(i).c_str()); //param p=i.toString(); //SendMessage(xc.GetHWND(), 0x0151, i, p); } @@ -496,21 +505,19 @@ return 1; } int OnTreeAdd(int hitem, IXMLDOMElement e) int OnTreeAdd(HTREEITEM hitem, KXMLDOMElement e) { auto list = e.selectNodes(L"*"); int i; int s = list.length; int s = list.length(); for (i = 0; i < s; i++) { IXMLDOMElement ele = list.item(i); KXMLDOMElement ele = list.item(i); xstring name = ele.getAttribute(L"caption"); xstring image = ele.getAttribute(L"image"); image = L"" + image; xstring data = ele.xml; xstring data = ele.xml(); data = data.mid(0,data.find(L">",1)) + L"/>"; param p = data; int j = tv_folder.InsertChildItem(hitem,name,p,image.toInt()); HTREEITEM j = tv_folder.InsertChildItem(hitem,name.c_str(), (LPARAM)data.c_str(true), image.toInt()); OnTreeAdd(j,ele); } return 1; @@ -529,13 +536,13 @@ OnCmdDispatch(L"NewFolder"); m_mode = L"new"; if (!GetParam()) return 1; if (!GetWinParam()) return 1; xwin w = GetFrameWindow(); xtree tv = w.GetControl(L"DevExplorer"); int hItem = GetParam(); IXMLDOMElement e = tv.GetItemData(hItem); xtreeview tv = w.GetControl(L"DevExplorer"); HTREEITEM hItem = (HTREEITEM)GetWinParam(); KXMLDOMElement e = tv.GetItemData(hItem); xstring name = e.getAttribute(L"caption"); int root = tv_folder.InsertItem(L"" + name,e,17); HTREEITEM root = tv_folder.InsertItem(name.c_str(), e, 17); xstring content = GetData(); if (content != L"") { @@ -543,7 +550,7 @@ xml x ; if (x.loadXML(content)) { OnTreeAdd(root,x.documentElement); OnTreeAdd(root,x.documentElement()); tv_folder.ExpandItemEx(root); } } jrj/xframe/devloper/XDevEditXDV.cpp
@@ -7,12 +7,13 @@ #include <xcontrol/xdwgrid.hpp> #include <xcontrol/xsedit.hpp> #include <xcontrol/xcombobox.hpp> #include "XDevEditPage.hpp" using xml = KXMLDOMDocument; class export XDevEditXDV : public xwin class export XDevEditXDV : public XDevEditPage { public: XDevEditXDV(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} XDevEditXDV(void* implPtr, HWND hWnd) :XDevEditPage(implPtr, hWnd) {} public: static XDevEditXDV* CreateInstance(void* implPtr, void* hWnd) { @@ -86,7 +87,7 @@ xml x; if (!x.loadXML(content)) { KXMLDOMParseError pError = x.parseError; KXMLDOMParseError pError = x.parseError(); if (pError) { xstring str = pError.srcText(); @@ -111,8 +112,8 @@ xstring sType = OnGetType(); if (sType == L"xml.xsd") { xstring sError; x.ValidSchema(content, &sError); BSTR sError; x.ValidSchema((const wchar_t*)content.c_str(), sError); trace(sError); } xutil::RestoreCursor(hCursor); @@ -142,6 +143,8 @@ AttachEvent(L"WM_XCOMMAND",(FEvent)&XDevEditXDV::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditXDV::OnSetFocus); return 1; } /* jrj/xframe/devloper/XDevEditXFile.cpp
@@ -181,8 +181,8 @@ xstring sType = OnGetType(); if (sType == L"xml.xsd") { xstring sError; x.ValidSchema(content, &sError); BSTR sError= nullptr; x.ValidSchema((const wchar_t* )content.c_str(), sError); trace(sError); } } @@ -211,7 +211,7 @@ else if (sType == L"xml.xsd") { xml doc; x.GetSchemaXml(content,doc); x.GetSchemaXml((LPTSTR)content.c_str(), doc); //trace(doc.xml()); auto e = doc.selectSingleNode(L"root/schema"); if (e) { @@ -244,7 +244,7 @@ { HTREEITEM hP2Item = 0; HTREEITEM hDomainItem = 0; if (tv_folder.GetParentItem(hItem) <= 0) if (!tv_folder.GetParentItem(hItem)) { hDomainItem = hItem; } @@ -302,7 +302,7 @@ { xstring xsd = GetXSD(L"" + filename); xml x; x.GetSchemaXml(xsd,x); x.GetSchemaXml((LPTSTR)xsd.c_str(), x); trace(x.xml()); /* xml x = new xml; @@ -337,6 +337,8 @@ //获取焦点事件,用于重置工具条 AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditXFile::OnSetFocus); AttachEvent(L"xreport",L"DWV_DOUBLECLICKED", (FEvent)&XDevEditXFile::OnDoubleClicked); return 1; } int LoadData() jrj/xframe/devloper/XDevEditXML.cpp
@@ -7,12 +7,13 @@ #include <xcontrol/xdwgrid.hpp> #include <xcontrol/xsedit.hpp> #include <xcontrol/xcombobox.hpp> #include "XDevEditPage.hpp" using xml = KXMLDOMDocument; class export XDevEditXML : public xwin class export XDevEditXML : public XDevEditPage { public: XDevEditXML(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} XDevEditXML(void* implPtr, HWND hWnd) :XDevEditPage(implPtr, hWnd) {} public: static XDevEditXML* CreateInstance(void* implPtr, void* hWnd) { @@ -129,8 +130,8 @@ xstring sType = OnGetType(); if (sType == L"xml.xsd") { xstring sError; x.ValidSchema(content, &sError); BSTR sError; x.ValidSchema(content.c_str(), sError); trace(sError); } } @@ -227,6 +228,8 @@ //获取焦点事件,用于重置工具条 AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditXML::OnSetFocus); //AttachEvent(L"content",L"WM_LBUTTONDOWN", ,(FEvent)&XDevEditXML::OnLButtonDown); return 1; } int OnInitial() jrj/xframe/devloper/XDevEditXMSSQL.cpp
@@ -53,7 +53,7 @@ xstring getLink(HTREEITEM item) { HTREEITEM p = tv_db.GetParentItem(item); while (tv_db.GetParentItem(p) > 0) while (tv_db.GetParentItem(p)) { item = tv_db.GetParentItem(item); p = tv_db.GetParentItem(item); @@ -139,7 +139,7 @@ int onShow() { while (tv_db.GetRootItem() > 0) while (tv_db.GetRootItem()) tv_db.DeleteItem(tv_db.GetRootItem()); xsedit xs = GetControl(L"xcontent"); xstring content; @@ -158,13 +158,13 @@ xstring name = ele.getAttribute(L"name"); xstring link = ele.getAttribute(L"link"); HTREEITEM k = tv_db.InsertChildItem(root,L"" + name,L"" + link,15); HTREEITEM j = tv_db.InsertChildItem(k,L"表",L"table",22); HTREEITEM j = tv_db.InsertChildItem(k,L"表",(LPARAM)L"table",22); tv_db.SetItemChild1(j,1); j = tv_db.InsertChildItem(k,L"视图",L"view",23); j = tv_db.InsertChildItem(k,L"视图", (LPARAM)L"view",23); tv_db.SetItemChild1(j,1); j = tv_db.InsertChildItem(k,L"存储过程",L"procedure",24); j = tv_db.InsertChildItem(k,L"存储过程", (LPARAM)L"procedure",24); tv_db.SetItemChild1(j,1); j = tv_db.InsertChildItem(k,L"自定义函数",L"function",25); j = tv_db.InsertChildItem(k,L"自定义函数", (LPARAM)L"function",25); tv_db.SetItemChild1(j,1); } tv_db.ExpandItem(root); @@ -227,7 +227,7 @@ } else if (comdid == L"xmQuery") { xstring guid = win32::GetGuid(); xstring guid = publiccode::GetGuid(); xstring caption = L"Query_" + guid.mid(1,8); if (OnOpen(caption,L"query") == 0) return 0; xsedit xs = GetControl(L"sql_" + caption); @@ -302,7 +302,7 @@ { NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; HTREEITEM item = nmtv.itemNew.hItem; if (tv_db.GetChildItem(item) > 0) return 0; if (tv_db.GetChildItem(item)) return 0; OnTreeExpand(item); return 1; } @@ -331,13 +331,13 @@ { tv_db.ExpandItemEx(item); HTREEITEM gitem = tv_db.GetChildItem(item); while (gitem > 0) while (gitem) { xstring data = L"" + tv_db.GetItemData(gitem); if (data.left(6) != L"group@") break; gitem = tv_db.GetNextItem(gitem); } xstring guid = win32::GetGuid(); xstring guid = publiccode::GetGuid(); if (OnGroupAction(guid,L"",L"group.update") != 1) return 0; HTREEITEM j = tv_db.InsertItem(item,gitem,L"",L"group@" + guid,25); tv_db.ItemEdit(j); @@ -370,7 +370,7 @@ int OnRefresh(HTREEITEM item) { while (tv_db.GetChildItem(item) > 0) while (tv_db.GetChildItem(item)) tv_db.DeleteItem(tv_db.GetChildItem(item)); OnTreeExpand(item); return 1; @@ -498,7 +498,7 @@ OnDesign(caption); else if (popup == L"新建表") { xstring guid = win32::GetGuid(); xstring guid = publiccode::GetGuid(); xstring text = L"Table_" + guid.mid(1,8); OnDesign(text); } @@ -558,17 +558,19 @@ int OnAttachEvent() { //绑定工具条点击事件 AttachEvent(L"WM_XCOMMAND",(FEvent)XDevEditXMSSQL::OnXCommand); AttachEvent(L"WM_XCOMMAND",(FEvent)&XDevEditXMSSQL::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent(L"WM_SETFOCUS", (FEvent)XDevEditXMSSQL::OnSetFocus); AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditXMSSQL::OnSetFocus); //获得树的展开事件 AttachEvent(L"tv_db", L"TVN_ITEMEXPANDING", (FEvent)XDevEditXMSSQL::OnTreeExpanding); AttachEvent(L"tv_db", L"TVN_ITEMEXPANDING", (FEvent)&XDevEditXMSSQL::OnTreeExpanding); //获得树的选择事件 //AttachEvent(L"tv_db", L"TVN_SELCHANGED",(FEvent)XDevEditXMSSQL::OnTreeSelChanged); AttachEvent(L"tv_db", L"TVN_RCLICK", (FEvent)XDevEditXMSSQL::OnTreeRClick); AttachEvent(L"tv_db", L"TVN_BEGINDRAG", (FEvent)XDevEditXMSSQL::OnTreeBeginDrag); AttachEvent(L"tv_db", L"TVN_ENDDRAG", (FEvent)XDevEditXMSSQL::OnTreeEndDrag); AttachEvent(L"tv_db", L"TVN_ENDLABELEDIT", (FEvent)XDevEditXMSSQL::OnTreeEndEdit); //AttachEvent(L"tv_db", L"TVN_SELCHANGED",(FEvent)&XDevEditXMSSQL::OnTreeSelChanged); AttachEvent(L"tv_db", L"TVN_RCLICK", (FEvent)&XDevEditXMSSQL::OnTreeRClick); AttachEvent(L"tv_db", L"TVN_BEGINDRAG", (FEvent)&XDevEditXMSSQL::OnTreeBeginDrag); AttachEvent(L"tv_db", L"TVN_ENDDRAG", (FEvent)&XDevEditXMSSQL::OnTreeEndDrag); AttachEvent(L"tv_db", L"TVN_ENDLABELEDIT", (FEvent)&XDevEditXMSSQL::OnTreeEndEdit); return 1; } int LoadData() jrj/xframe/devloper/XDevEditXRuler.cpp
@@ -141,6 +141,8 @@ AttachEvent(L"WM_XCOMMAND", (FEvent)&XDevEditXRuler::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditXRuler::OnSetFocus); return 1; } int OnInitial() jrj/xframe/kobject/kreport.hpp
@@ -1,13 +1,14 @@ #pragma once #include "kcontrol.hpp" #include "kdwview.hpp" namespace Hxsoft{ namespace XFrame{ namespace XOffice {namespace XReport { class IXReport : public IXFControl class IXReport : public IDwView //public IXFControl { public: enum RowStatus{rs_new=0,rs_newmodified,rs_datamodified,rs_datanotmodified}; enum DWBuffer{dbuf_normal=0,dbuf_filter,dbuf_delete}; //enum RowStatus{rs_new=0,rs_newmodified,rs_datamodified,rs_datanotmodified}; //enum DWBuffer{dbuf_normal=0,dbuf_filter,dbuf_delete}; public: int GetRow_(); jrj/xframe/kobject/kxml.hpp
@@ -1,6 +1,8 @@ #pragma once typedef wchar_t* BSTR ; #if 1 namespace Hxsoft { namespace XFrame { class KXMLDOMNode; @@ -14,6 +16,8 @@ class KXMLDOMProcessingInstruction; class KXMLDOMNodeList; class KXMLDOMParseError; class KXMLDOMParseError; class KXMLDOMSchemaCollection; enum KDOMNodeType { @@ -212,6 +216,13 @@ wchar_t* transformNode(KXMLDOMNode); KXMLDOMNode transformNodeToObject(KXMLDOMNode); public: KXMLDOMParseError parseError(); public: KXMLDOMSchemaCollection namespaces(); KXMLDOMSchemaCollection schemas(); bool setSchemas(KXMLDOMSchemaCollection collection); KXMLDOMParseError validate(); //bool validateNode(); public: @@ -226,6 +237,12 @@ { if (documentElement())removeChild(documentElement()); } public: static bool ValidSchema(const wchar_t* pSchema, BSTR& errText); static bool ValidSchema(KXMLDOMDocument xml, KXMLDOMDocument schema, BSTR& errText); public: static int GetSchemaXml(LPTSTR pSchema, KXMLDOMDocument& x); }; class KXMLDOMAttribute : public KXMLDOMNode @@ -275,6 +292,38 @@ KXMLDOMDocumentFragment(void* impl) :KXMLDOMNode(impl) {} }; class KXMLDOMParseError : public KXMLDOMNode { public: KXMLDOMParseError(KXMLDOMNode& v); KXMLDOMParseError(void* impl) :KXMLDOMNode(impl) {} public: int errorCode(); int filepos(); int line(); int linepos(); BSTR reason(); BSTR srcText(); BSTR url(); }; class KXMLDOMSchemaCollection { public: protected: void* impl; public: KXMLDOMSchemaCollection(void* impl); KXMLDOMSchemaCollection(); KXMLDOMSchemaCollection(LPARAM p); ~KXMLDOMSchemaCollection(); public: KXMLDOMSchemaCollection(const KXMLDOMSchemaCollection& rhs); const KXMLDOMSchemaCollection& operator =(const KXMLDOMSchemaCollection& rhs); public: void* getImpl(); }; }} @@ -283,7 +332,10 @@ using KXMLDOMNode=Hxsoft::XFrame::KXMLDOMNode; using KXMLDOMElement=Hxsoft::XFrame::KXMLDOMElement; using KXMLDOMNodeList = Hxsoft::XFrame::KXMLDOMNodeList; using KXMLDOMParseError = Hxsoft::XFrame::KXMLDOMParseError; using KXMLDOMSchemaCollection = Hxsoft::XFrame::KXMLDOMSchemaCollection; /* class KXMLDOMParseError : public KXMLDOMNode { public: @@ -298,7 +350,7 @@ BSTR srcText(); BSTR url(); }; */ class KXMLDOMElementPtr { private: @@ -315,3 +367,335 @@ KXMLDOMElement* operator -> () { return m_pElement; } }; #endif #if 0 namespace Hxsoft { namespace XFrame { class KXMLDOMNode; class KXMLDOMAttribute; class KXMLDOMElement; class KXMLDOMCDATASection; class KXMLDOMDocumentFragment; class KXMLDOMComment; class KXMLDOMEntityReference; class KXMLDOMTextNode; class KXMLDOMProcessingInstruction; class KXMLDOMNodeList; class KXMLDOMParseError; class KXMLDOMSchemaCollection; enum KDOMNodeType { KNODE_INVALID = 0, KNODE_ELEMENT = (KNODE_INVALID + 1), KNODE_ATTRIBUTE = (KNODE_ELEMENT + 1), KNODE_TEXT = (KNODE_ATTRIBUTE + 1), KNODE_CDATA_SECTION = (KNODE_TEXT + 1), KNODE_ENTITY_REFERENCE = (KNODE_CDATA_SECTION + 1), KNODE_ENTITY = (KNODE_ENTITY_REFERENCE + 1), KNODE_PROCESSING_INSTRUCTION = (KNODE_ENTITY + 1), KNODE_COMMENT = (KNODE_PROCESSING_INSTRUCTION + 1), KNODE_DOCUMENT = (KNODE_COMMENT + 1), KNODE_DOCUMENT_TYPE = (KNODE_DOCUMENT + 1), KNODE_DOCUMENT_FRAGMENT = (KNODE_DOCUMENT_TYPE + 1), KNODE_NOTATION = (KNODE_DOCUMENT_FRAGMENT + 1) }; class KXMLDOMNodeList { public: long length(); bool length(long&); bool length(long*); bool get_length(long* v) { return length(v); } KXMLDOMNode item(int index); bool item(int index, KXMLDOMNode& node); bool item(int index, KXMLDOMNode* node); bool get_item(int index, KXMLDOMNode* node) { return item(index, node); } private: void* impl; public: void* getImpl(); public: KXMLDOMNodeList(void* impl); KXMLDOMNodeList() :impl(nullptr) {} ~KXMLDOMNodeList(); public: operator bool() { return impl ? true : false; } public: KXMLDOMNodeList(const KXMLDOMNodeList& rhs); const KXMLDOMNodeList& operator =(const KXMLDOMNodeList& rhs); }; class KXMLDOMElement; class KXMLDOMAttribute; class KXMLDOMDocument; class KXMLDOMNode { public: // attributes // baseName KXMLDOMNodeList childNodes(); // dataType // definition KXMLDOMNode firstChild(); KXMLDOMNode lastChild(); // namespaceURI // namespaceURI KXMLDOMNode nextSibling(); const wchar_t* nodeName(); KDOMNodeType nodeType(); KDOMNodeType get_nodeType() { return nodeType(); } // nodeTypedValue // nodeTypeString // nodeValue KXMLDOMDocument ownerDocument(); KXMLDOMNode parentNode(); // parsed // prefix KXMLDOMNode previousSibling(); // specified const wchar_t* tagName(); const wchar_t* text(); const wchar_t* xml(); bool get_tagName(BSTR& str); bool get_text(BSTR& str); bool get_xml(BSTR& str); bool get_tagName(BSTR* str) { return get_tagName(*str); } bool get_text(BSTR* str) { return get_text(*str); } bool get_xml(BSTR* str) { return get_xml(*str); } bool settext(const wchar_t* txt); bool put_text(const wchar_t* txt) { return settext(txt); } bool appendChild(KXMLDOMNode); KXMLDOMNode cloneNode(bool); wchar_t* getAttribute(const wchar_t* name); void getAttribute(const wchar_t* name, void* vt); KXMLDOMAttribute getAttributeNode(const wchar_t* name); KXMLDOMNodeList getElementsByTagName(const wchar_t* name); bool hasChildNodes(); bool insertBefore(KXMLDOMNode newnode, KXMLDOMNode at); void normalize(); bool removeAttribute(const wchar_t* name); bool removeAttributeNode(KXMLDOMNode attr); bool removeChild(KXMLDOMNode val); bool replaceChild(KXMLDOMNode newChild, KXMLDOMNode oldChild); KXMLDOMNodeList selectNodes(const wchar_t*); KXMLDOMNode selectSingleNode(const wchar_t*); bool selectNodes(const wchar_t*, KXMLDOMNodeList& pNodeList); bool selectSingleNode(const wchar_t*, KXMLDOMNode& pNode); bool selectNodes(const wchar_t*, KXMLDOMNodeList* pNodeList); bool selectSingleNode(const wchar_t*, KXMLDOMNode* pNode); void setAttribute(const wchar_t* name, const wchar_t* value); void setAttribute(const wchar_t* name, long val); void setAttribute(const wchar_t* name, int val); void setAttribute(const wchar_t* name, double val); wchar_t* transformNode(KXMLDOMNode stylesheet); KXMLDOMNode transformNodeToObject(KXMLDOMNode); protected: void* impl; public: KXMLDOMNode(void* impl); KXMLDOMNode() :KXMLDOMNode(nullptr) {} ~KXMLDOMNode(); KXMLDOMNode(LPARAM p) :KXMLDOMNode((void*)p) { AddRef(); } public: KXMLDOMNode(const KXMLDOMNode& rhs); const KXMLDOMNode& operator =(const KXMLDOMNode& rhs); public: operator bool() { return impl ? true : false; } public: void* getImpl(); public: unsigned long AddRef(); unsigned long Release(); public: bool operator !=(KXMLDOMNode& rhs) { return rhs.getImpl() != getImpl(); } bool operator ==(KXMLDOMNode& rhs) { return rhs.getImpl() == getImpl(); } }; class KXMLDOMElement : public KXMLDOMNode { public: KXMLDOMElement(KXMLDOMNode v); KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {} KXMLDOMElement() :KXMLDOMNode() {} public: KXMLDOMElement(LPARAM p) :KXMLDOMNode(p) {} }; class KXMLDOMAttribute : public KXMLDOMNode { public: KXMLDOMAttribute(KXMLDOMNode& v); KXMLDOMAttribute(void* impl) :KXMLDOMNode(impl) {} }; class KXMLDOMCDATASection : public KXMLDOMNode { public: KXMLDOMCDATASection(KXMLDOMNode& v); KXMLDOMCDATASection(void* impl) :KXMLDOMNode(impl) {} }; class KXMLDOMDocument : public KXMLDOMNode { public: bool operator !() { return !impl || !documentElement(); } public: const wchar_t* text(); const wchar_t* url(); const wchar_t* xml(); KXMLDOMElement documentElement(); bool documentElement(KXMLDOMElement* pDoc); bool get_documentElement(KXMLDOMElement* pDoc) { return documentElement(pDoc); } public: KXMLDOMParseError parseError(); public: bool appendChild(KXMLDOMNode); KXMLDOMAttribute createAttribute(const wchar_t*); KXMLDOMCDATASection createCDATASection(const wchar_t*); KXMLDOMComment createComment(const wchar_t*); KXMLDOMDocumentFragment createDocumentFragment(); KXMLDOMElement createElement(const wchar_t*); bool createElement(const wchar_t*, KXMLDOMElement* ele); KXMLDOMEntityReference createEntityReference(const wchar_t*); KXMLDOMNode createNode(KDOMNodeType ty, const wchar_t* name, const wchar_t* ns); KXMLDOMProcessingInstruction createProcessingInstruction(const wchar_t* target, const wchar_t* data); KXMLDOMTextNode createTextNode(const wchar_t*); KXMLDOMNodeList getElementsByTagName(const wchar_t*); wchar_t* getProperty(const wchar_t*); bool setProperty(const wchar_t* prop, const wchar_t* val); bool setProperty(const wchar_t* prop, bool val); bool hasChildNodes(); bool importNode(KXMLDOMNode); bool insertBefore(KXMLDOMNode newnode, KXMLDOMNode at); bool load(const wchar_t*); bool loadXML(const wchar_t*); KXMLDOMNode nodeFromID(const wchar_t*); bool removeChild(KXMLDOMNode); bool replaceChild(KXMLDOMNode newChild, KXMLDOMNode oldChild); bool save(const wchar_t*); KXMLDOMNodeList selectNodes(const wchar_t*); KXMLDOMNode selectSingleNode(const wchar_t*); bool selectNodes(const wchar_t*, KXMLDOMNodeList& pNodeList); bool selectSingleNode(const wchar_t*, KXMLDOMNode& pNode); bool selectNodes(const wchar_t*, KXMLDOMNodeList* pNodeList); bool selectSingleNode(const wchar_t*, KXMLDOMNode* pNode); wchar_t* transformNode(KXMLDOMNode); KXMLDOMNode transformNodeToObject(KXMLDOMNode); public: KXMLDOMSchemaCollection namespaces(); KXMLDOMSchemaCollection schemas(); bool setSchemas(KXMLDOMSchemaCollection collection); KXMLDOMParseError validate(); //bool validateNode(); public: KXMLDOMDocument(void* impl); KXMLDOMDocument(); ~KXMLDOMDocument(); public: const KXMLDOMDocument& operator =(const KXMLDOMDocument& rhs); KXMLDOMDocument(const KXMLDOMDocument& rhs); public: void Reset() { if (documentElement())removeChild(documentElement()); } public: static bool ValidSchema(const wchar_t* pSchema, BSTR& errText); static bool ValidSchema(KXMLDOMDocument xml, KXMLDOMDocument schema, BSTR& errText); public: static int GetSchemaXml(LPTSTR pSchema, KXMLDOMDocument& x); }; class KXMLDOMComment : public KXMLDOMNode { public: KXMLDOMComment(KXMLDOMNode& v); KXMLDOMComment(void* impl) :KXMLDOMNode(impl) {} }; class KXMLDOMEntityReference : public KXMLDOMNode { public: KXMLDOMEntityReference(KXMLDOMNode& v); KXMLDOMEntityReference(void* impl) :KXMLDOMNode(impl) {} }; class KXMLDOMTextNode : public KXMLDOMNode { public: KXMLDOMTextNode(KXMLDOMNode& v); KXMLDOMTextNode(void* impl) :KXMLDOMNode(impl) {} }; class KXMLDOMProcessingInstruction : public KXMLDOMNode { public: KXMLDOMProcessingInstruction(KXMLDOMNode& v); KXMLDOMProcessingInstruction(void* impl) :KXMLDOMNode(impl) {} }; class KXMLDOMDocumentFragment : public KXMLDOMNode { public: KXMLDOMDocumentFragment(KXMLDOMNode& v); KXMLDOMDocumentFragment(void* impl) :KXMLDOMNode(impl) {} }; class KXMLDOMParseError : public KXMLDOMNode { public: KXMLDOMParseError(KXMLDOMNode& v); KXMLDOMParseError(void* impl) :KXMLDOMNode(impl) {} public: int errorCode(); int filepos(); int line(); int linepos(); BSTR reason(); BSTR srcText(); BSTR url(); }; class KXMLDOMSchemaCollection { public: protected: void* impl; public: KXMLDOMSchemaCollection(void* impl); KXMLDOMSchemaCollection(); KXMLDOMSchemaCollection(LPARAM p); ~KXMLDOMSchemaCollection(); public: KXMLDOMSchemaCollection(const KXMLDOMSchemaCollection& rhs); const KXMLDOMSchemaCollection& operator =(const KXMLDOMSchemaCollection& rhs); public: void* getImpl(); }; } } using KXMLDOMDocument = Hxsoft::XFrame::KXMLDOMDocument; using KXMLDOMNode = Hxsoft::XFrame::KXMLDOMNode; using KXMLDOMElement = Hxsoft::XFrame::KXMLDOMElement; using KXMLDOMNodeList = Hxsoft::XFrame::KXMLDOMNodeList; using KXMLDOMParseError = Hxsoft::XFrame::KXMLDOMParseError; using KXMLDOMSchemaCollection = Hxsoft::XFrame::KXMLDOMSchemaCollection; #endif