#include <wobject/xstring.hpp> 
 | 
#include <xcontrol/xtreeview.hpp> 
 | 
#include <xcontrol/xdwgrid.hpp> 
 | 
#include <wobject/xdouble.hpp> 
 | 
#include <xcontrol/xlayersheet.hpp> 
 | 
  
 | 
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" 
 | 
#include "viewobject/view.base.hpp" 
 | 
using xml = KXMLDOMDocument; 
 | 
class __declspec(dllexport) AddUserGroup : public xwin 
 | 
{ 
 | 
  
 | 
public: 
 | 
    xstring note; 
 | 
    int hitem; 
 | 
    int row; 
 | 
    int wid; 
 | 
    xtreeview tv; 
 | 
    xdwgrid dw; 
 | 
    xwin* pwin; 
 | 
  
 | 
public: 
 | 
    AddUserGroup(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd),pwin(nullptr) {} 
 | 
public: 
 | 
    static AddUserGroup* CreateInstance(void* implPtr, void* hWnd) 
 | 
    { 
 | 
        AddUserGroup* pWin = new AddUserGroup(implPtr, (HWND)hWnd); 
 | 
        return pWin; 
 | 
    } 
 | 
    int SetAgent() 
 | 
    { 
 | 
        return 1; 
 | 
    } 
 | 
    //½¹µã¼¤»î´¦Àíº¯Êý 
 | 
    int OnSetFocus(TEvent* evt, LPARAM param) 
 | 
    { 
 | 
        int SetAgent(); 
 | 
  
 | 
        //ÖØÖù¤¾ßÌõ 
 | 
        return 1; 
 | 
    } 
 | 
    int AppendItem(xml x, KXMLDOMElement r, xstring item) { 
 | 
        auto e = x.createElement(item); 
 | 
        xcontrol xc = GetControl(item); 
 | 
        e.settext(xc.GetText()); 
 | 
        r.appendChild(e); 
 | 
        return 1; 
 | 
    } 
 | 
    int AppendAttrib(xml x, KXMLDOMElement r, xstring item) { 
 | 
        auto e = x.createElement(item); 
 | 
        //xcontrol xc = GetControl(item); 
 | 
        xcontrol xc= GetControl(item); 
 | 
        e.settext(xc.GetText()); 
 | 
        r.setAttribute(item, xc.GetText()); 
 | 
        return 1; 
 | 
    } 
 | 
    //ÃüÁî·¢²¼º¯Êý 
 | 
    int OnCmdDispatch(xstring comdid) 
 | 
    { 
 | 
        if (comdid == L"cb_cancel") 
 | 
            CloseWindow(); 
 | 
        else if (comdid == L"cb_ok") 
 | 
        { 
 | 
            int wid = p.wid; 
 | 
            xml x; 
 | 
  
 | 
            xaserverarg arg; 
 | 
  
 | 
            x.loadXML(L"<row/>"); 
 | 
            auto r = x.documentElement(); 
 | 
            xstring gpguid; 
 | 
            if (p.note == L"ÐÞ¸Ä") 
 | 
            { 
 | 
                KXMLDOMElement ele = treeview::GetItemData(wid, p.hitem); 
 | 
                gpguid = ele.selectSingleNode(L"@JobID").text(); 
 | 
            } 
 | 
            else 
 | 
                gpguid = GetGuid(); 
 | 
            r.setAttribute(L"JobID", gpguid); 
 | 
            AppendAttrib(x, r, L"JobName"); 
 | 
            AppendAttrib(x, r, L"JobType"); 
 | 
            //AppendItem(x,r,L"JobName"); 
 | 
            //AppendItem(x,r,L"JobType"); 
 | 
            //trace(x.xml()); 
 | 
            //return 1; 
 | 
            arg.AddArg(L"content", x.xml()); 
 | 
            if (xaserver::ExecXAction(GetServerUrl(), L"[update.Usergroup.xa]", arg.GetString()) == 1) 
 | 
            { 
 | 
                xcontrol xc = GetControl(L"JobName"); 
 | 
                //p.tv.Redraw(); 
 | 
                if (p.note == L"ÐÞ¸Ä") 
 | 
                { 
 | 
                    treeview::SetItemData(wid, p.hitem, r); 
 | 
                    treeview::SetItemLabel(wid, p.hitem, xc.GetText()); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    int root = treeview::GetRootItem(wid); 
 | 
                    treeview::InsertChildItem(wid, root, xc.GetText(), r, 15); 
 | 
                } 
 | 
                CloseWindow(); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                alert(L"±£´æ³ö´í!"); 
 | 
            } 
 | 
        } 
 | 
        return 0; 
 | 
    } 
 | 
  
 | 
    //ÃüÁî´¦Àíʼþ 
 | 
    int OnXCommand(TEvent* evt, LPARAM param) 
 | 
    { 
 | 
        return OnCmdDispatch(evt->xcommand.pStrID); 
 | 
    } 
 | 
  
 | 
    int OnAttachEvent() 
 | 
    { 
 | 
        //°ó¶¨¹¤¾ßÌõµã»÷ʼþ 
 | 
        AttachEvent(L"WM_XCOMMAND", (FEvent)&AddUserGroup::OnXCommand); 
 | 
        //»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ 
 | 
        AttachEvent(L"WM_SETFOCUS", (FEvent)&AddUserGroup::OnSetFocus); 
 | 
        return 1; 
 | 
    } 
 | 
  
 | 
    int OnInitial() 
 | 
    { 
 | 
        SetAgent(); 
 | 
  
 | 
        OnAttachEvent(); 
 | 
  
 | 
        return 1; 
 | 
    } 
 | 
  
 | 
    int SetItem(xstring value, xstring item) { 
 | 
        xcontrol xc = GetControl(item); 
 | 
        xc.SetText(value); 
 | 
        return 1; 
 | 
    } 
 | 
  
 | 
    int onload() 
 | 
    { 
 | 
        OnInitial(); 
 | 
        p = new pa; 
 | 
  
 | 
        if (GetWinParam()) 
 | 
        { 
 | 
            p = GetArg(); 
 | 
            SetWindowText(GetHWND(), p.note + L"Óû§×é"); 
 | 
            if (p.note == L"ÐÞ¸Ä") 
 | 
            { 
 | 
                int wid = p.wid; 
 | 
                KXMLDOMElement ele = treeview::GetItemData(wid, p.hitem); 
 | 
                //trace(ele.xml); 
 | 
                //SetItem(ele.selectSingleNode(L"gpno").text(),L"gpno"); 
 | 
                //SetItem(ele.selectSingleNode(L"gpname").text(),L"gpname"); 
 | 
                xstring ls_guid = ele.selectSingleNode(L"@JobID").text(); 
 | 
                xstring ls_name = ele.selectSingleNode(L"@JobName").text(); 
 | 
                xstring ls_type = ele.selectSingleNode(L"@JobType").text(); 
 | 
                SetItem(ls_guid, L"JobID"); 
 | 
                SetItem(ls_name, L"JobName"); 
 | 
                SetItem(ls_type, L"JobType"); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        return 1; 
 | 
    } 
 | 
}; 
 |