þÿ#include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <xcontrol/xcell.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) SupplierMessageWin : public xframe { public: xdwtable dw_base; //xdwgrid dw_list; xnode m_agentNode; //Agent Condition public: SupplierMessageWin(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static SupplierMessageWin* CreateInstance(void* implPtr, void* hWnd) { SupplierMessageWin* pWin = new SupplierMessageWin(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { return 1; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if (m_agentNode) { SetAgentNode(anode, m_agentNode); } else { KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/" + xfNodeAgentArea + L"[1]/*"); if (agent) { xstring s = agent.xml(); m_agentNode = SetAgentNode(anode, s); } } return 1; } //q&p¹oÀm;YtQýep int OnSetFocus(TEvent* evt, LPARAM p) { //‘Ín]åQwga SetAgent(); return 1; } int UpLoad(xstring name) { xstring str = name.mid(0, 2); str = str.toUpper(); int ret1 = xaserver::Upload(L"supplier" + str, name + L".jpg", GetHWND(), L"", false); return ret1; } int OnItemClick(TEvent* evt, LPARAM p) { DWNMHDR& hdr1 = *(DWNMHDR*)evt->notify.pnmh; xstring colname1 = hdr1.colname; DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; xstring value = hdr.data; xaserverarg arg; if (value == L"N O –DNö") { xstring strguid = publiccode::GetGuid(); //alert(strguid); int ret1 = UpLoad(strguid); if (ret1 == -1) return -1; if (ret1 == 0) { alert(L"N O –DNöY1%"); return -1; } else { alert(L"N O –DNöbRŸ"); xstring strimage = dw_base.GetItemString(1, L"ImageList1"); //alert(strimage); if (strimage == L"") strimage = L"<ImageList></ImageList>"; xml y; y.loadXML(strimage); KXMLDOMElement ele = y.documentElement(); xml x ; xstring xx = L"<ImageList><image>" + strguid + L".jpg</image></ImageList>"; x.loadXML(xx); KXMLDOMElement e = x.selectSingleNode(L"//image"); ele.appendChild(e); dw_base.SetItemString(1, L"ImageList1", ele.xml()); dw_base.Redraw(); } } if (value == L"gåw ") { arg.AddArg(L"src", dw_base.GetItemString(1, L"ImageList1")); //int pa = arg.getNativePointer(); openUrl(L"/sale/view/SupplierV3/xpage/supplierattachment/picture", arg); dw_base.SetItemString(1, L"ImageList1", arg.GetArgString(L"src")); } return 1; } int GetEntityData(xaserverarg arg) { xml x ; dw_base.DwUpdateAllTo(x); arg.AddArg(L"EntityData", x.xml()); return 1; } xaserverarg GetArg(xstring comdid) { if (comdid.find(L":") >= 0) { xaserverarg arg = comdid.mid(comdid.find(L":") + 1, 64).toInt(); return arg; } return 0; } int GetEntityInfo(xaserverarg arg) { arg.AddArg(L"EntityName", L"Supplier"); arg.AddArg(L"EntityID", dw_base.GetGuid(1)); return 1; } //T}NäSÑ^Qýep int OnCmdDispatch(xstring comdid) { if (comdid.find(L"GetEntityInfo:") == 0) return GetEntityInfo(GetArg(comdid)); else if (comdid.find(L"GetEntityData:") == 0) return GetEntityData(GetArg(comdid)); else if (comdid == L"xmAddRow") return OnAddRow(); else if (comdid == L"xmDeleteRow") return OnDeleteRow(); return 0; } //T}NäYtN‹Nö int OnXCommand(TEvent* evt, LPARAM p) { return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //~Ñ[š]åQwgap¹QûN‹Nö AttachEvent(L"WM_XCOMMAND", (FEvent)&SupplierMessageWin::OnXCommand); //ƒ·SÖq&p¹N‹Nöÿ u(NŽ‘Ín]åQwga AttachEvent(L"WM_SETFOCUS", (FEvent)&SupplierMessageWin::OnSetFocus); AttachEvent(L"dw_base", L"DWV_CLICKED", (FEvent)&SupplierMessageWin::OnItemClick); } int OnAddRow() { xdwtable dw_obj = dw_base.FindDwTable(L"item"); dw_obj.InsertRow(0); return 1; } int OnDeleteRow() { xdwtable dw_obj = dw_base.GetCurTable(); dw_obj.DeleteRow(0); return 1; } /* int OnRetrieve() { xml x ; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.AddArg(L"xxx",L"xxx"); if (getUrl(L"",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { //dw_list.Retrieve(x); //dw_list.Redraw(); } return 1; } */ int onload() { dw_base = GetControl(L"dw_base"); dw_base.openUrl(L"/sale/view/SupplierV3/template/supplier/simplebase"); dw_base.SetColHeaderHeight(0); dw_base.SetRowSelectorWidth(0); //dw_base.SetHScrollState(false); //dw_base.SetVScrollState(false); OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } };