| | |
| | | using kcontrol = Hxsoft::XFrame::IXFControl; |
| | | using knode = Hxsoft::XFrame::IXNode; |
| | | |
| | | #define DeclWinObject_(ty,pty) class __declspec(dllexport) ty : public pty |
| | | #define CreateWinObject_(ty,pty) \ |
| | | public:\ |
| | | ty(void* impl,HWND hWnd):pty(impl,hWnd){}\ |
| | | public:\ |
| | | static ty * CreateInstance(void* impl,void* hWnd)\ |
| | | {\ |
| | | return new ty(impl,(HWND)hWnd);\ |
| | | } |
| | | |
| | | class xwin: public xview |
| | | { |
| | | public: |
| | | xaserverarg m_xaserverarg; |
| | | public: |
| | | xaserverarg& GetArg() { return m_xaserverarg; } |
| | | void SetArg(LPARAM p) |
| | | { |
| | | m_xaserverarg = *(xaserverarg*)p; |
| | | } |
| | | void SetArg(xaserverarg & p) |
| | | { |
| | | m_xaserverarg = p; |
| | | } |
| | | void SetArg() |
| | | { |
| | | if(GetWinParam()) SetArg(GetWinParam()); |
| | | } |
| | | public: |
| | | xwin(void * impl, HWND hWnd):xview(impl,hWnd){} |
| | | public: |
| | |
| | | |
| | | xwin* OpenWindow(string url) |
| | | { |
| | | int WS_OVERLAPPEDWINDOW = 0x00cf0000 ; |
| | | kwin* w = kwin::OpenWindow(GetServerUrl(),url,getKWin(),0/*param*/,0/*CmdWind*/,0,WS_OVERLAPPEDWINDOW,0); |
| | | int WS_OVERLAPPEDWINDOW_ = 0x00cf0000 ; |
| | | kwin* w = kwin::OpenWindow(GetServerUrl(),url,getKWin(),0/*param*/,0/*CmdWind*/,0,WS_OVERLAPPEDWINDOW_,0); |
| | | if(!w) return 0; //response |
| | | return (xwin*)GetPropW(w->GetHWND(),L"AttachObject"); |
| | | } |
| | | |
| | | xwin* OpenWindow(string url,LPARAM p) |
| | | { |
| | | int WS_OVERLAPPEDWINDOW = 0x00cf0000; |
| | | kwin* w= kwin::OpenWindow(GetServerUrl(),url,getKWin(),p,0/*CmdWind*/,0/*dwStyleEx*/,WS_OVERLAPPEDWINDOW,0); |
| | | int WS_OVERLAPPEDWINDOW_ = 0x00cf0000; |
| | | kwin* w= kwin::OpenWindow(GetServerUrl(),url,getKWin(),p,0/*CmdWind*/,0/*dwStyleEx*/,WS_OVERLAPPEDWINDOW_,0); |
| | | if(!w) return 0; //response |
| | | return (xwin*)GetPropW(w->GetHWND(),L"AttachObject"); |
| | | } |
| | | |
| | | xwin* OpenWindow(string url, xaserver& arg) |
| | | { |
| | | return OpenWindow(url, (LPARAM)&arg); |
| | | } |
| | | |
| | | int trace(string info) |
| | | { |
| | | return 1; |
| | |
| | | return xnode(getKWin()->SetAgentNodeContent((knode*)node.getNativePointer(), (knode*)val.getNativePointer())); |
| | | } |
| | | |
| | | LPARAM GetParam() |
| | | LPARAM GetWinParam() |
| | | { |
| | | return (LPARAM)getKWin()->GetParam(); |
| | | } |
| | | bool SetParam(LPARAM pParam) |
| | | bool SetWinParam(LPARAM pParam) |
| | | { |
| | | return getKWin()->SetParam((void*)pParam); |
| | | } |
| | | xstring GetParamString() |
| | | { |
| | | if (!GetWinParam())return xstring(); |
| | | return xstring(GetWinParam(), true); |
| | | } |
| | | |
| | | LPARAM GetFrameParam() |
| | | { |
| | | return (LPARAM)getKWin()->GetFrameParam(); |
| | |
| | | return getKWin()->Redraw(); |
| | | } |
| | | |
| | | int openUrl(string aurl, xaserverarg* para) |
| | | int openUrl(xstring aurl, xaserverarg* para) |
| | | { |
| | | KXMLDOMDocument x; |
| | | |
| | |
| | | return -1; |
| | | } |
| | | |
| | | int openUrl(xstring aurl, LPARAM para) |
| | | { |
| | | KXMLDOMDocument x; |
| | | |
| | | xurl::get(GetServerUrl(), aurl, L"", x); |
| | | KXMLDOMNode n = x.selectSingleNode(L"//resource/@src"); |
| | | if (n) |
| | | { |
| | | string xq = n.text(); |
| | | OpenWindow(xq, (LPARAM)para); |
| | | return 1; |
| | | } |
| | | else |
| | | { |
| | | n = x.selectSingleNode(L"//resource[@vface!='' and @view!='']"); |
| | | if (n) |
| | | { |
| | | xstring vface = n.selectSingleNode(L"@vface").text(); |
| | | xstring view = n.selectSingleNode(L"@view").text(); |
| | | xstring config = n.selectSingleNode(L"@config").text(); |
| | | |
| | | if (vface == L"." || vface == L"") |
| | | { |
| | | string v = n.selectSingleNode(L"@url").text(); |
| | | xstring burl = xstring(aurl).mid(0, xstring(aurl).find(v, 0)); |
| | | return openUrl(burl + view, para); |
| | | } |
| | | else |
| | | return openUrl(vface + L"/" + view, para); |
| | | } |
| | | } |
| | | return -1; |
| | | } |
| | | |
| | | |
| | | int CloseWindow() |
| | | { |
| | | return getKWin()->CloseWindow(); |
| | | } |
| | | |
| | | int openUrl(string aurl) |
| | | int openUrl(xstring aurl) |
| | | { |
| | | xaserverarg* arg = new xaserverarg(); |
| | | return openUrl(aurl, arg); |
| | |
| | | { |
| | | return getKWin()->GetElement(); |
| | | } |
| | | |
| | | xwin GetFrameWindow() |
| | | { |
| | | kwin* kw = getKWin()->GetFrameWindow(); |
| | | return xwin(kw, kw->GetHWND()); |
| | | } |
| | | |
| | | void SwitchLayer(LPCTSTR pStrLayerSheet, LPCTSTR pStrLayerFrame) |
| | | { |
| | | return getKWin()->SwitchLayer((LPTSTR)pStrLayerSheet, (LPTSTR)pStrLayerFrame); |
| | | } |
| | | }; |