STDMETHODIMP CLXWebSiteApp::SetSite(ILXAddinSite* pSite) { m_spAddinSite = pSite; { TCHAR appdata[MAX_PATH]; SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, appdata); TCHAR pathname[MAX_PATH]; _makepath(pathname, NULL, appdata, "LXFramework", NULL); TCHAR filename[MAX_PATH]; _makepath(filename, NULL, pathname, "servers.xml", NULL); CComPtr<ILDOMDocument> xmldocument; if (SUCCEEDED(xmldocument.CoCreateInstance(CLSID_LDOMDocument))) { VARIANT_BOOL success; xmldocument->load(A2BSTR(filename), &success); CComPtr<ILDOMElement> documentElement; xmldocument->get_documentElement(&documentElement); if (documentElement) { CComPtr<ILDOMNode> node; documentElement->get_firstChild(&node); while (node) { CComQIPtr<ILDOMElement> element = node; if (element) { CComBSTR tagName; element->get_tagName(&tagName); if (!wcscmp(tagName, L"server")) { CComObject<CServer>* pServer; CComObject<CServer>::CreateInstance(&pServer); pServer->AddRef(); element->getAttribute(L"name", &pServer->m_name); element->getAttribute(L"serverName", &pServer->m_serverName); element->getAttribute(L"directory", &pServer->m_directory); element->getAttribute(L"userName", &pServer->m_userName); element->getAttribute(L"password", &pServer->m_password); m_servers.Add(pServer); } } CComPtr<ILDOMNode> nextSibling; node->get_nextSibling(&nextSibling); node = nextSibling; } } } } if (m_spAddinSite) { CComPtr<ILXFrameworkFrame> lxframe; m_spAddinSite->GetFrame(&lxframe); CComQIPtr<IUIFrame> frame = lxframe; CComPtr<IUIManager> uiManager; m_spAddinSite->GetUIManager((IUnknown**)&uiManager); { CComPtr<IUIMenuDlg> menuDlg; uiManager->CreateMenuDlg(&menuDlg); CComPtr<IMenuItem> menuItem; uiManager->FindMenu(_Module.GetResourceInstance(), IDR_MAINFRAME, &menuItem); CComPtr<IMenuItem> menuItem0 = menuItem; //menuItem->GetSubMenu(0, &menuItem0); menuDlg->InitMenu(menuItem0, this/*CComQIPtr<ICommandTarget>(GetFrame())*/, -1); CComPtr<IUIDlgSite> dlgsite; uiManager->CreateDlgSite(L"MenuBar", NULL, menuDlg, &dlgsite); frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } #if 0 { CComPtr<IUIRegisteredDlg> rdlg; uiManager->RegisterDlg(70/*TODO?IDR_MAINFRAME*/, L"Menubar", 0, &rdlg); CComPtr<IUIDlg> dlg; rdlg->CreateDlg(&dlg); CComPtr<IUIDlgSite> dlgsite; uiManager->CreateDlgSite(dlg, &dlgsite); frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } #endif } return S_OK; }
STDMETHODIMP CImageApp::OnCreateFrame() { CComPtr<ILXFrameworkFrame> lxframe; m_spAddinSite->GetFrame(&lxframe); CComQIPtr<IUIFrame> frame = lxframe; { CComPtr<IUIMenuDlg> menuDlg; m_uiManager->CreateMenuDlg(&menuDlg); CComPtr<IMenuItem> menuItem; m_uiManager->FindMenu(_Module.GetResourceInstance(), IDR_MAINFRAME, &menuItem); CComPtr<IMenuItem> menuItem0 = menuItem; //menuItem->GetSubMenu(0, &menuItem0); menuDlg->InitMenu(menuItem0, this/*CComQIPtr<ICommandTarget>(GetFrame())*/, -1); CComPtr<IUIDlgSite> dlgsite; m_uiManager->CreateDlgSite(L"MenuBar", NULL, menuDlg, &dlgsite); frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } #if 0 { CComPtr<IUIRegisteredDlg> rdlg; m_uiManager->RegisterDlg(70/*TODO?IDR_MAINFRAME*/, L"Menubar", 0, &rdlg); CComPtr<IUIDlg> dlg; rdlg->CreateDlg(&dlg); CComPtr<IUIDlgSite> dlgsite; m_uiManager->CreateDlgSite(dlg, &dlgsite); CComQIPtr<IUIFrame> frame = m_frame; frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } { CComPtr<IUIDlgSheet> sheet; m_uiManager->CreateDlgSheet(NULL, &sheet); { CComPtr<IUIRegisteredDlg> rdlg; m_uiManager->RegisterDlg(100, L"Tools", 0, &rdlg); sheet->AddPage(rdlg, NULL); } CComPtr<IUIDlgSite> dlgsite; m_uiManager->CreateDlgSite(sheet, &dlgsite); CComQIPtr<IUIFrame> frame = m_frame; frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } { CComPtr<IUIDlgSheet> sheet; m_uiManager->CreateDlgSheet(NULL, &sheet); { CComPtr<IUIRegisteredDlg> rdlg; m_uiManager->RegisterDlg(101, L"Brush", 0, &rdlg); sheet->AddPage(rdlg, NULL); } CComPtr<IUIDlgSite> dlgsite; m_uiManager->CreateDlgSite(sheet, &dlgsite); CComQIPtr<IUIFrame> frame = m_frame; frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } { CComPtr<IUIDlgSheet> sheet; m_uiManager->CreateDlgSheet(NULL, &sheet); { CComPtr<IUIRegisteredDlg> rdlg; m_uiManager->RegisterDlg(102, L"Layers", 0, &rdlg); sheet->AddPage(rdlg, NULL); } CComPtr<IUIDlgSite> dlgsite; m_uiManager->CreateDlgSite(sheet, &dlgsite); CComQIPtr<IUIFrame> frame = m_frame; frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } { CComPtr<IUIDlgSheet> sheet; m_uiManager->CreateDlgSheet(NULL, &sheet); { CComPtr<IUIRegisteredDlg> rdlg; m_uiManager->RegisterDlg(103, L"Objects", 0, &rdlg); sheet->AddPage(rdlg, NULL); } CComPtr<IUIDlgSite> dlgsite; m_uiManager->CreateDlgSite(sheet, &dlgsite); CComQIPtr<IUIFrame> frame = m_frame; frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } { CComPtr<IUIDlgSheet> sheet; m_uiManager->CreateDlgSheet(NULL, &sheet); { CComPtr<IUIRegisteredDlg> rdlg; m_uiManager->RegisterDlg(104, L"Color", 0, &rdlg); sheet->AddPage(rdlg, NULL); } CComPtr<IUIDlgSite> dlgsite; m_uiManager->CreateDlgSite(sheet, &dlgsite); CComQIPtr<IUIFrame> frame = m_frame; frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } { CComPtr<IUIDlgSheet> sheet; m_uiManager->CreateDlgSheet(NULL, &sheet); { CComPtr<IUIRegisteredDlg> rdlg; m_uiManager->RegisterDlg(105, L"Brush Tip Shape", 0, &rdlg); sheet->AddPage(rdlg, NULL); } CComPtr<IUIDlgSite> dlgsite; m_uiManager->CreateDlgSite(sheet, &dlgsite); CComQIPtr<IUIFrame> frame = m_frame; frame->FloatControlBar(dlgsite, CPoint(0,0), CBRS_SIZE_DYNAMIC); } #endif return S_OK; }