| | |
| | | use "xcontrol.vframe.vbusiness.vd" |
| | | use "xbase.vframe.vbusiness.vd" |
| | | use "base.view.vd" |
| | | use "xflowchart.wobject.wface.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> |
| | | #include <xcontrol/xflowchart.hpp> |
| | | |
| | | unit trade |
| | | [ |
| | | class flow : public xframe |
| | | |
| | | #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" |
| | | #include "viewobject/view.base.hpp" |
| | | |
| | | using xml = KXMLDOMDocument; |
| | | class __declspec(dllexport) flow : public xframe |
| | | { |
| | | public: |
| | | xtreeview tv_1; |
| | | xlayersheet tab_1; |
| | | xdwgrid dw_flow; |
| | |
| | | xdwgrid dw_scene; |
| | | xdwgrid dw_buttonright; |
| | | xdwgrid dw_datafieldright; |
| | | string flowid; |
| | | xstring flowid; |
| | | |
| | | xtreeview tv_folder; |
| | | |
| | | xnode m_agentNode; //Agent Condition |
| | | |
| | | string GetSheetType(int index) |
| | | public: |
| | | flow(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} |
| | | public: |
| | | static flow* CreateInstance(void* implPtr, void* hWnd) |
| | | { |
| | | if (index == 0) return "flowitem"; |
| | | else if (index == 1) return "state"; |
| | | else if (index == 2) return "actionrole"; |
| | | else if (index == 3) return "button"; |
| | | else if (index == 4) return "role"; |
| | | else if (index == 5) return "bill"; |
| | | else if (index == 6) return "scene"; |
| | | else if (index ==7) return "fieldrole"; |
| | | else return "unkown"; |
| | | flow* pWin = new flow(implPtr, (HWND)hWnd); |
| | | return pWin; |
| | | } |
| | | xstring GetSheetType(int index) |
| | | { |
| | | if (index == 0) return L"flowitem"; |
| | | else if (index == 1) return L"state"; |
| | | else if (index == 2) return L"actionrole"; |
| | | else if (index == 3) return L"button"; |
| | | else if (index == 4) return L"role"; |
| | | else if (index == 5) return L"bill"; |
| | | else if (index == 6) return L"scene"; |
| | | else if (index ==7) return L"fieldrole"; |
| | | else return L"unkown"; |
| | | } |
| | | xdwgrid GetSheetDwgrid(int index) |
| | | { |
| | | string typ = GetSheetType(index); |
| | | if(typ=="flowitem") return dw_flow; |
| | | if(typ=="actionrole") return dw_buttonright; |
| | | if(typ=="state") return dw_state; |
| | | if(typ=="button") return dw_button; |
| | | if(typ=="role") return dw_role; |
| | | if(typ=="bill") return dw_bill; |
| | | if(typ=="scene") return dw_scene; |
| | | if(typ=="fieldrole") return dw_datafieldright; |
| | | xstring typ = GetSheetType(index); |
| | | if(typ==L"flowitem") return dw_flow; |
| | | if(typ==L"actionrole") return dw_buttonright; |
| | | if(typ==L"state") return dw_state; |
| | | if(typ==L"button") return dw_button; |
| | | if(typ==L"role") return dw_role; |
| | | if(typ==L"bill") return dw_bill; |
| | | if(typ==L"scene") return dw_scene; |
| | | if(typ==L"fieldrole") return dw_datafieldright; |
| | | return 0; |
| | | } |
| | | xdwgrid GetSheetDbmap(int index) |
| | | xstring GetSheetDbmap(int index) |
| | | { |
| | | string typ = GetSheetType(index); |
| | | if(typ=="flowitem") return "flow.dbmap"; |
| | | if(typ=="actionrole") return "workflow.actionrole.dbmap"; |
| | | if(typ=="state") return "state.dbmap"; |
| | | if(typ=="button") return "button.dbmap"; |
| | | if(typ=="role") return "role.dbmap"; |
| | | if(typ=="bill") return "bill.dbmap"; |
| | | if(typ=="scene") return "scene.dbmap"; |
| | | if(typ=="fieldrole") return "workflow.datarole.dbmap"; |
| | | return 0; |
| | | xstring typ = GetSheetType(index); |
| | | if(typ==L"flowitem") return L"flow.dbmap"; |
| | | if(typ==L"actionrole") return L"workflow.actionrole.dbmap"; |
| | | if(typ==L"state") return L"state.dbmap"; |
| | | if(typ==L"button") return L"button.dbmap"; |
| | | if(typ==L"role") return L"role.dbmap"; |
| | | if(typ==L"bill") return L"bill.dbmap"; |
| | | if(typ==L"scene") return L"scene.dbmap"; |
| | | if(typ==L"fieldrole") return L"workflow.datarole.dbmap"; |
| | | return L""; |
| | | } |
| | | |
| | | string GetDwname(string typ) |
| | | xstring GetDwname(xstring typ) |
| | | { |
| | | if(typ=="flowitem") return "/sale/view/Flow3/template/flow"; |
| | | if(typ=="actionrole") return "/sale/view/Flow3/template/buttonright"; |
| | | if(typ=="state") return "/sale/view/Flow3/template/state"; |
| | | if(typ=="button") return "/sale/view/Flow3/template/button"; |
| | | if(typ=="role") return "/sale/view/Flow3/template/role"; |
| | | if(typ=="bill") return "/sale/view/Flow3/template/bill"; |
| | | if(typ=="scene") return "/sale/view/Flow3/template/scene"; |
| | | if(typ=="fieldrole") return "/sale/view/Flow3/template/datafieldright"; |
| | | return ""; |
| | | if(typ==L"flowitem") return L"/sale/view/Flow3/template/flow"; |
| | | if(typ==L"actionrole") return L"/sale/view/Flow3/template/buttonright"; |
| | | if(typ==L"state") return L"/sale/view/Flow3/template/state"; |
| | | if(typ==L"button") return L"/sale/view/Flow3/template/button"; |
| | | if(typ==L"role") return L"/sale/view/Flow3/template/role"; |
| | | if(typ==L"bill") return L"/sale/view/Flow3/template/bill"; |
| | | if(typ==L"scene") return L"/sale/view/Flow3/template/scene"; |
| | | if(typ==L"fieldrole") return L"/sale/view/Flow3/template/datafieldright"; |
| | | return L""; |
| | | } |
| | | |
| | | |
| | | 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 OnSave() |
| | | { |
| | | if(flowid=="") return 1; |
| | | if(flowid==L"") return 1; |
| | | |
| | | string sdbmap; |
| | | xml x = new xml; |
| | | x.setNativePointer(xml::CreateInstance()); |
| | | xstring sdbmap; |
| | | xml x ; |
| | | |
| | | int index = tab_1.GetSheetIndex(); |
| | | sdbmap = GetSheetDbmap(index); |
| | | sdbmap = (xstring)GetSheetDbmap(index); |
| | | xdwgrid dw_list = GetSheetDwgrid(index); |
| | | dw_list.DwUpdateAllToEx(x.GetXmlDoc()); |
| | | //trace(x.GetXml()); |
| | | dw_list.DwUpdateAllToEx(x); |
| | | //trace(x.xml()); |
| | | |
| | | msxml::IXMLDOMNodeList ls = x.GetXmlDoc().documentElement.SelectNodes("*[@update.modify='1' and @update.new='1']"); |
| | | int len = ls.length; |
| | | KXMLDOMNodeList ls = x.documentElement().selectNodes(L"*[@update.modify='1' and @update.new='1']"); |
| | | int len = ls.length(); |
| | | for(int k=0;k<len;k++) |
| | | { |
| | | msxml::IXMLDOMElement e; |
| | | if(ls.item(k).selectSingleNode("flowID")) |
| | | KXMLDOMElement e; |
| | | if(ls.item(k).selectSingleNode(L"flowID")) |
| | | { |
| | | e = ls.item(k).selectSingleNode("flowID"); |
| | | e.setAttribute("update.modify","1"); |
| | | e.text = flowid; |
| | | e = ls.item(k).selectSingleNode(L"flowID"); |
| | | e.setAttribute(L"update.modify",L"1"); |
| | | e.settext(flowid); |
| | | }else |
| | | { |
| | | e = x.GetXmlDoc().createElement("flowID"); |
| | | e.setAttribute("update.modify","1"); |
| | | e.text = flowid; |
| | | e = x.createElement(L"flowID"); |
| | | e.setAttribute(L"update.modify",L"1"); |
| | | e.settext(flowid); |
| | | ls.item(k).appendChild(e); |
| | | } |
| | | } |
| | | |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | arg.AddArg("content",x.GetXml()); |
| | | arg.AddArg("sdbmap",sdbmap); |
| | | trace(x.GetXml()); |
| | | if(url::get("/sale/data/Flow3/save/flow", arg.GetString(),x)!=1) |
| | | xaserverarg arg ; |
| | | arg.AddArg(L"content",x.xml()); |
| | | arg.AddArg(L"sdbmap",sdbmap); |
| | | trace(x.xml()); |
| | | if(xurl::get(L"/sale/data/Flow3/save/flow", arg.GetString(),x)!=1) |
| | | { |
| | | string error = x.GetXmlDoc().text; |
| | | alert("err:"+error); |
| | | xstring error = x.text(); |
| | | alert(L"err:"+error); |
| | | return 1; |
| | | } |
| | | |
| | | dw_list.ResetUpdateStatus(); |
| | | |
| | | //alert(x.GetXml()); |
| | | alert("保存成功!"); |
| | | //alert(x.xml()); |
| | | alert(L"保存成功!"); |
| | | |
| | | return 1; |
| | | } |
| | |
| | | } |
| | | |
| | | //焦点激活处理函数 |
| | | int OnSetFocus(ref TEvent evt,int param) |
| | | int OnSetFocus(TEvent* evt, LPARAM param) |
| | | { |
| | | //重置工具条 |
| | | SetAgent(); |
| | |
| | | return 1; |
| | | } |
| | | |
| | | int OnClicked(ref TNotifyEvent evt,int p) |
| | | { |
| | | ref DWNMHDR hdr = evt.pnmh; |
| | | int OnClicked(TEvent* evt, int p) |
| | | { |
| | | DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; |
| | | int row = hdr.row; |
| | | string colname=hdr.colname; |
| | | xstring colname=hdr.colname; |
| | | |
| | | //trace(colname); |
| | | |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | xaserverarg arg ; |
| | | |
| | | string comdid =""; |
| | | string data=""; |
| | | string display=""; |
| | | xstring comdid =L""; |
| | | xstring data=L""; |
| | | xstring display=L""; |
| | | xdwgrid dw_list; |
| | | |
| | | int index = tab_1.GetSheetIndex(); |
| | | dw_list = GetSheetDwgrid(index); |
| | | |
| | | arg.AddArg("sdata",""); |
| | | arg.AddArg("flowid",flowid); |
| | | arg.AddArg(L"sdata",L""); |
| | | arg.AddArg(L"flowid",flowid); |
| | | |
| | | if(colname=="billID") |
| | | if(colname==L"billID") |
| | | { |
| | | arg.AddArg("stype","bill"); |
| | | arg.AddArg("datacolumn","billID"); |
| | | arg.AddArg("displaycolumn","billName"); |
| | | arg.AddArg("dwname","/sale/view/Flow3/template/bill"); |
| | | arg.AddArg(L"stype",L"bill"); |
| | | arg.AddArg(L"datacolumn",L"billID"); |
| | | arg.AddArg(L"displaycolumn",L"billName"); |
| | | arg.AddArg(L"dwname",L"/sale/view/Flow3/template/bill"); |
| | | } |
| | | else if(colname=="stateSource") |
| | | else if(colname==L"stateSource") |
| | | { |
| | | arg.AddArg("stype","state"); |
| | | arg.AddArg("datacolumn","stateID"); |
| | | arg.AddArg("displaycolumn","stateName"); |
| | | arg.AddArg("dwname","/sale/view/Flow3/template/state"); |
| | | arg.AddArg(L"stype",L"state"); |
| | | arg.AddArg(L"datacolumn",L"stateID"); |
| | | arg.AddArg(L"displaycolumn",L"stateName"); |
| | | arg.AddArg(L"dwname",L"/sale/view/Flow3/template/state"); |
| | | } |
| | | else if(colname=="state") |
| | | else if(colname==L"state") |
| | | { |
| | | arg.AddArg("stype","state"); |
| | | arg.AddArg("datacolumn","stateID"); |
| | | arg.AddArg("displaycolumn","stateName"); |
| | | arg.AddArg("dwname","/sale/view/Flow3/template/state"); |
| | | arg.AddArg(L"stype",L"state"); |
| | | arg.AddArg(L"datacolumn",L"stateID"); |
| | | arg.AddArg(L"displaycolumn",L"stateName"); |
| | | arg.AddArg(L"dwname",L"/sale/view/Flow3/template/state"); |
| | | } |
| | | else if(colname=="stateTarget") |
| | | else if(colname==L"stateTarget") |
| | | { |
| | | arg.AddArg("stype","state"); |
| | | arg.AddArg("datacolumn","stateID"); |
| | | arg.AddArg("displaycolumn","stateName"); |
| | | arg.AddArg("dwname","/sale/view/Flow3/template/state"); |
| | | arg.AddArg(L"stype",L"state"); |
| | | arg.AddArg(L"datacolumn",L"stateID"); |
| | | arg.AddArg(L"displaycolumn",L"stateName"); |
| | | arg.AddArg(L"dwname",L"/sale/view/Flow3/template/state"); |
| | | } |
| | | else if(colname=="roles") |
| | | else if(colname==L"roles") |
| | | { |
| | | arg.AddArg("stype","role"); |
| | | arg.AddArg("datacolumn","roleName"); |
| | | arg.AddArg("displaycolumn","roleName"); |
| | | arg.AddArg("dwname","/sale/view/Flow3/template/role"); |
| | | arg.AddArg(L"stype",L"role"); |
| | | arg.AddArg(L"datacolumn",L"roleName"); |
| | | arg.AddArg(L"displaycolumn",L"roleName"); |
| | | arg.AddArg(L"dwname",L"/sale/view/Flow3/template/role"); |
| | | } |
| | | else if(colname=="flowAction") |
| | | else if(colname==L"flowAction") |
| | | { |
| | | arg.AddArg("stype","button"); |
| | | arg.AddArg("datacolumn","buttonName"); |
| | | arg.AddArg("displaycolumn","buttonName"); |
| | | arg.AddArg("dwname","/sale/view/Flow3/template/button"); |
| | | arg.AddArg(L"stype",L"button"); |
| | | arg.AddArg(L"datacolumn",L"buttonName"); |
| | | arg.AddArg(L"displaycolumn",L"buttonName"); |
| | | arg.AddArg(L"dwname",L"/sale/view/Flow3/template/button"); |
| | | } |
| | | else |
| | | return 1; |
| | | |
| | | OpenWindow("dev:xpage[FlowTermSelect.vx]",cast(arg as int)); |
| | | comdid = arg.GetArgString("comdid"); |
| | | OpenWindow(L"dev:xpage[FlowTermSelect.vx]",arg); |
| | | comdid = arg.GetArgString(L"comdid"); |
| | | |
| | | if(comdid=="xmOk") |
| | | if(comdid==L"xmOk") |
| | | { |
| | | data = arg.GetArgString("data"); |
| | | display = arg.GetArgString("display"); |
| | | dw_list.SetItemDisplayString(row,colname,display); |
| | | dw_list.SetItemString(row,colname,data); |
| | | data = arg.GetArgString(L"data"); |
| | | display = arg.GetArgString(L"display"); |
| | | dw_list.SetItemDisplayString(row,colname.c_str(), display); |
| | | dw_list.SetItemString(row,colname.c_str(), data); |
| | | dw_list.Redraw(); |
| | | } |
| | | |
| | |
| | | int i = tab_1.GetSheetIndex(); |
| | | xdwgrid dw_list = GetSheetDwgrid(i); |
| | | |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | arg.SetArg("stype",GetSheetType(i),"string"); |
| | | arg.SetArg("sdata","ddd","string"); |
| | | arg.SetArg("flowID",flowid,"string"); |
| | | int obj = cast(dw_list as int); |
| | | arg.SetArg("dwobj",obj.toString(),"string"); |
| | | arg.SetArg("dwname",GetDwname(GetSheetType(i)),"string"); |
| | | OpenWindow("dev:xpage[FlowTermImport.vx]",cast(arg as int)); |
| | | xaserverarg arg ; |
| | | arg.SetArg(L"stype",GetSheetType(i),L"xstring"); |
| | | arg.SetArg(L"sdata",L"ddd",L"xstring"); |
| | | arg.SetArg(L"flowID",flowid,L"xstring"); |
| | | arg.SetParam(L"dwobj",&dw_list); |
| | | arg.SetArg(L"dwname",GetDwname(GetSheetType(i)),L"xstring"); |
| | | OpenWindow(L"dev:xpage[FlowTermImport.vx]",arg); |
| | | |
| | | return 1; |
| | | } |
| | | |
| | | int OnRetrieve() |
| | | { |
| | | if(flowid=="") return 1; |
| | | if(flowid==L"") return 1; |
| | | |
| | | xml x = new xml; |
| | | x.setNativePointer(xml::CreateInstance()); |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | xml x; |
| | | |
| | | xaserverarg arg; |
| | | |
| | | //int i = tab_1.GetSheetIndex(); |
| | | for(int i=0;i<7;i++) |
| | | { |
| | | //alert(i.toString()); |
| | | arg.SetArg("stype",GetSheetType(i),"string"); |
| | | arg.SetArg("sdata","ddd","string"); |
| | | arg.SetArg("flowID",flowid,"string"); |
| | | arg.SetArg(L"stype",GetSheetType(i),L"xstring"); |
| | | arg.SetArg(L"sdata",L"ddd",L"xstring"); |
| | | arg.SetArg(L"flowID",flowid,L"xstring"); |
| | | |
| | | //trace(arg.GetString()); |
| | | if (getUrl("/sale/data/Flow3/retrieve/flowex",arg.GetString(),x)!=1) |
| | | if (getUrl(L"/sale/data/Flow3/retrieve/flowex",arg.GetString(),x)!=1) |
| | | { |
| | | //trace(x.GetXmlDoc().text); |
| | | //trace(x.text()); |
| | | //return -1; |
| | | continue; |
| | | } |
| | |
| | | return 1; |
| | | } |
| | | |
| | | int OnTreeSelChanged(ref TNotifyEvent evt,int p) |
| | | int OnTreeSelChanged(TEvent* evt, int p) |
| | | { |
| | | ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW); |
| | | int hItem = nmtv.itemNew.hItem; |
| | | msxml::IXMLDOMElement e = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); |
| | | flowid = e.getAttribute("flowID"); |
| | | NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; |
| | | |
| | | HTREEITEM hItem = nmtv.itemNew.hItem; |
| | | KXMLDOMElement e = tv_1.GetItemData(hItem); |
| | | flowid = e.getAttribute(L"flowID"); |
| | | |
| | | int hCursor = xutil::SetCursorWait(); |
| | | HCURSOR hCursor = xutil::SetCursorWait(); |
| | | SetFlowChart(e); |
| | | OnRetrieve(); |
| | | xutil::RestoreCursor(hCursor); |
| | |
| | | return 1; |
| | | } |
| | | |
| | | int OnTabSelectSheet(ref TNotifyEvent evt,int p) |
| | | int OnTabSelectSheet(TEvent* evt, int p) |
| | | { |
| | | //OnRetrieve(); |
| | | |
| | | return 1; |
| | | } |
| | | |
| | | int SetFlowChart(msxml::IXMLDOMElement e) |
| | | int SetFlowChart(KXMLDOMElement e) |
| | | { |
| | | string flowUrl = e.getAttribute("flowchart"); |
| | | xflowchart flowchart = GetControl("flowchart"); |
| | | xml f = new xml; |
| | | f.setNativePointer(xml::CreateInstance()); |
| | | if(flowUrl != "") |
| | | xstring flowUrl = e.getAttribute(L"flowchart"); |
| | | xflowchart flowchart = GetControl(L"flowchart"); |
| | | xml f ; |
| | | |
| | | if(flowUrl != L"") |
| | | { |
| | | if(xaserver::FetchXml(flowUrl,"",f)==1) |
| | | if(xaserver::FetchXml(GetServerUrl(),flowUrl,L"",f)==1) |
| | | { |
| | | flowchart.LoadEx(f.GetXmlDoc().documentElement); |
| | | flowchart.Load(f.documentElement()); |
| | | } |
| | | }else |
| | | { |
| | | f.LoadXml("<sheet/>"); |
| | | flowchart.LoadEx(f.GetXmlDoc().documentElement); |
| | | f.loadXML(L"<sheet/>"); |
| | | flowchart.Load(f.documentElement()); |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | |
| | | //命令发布函数 |
| | | int OnCmdDispatch(string comdid) |
| | | int OnCmdDispatch(xstring comdid) |
| | | { |
| | | if (comdid == "xmSave") |
| | | if (comdid == L"xmSave") |
| | | return OnSave(); |
| | | if (comdid == "xmAddrow") |
| | | if (comdid == L"xmAddrow") |
| | | return OnAddrow(); |
| | | if (comdid == "xmInsertrow") |
| | | if (comdid == L"xmInsertrow") |
| | | return OnInsertrow(); |
| | | if (comdid == "xmDeleterow") |
| | | if (comdid == L"xmDeleterow") |
| | | return OnDeleterow(); |
| | | if (comdid == "xmImport") |
| | | if (comdid == L"xmImport") |
| | | return OnImport(); |
| | | |
| | | 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)&flow::OnXCommand); |
| | | //获取焦点事件,用于重置工具条 |
| | | AttachEvent("WM_SETFOCUS",OnSetFocus); |
| | | AttachEvent(L"WM_SETFOCUS", (FEvent)&flow::OnSetFocus); |
| | | |
| | | AttachEvent("tv_folder", "TVN_SELCHANGED",OnTreeSelChanged); |
| | | AttachEvent("tab_1","LYSN_SELECTEDSHEET",OnTabSelectSheet); |
| | | AttachEvent("dw_flow","DWV_CLICKED",OnClicked); |
| | | AttachEvent("dw_buttonright","DWV_CLICKED",OnClicked); |
| | | AttachEvent("dw_button","DWV_CLICKED",OnClicked); |
| | | AttachEvent("dw_state","DWV_CLICKED",OnClicked); |
| | | AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&flow::OnTreeSelChanged); |
| | | AttachEvent(L"tab_1",L"LYSN_SELECTEDSHEET", (FEvent)&flow::OnTabSelectSheet); |
| | | AttachEvent(L"dw_flow",L"DWV_CLICKED", (FEvent)&flow::OnClicked); |
| | | AttachEvent(L"dw_buttonright",L"DWV_CLICKED", (FEvent)&flow::OnClicked); |
| | | AttachEvent(L"dw_button",L"DWV_CLICKED", (FEvent)&flow::OnClicked); |
| | | AttachEvent(L"dw_state",L"DWV_CLICKED", (FEvent)&flow::OnClicked); |
| | | |
| | | return 1; |
| | | } |
| | |
| | | int CreateFlowFloder() |
| | | { |
| | | |
| | | xml x = ViewObject::RetrieveData("/sale/data/flow3/flowfolder"); |
| | | xml x = ViewObject::RetrieveData(L"/sale/data/flow3/flowfolder"); |
| | | if(x) |
| | | { |
| | | msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//item"); |
| | | int len = nlist.length; |
| | | int hItem = 0; |
| | | KXMLDOMNodeList nlist = x.selectNodes(L"//item"); |
| | | int len = nlist.length(); |
| | | HTREEITEM hItem = 0; |
| | | for (int i = 0; i < len; i++) |
| | | { |
| | | msxml::IXMLDOMElement e = nlist.item(i); |
| | | string name = e.getAttribute("flowName"); |
| | | string no = e.getAttribute("flowNo"); |
| | | string label = name;//no.trim() + " " + name; |
| | | int h= tv_folder.InsertChildItem(hItem,label, trust(e as int),22); |
| | | KXMLDOMElement e = nlist.item(i); |
| | | xstring name = e.getAttribute(L"flowName"); |
| | | xstring no = e.getAttribute(L"flowNo"); |
| | | xstring label = name;//no.trim() + L" " + name; |
| | | HTREEITEM h= tv_folder.InsertChildItem(hItem,label, e,22); |
| | | //tv_folder.SetItemChild(h,1); |
| | | } |
| | | } |
| | |
| | | |
| | | int onload() |
| | | { |
| | | flowid = ""; |
| | | tv_folder = GetControl("tv_folder"); |
| | | flowid = L""; |
| | | tv_folder = GetControl(L"tv_folder"); |
| | | CreateFlowFloder(); |
| | | |
| | | tv_1 = GetControl("tv_1"); |
| | | tab_1 = GetControl("tab_1"); |
| | | dw_flow = GetControl("dw_flow"); |
| | | dw_flow.openUrl("/sale/view/Flow3/template/flow"); |
| | | dw_state = GetControl("dw_state"); |
| | | dw_state.openUrl("/sale/view/Flow3/template/state"); |
| | | dw_button = GetControl("dw_button"); |
| | | dw_button.openUrl("/sale/view/Flow3/template/button"); |
| | | dw_role = GetControl("dw_role"); |
| | | dw_role.openUrl("/sale/view/Flow3/template/role"); |
| | | dw_bill = GetControl("dw_bill"); |
| | | dw_bill.openUrl("/sale/view/Flow3/template/bill"); |
| | | dw_scene = GetControl("dw_scene"); |
| | | dw_scene.openUrl("/sale/view/Flow3/template/scene"); |
| | | dw_buttonright = GetControl("dw_buttonright"); |
| | | dw_buttonright.openUrl("/sale/view/Flow3/template/buttonright"); |
| | | dw_datafieldright = GetControl("dw_datafieldright"); |
| | | dw_datafieldright.openUrl("/sale/view/Flow3/template/datafieldright"); |
| | | tv_1 = GetControl(L"tv_1"); |
| | | tab_1 = GetControl(L"tab_1"); |
| | | dw_flow = GetControl(L"dw_flow"); |
| | | dw_flow.openUrl(L"/sale/view/Flow3/template/flow"); |
| | | dw_state = GetControl(L"dw_state"); |
| | | dw_state.openUrl(L"/sale/view/Flow3/template/state"); |
| | | dw_button = GetControl(L"dw_button"); |
| | | dw_button.openUrl(L"/sale/view/Flow3/template/button"); |
| | | dw_role = GetControl(L"dw_role"); |
| | | dw_role.openUrl(L"/sale/view/Flow3/template/role"); |
| | | dw_bill = GetControl(L"dw_bill"); |
| | | dw_bill.openUrl(L"/sale/view/Flow3/template/bill"); |
| | | dw_scene = GetControl(L"dw_scene"); |
| | | dw_scene.openUrl(L"/sale/view/Flow3/template/scene"); |
| | | dw_buttonright = GetControl(L"dw_buttonright"); |
| | | dw_buttonright.openUrl(L"/sale/view/Flow3/template/buttonright"); |
| | | dw_datafieldright = GetControl(L"dw_datafieldright"); |
| | | dw_datafieldright.openUrl(L"/sale/view/Flow3/template/datafieldright"); |
| | | |
| | | OnAttachEvent(); |
| | | |
| | |
| | | |
| | | return 1; |
| | | } |
| | | }; |
| | | ] |
| | | }; |