Example #1
0
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;
}
Example #2
0
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;
}