Example #1
0
static HRESULT
ITrayBandSiteImpl_AddTaskBand(IN OUT ITrayBandSiteImpl *This)
{
#if 0
    /* FIXME: This is the code for the simple taskbar */
    IObjectWithSite *pOws;
    HRESULT hRet;

    hRet = ITaskBand_QueryInterface(This->TaskBand,
                                    &IID_IObjectWithSite,
                                    (PVOID*)&pOws);
    if (SUCCEEDED(hRet))
    {
        hRet = IObjectWithSite_SetSite(pOws,
                                       (IUnknown *)This->TaskBand);

        IObjectWithSite_Release(pOws);
    }

    return hRet;
#else
    if (!ITrayBandSiteImpl_HasTaskBand(This))
    {
        return IBandSite_AddBand(This->BandSite,
                                 (IUnknown *)This->TaskBand);
    }

    return S_OK;
#endif
}
Example #2
0
static HRESULT STDMETHODCALLTYPE
ITrayBandSiteImpl_AddBand(IN OUT IBandSite *iface,
                          IN IUnknown *punk)
{
    ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface);
    IOleCommandTarget *pOct;
    HRESULT hRet;

    hRet = IUnknown_QueryInterface(punk,
                                   &IID_IOleCommandTarget,
                                   (PVOID*)&pOct);
    if (SUCCEEDED(hRet))
    {
        /* Send the DBID_DELAYINIT command to initialize the band to be added */
        /* FIXME: Should be delayed */
        IOleCommandTarget_Exec(pOct,
                               &IID_IDeskBand,
                               DBID_DELAYINIT,
                               0,
                               NULL,
                               NULL);

        IOleCommandTarget_Release(pOct);
    }

    return IBandSite_AddBand(This->BandSite,
                             punk);
}
Example #3
0
static HRESULT WINAPI StartMenu_IInitializeObject_Initialize(IInitializeObject *iface)
{
    HRESULT hr;
    StartMenu *This = impl_from_IInitializeObject(iface);
    TRACE("StartMenu_IInitializeObject_Initialize (%p)\n", iface);

    hr = MenuBandSite_Constructor(NULL, &IID_IBandSite, (LPVOID*)&This->pBandSite);
    if (FAILED(hr))
        return hr;

    return IBandSite_AddBand(This->pBandSite, (IUnknown*)&This->menuBandVtbl);
}