STDMETHODIMP CPDPath::removeSubPath(IPDSubPath *subpath) { if (subpath == NULL) return E_INVALIDARG; int index; for (index = 0; index < m_subPaths.GetSize(); index++) { if (IsUnknownEqualUnknown(m_subPaths[index]->GetUnknown(), subpath)) { break; } } if (index >= 0 && index < m_subPaths.GetSize()) { m_subPaths[index]->Unadvise(this); m_subPaths[index]->m_pOwnerPath = NULL; m_subPaths.RemoveAt(index); FireOnChanged(NOTIFY_REMOVE, subpath, DISPID_UNKNOWN); subpath->Release(); return S_OK; } ATLASSERT(0); return E_FAIL; }
// INotifyGet STDMETHODIMP CPDObjectFrame::OnChanged(NotifyType type, IUnknown* targetObject, IUnknown* immtargetObject, DISPID dispID) { CalculateBounds(); CComQIPtr<IPDPath> path = immtargetObject; if (path) { if (IsUnknownEqualUnknown(path, m_path->GetUnknown())) { if (m_gdppath) { delete m_gdppath; m_gdppath = NULL; } if (m_wrapPath) { if (m_editedWrapPath == FALSE) { CComQIPtr<INotifySend> cp = m_wrapPath; cp->LockSend(); RecreateWrapPath(); cp->UnlockSend(); } } } } CNotifySendImpl<CPDObjectFrame>::FireOnChanged(type, targetObject, dispID); return S_OK; }
bool CPDPage::IsLeftOfSpine() { for (int pageIndex = 0; pageIndex < m_ownerSpread->m_pages->m_items.GetSize(); pageIndex++) { if (IsUnknownEqualUnknown(m_ownerSpread->m_pages->m_items[pageIndex], GetUnknown())) { break; } } ATLASSERT(pageIndex < m_ownerSpread->m_pages->m_items.GetSize()); return pageIndex < m_ownerSpread->m_spine; }
STDMETHODIMP CStrokeDlg::handleDeactivateObjectEvent(IUnknown* object, long cookie, BOOL* bAllow) { for (int i = 0; i < m_targetObjects.GetSize(); i++) { if (IsUnknownEqualUnknown(m_targetObjects[i], object)) { m_targetObjects[i]->Release(); m_targetObjects.RemoveAt(i); } } SetControlValues(); return S_OK; }
STDMETHODIMP CTabsDlg::handleDeactivateObjectEvent(IUnknown* object, long cookie, BOOL* bAllow) { if (IsUnknownEqualUnknown(object, m_view->GetUnknown())) { m_view->Release(); m_view = NULL; } else if (IsUnknownEqualUnknown(object, m_range)) { m_textPara.Release(); m_tabsCtl->put_textPara(NULL); m_tabsCtl->put_Enabled(FALSE); m_range.Release(); } if (m_hWnd) { Invalidate(); OnSize(); } return S_OK; }
STDMETHODIMP CSVGSwatchesDlg::handleDeactivateObjectEvent(IUnknown* object, long cookie, BOOL* bAllow) { ASSERT(IsUnknownEqualUnknown(m_viewGroup, object)); // IDispEventImpl<2, CSVGFiltersDlg, &DIID__IWebXMLDocumentEvents, &LIBID_WEBEDITORLib, 1, 0>::DispEventUnadvise(m_document); CComQIPtr<ILDOMEventTarget> eventTarget = m_listView.m_xmlDocument; eventTarget->removeEventListener(L"DOMNodeInserted", (ILDOMEventListener*)this, VARIANT_TRUE); RemoveEventListeners(); m_listView.RemoveItems(); m_listView.m_xmlDocument.Release(); m_viewGroup.Release(); return S_OK; }
STDMETHODIMP CPDPage::getPageRect(RectD *pVal) { double x = 0; for (int i = 0; i < m_ownerSpread->m_pages->m_items.GetSize(); i++) { if (IsUnknownEqualUnknown(m_ownerSpread->m_pages->m_items[i], GetUnknown())) { break; } x += m_pDocument->m_pageWidth; } pVal->X = x; pVal->Y = 0; pVal->Width = m_pDocument->m_pageWidth; pVal->Height = m_pDocument->m_pageHeight; return S_OK; }
STDMETHODIMP CSVGSymbolsDlg::handleDeactivateObjectEvent(IUnknown* object, long cookie, BOOL* bAllow) { ASSERT(IsUnknownEqualUnknown(m_document, object)); IDispEventImpl<2, CSVGSymbolsDlg, &DIID__IEXMLDocumentEvents, &LIBID_LXMLEDITORLib, 1, 0>::DispEventUnadvise(m_document); CComQIPtr<ILDOMEventTarget> eventTarget = m_listView.m_xmlDocument; eventTarget->removeEventListener(L"DOMNodeInserted", (ILDOMEventListener*)this, VARIANT_TRUE); m_listView.RemoveItems(); m_listView.m_xmlDocument.Release(); m_document.Release(); g_selectedSymbol = NULL; if (m_hWnd) { Invalidate(); } return S_OK; }
CPDPage* CPDPage::GetBasePage() { ATLASSERT(m_baseMaster); for (int pageIndex = 0; pageIndex < m_ownerSpread->m_pages->m_items.GetSize(); pageIndex++) { if (IsUnknownEqualUnknown(m_ownerSpread->m_pages->m_items[pageIndex], GetUnknown())) { break; } } ATLASSERT(pageIndex < m_ownerSpread->m_pages->m_items.GetSize()); // m_ownerSpread->m_spine; // m_baseMaster->m_pages->m_items.GetSize(); int basepageIndex = m_baseMaster->m_pages->m_items.GetSize()-1 - (m_ownerSpread->m_spine - pageIndex); ATLASSERT(basepageIndex >= 0); ATLASSERT(basepageIndex < m_baseMaster->m_pages->m_items.GetSize()); return static_cast<CPDPage*>((IPDPage*)(m_baseMaster->m_pages->m_items[basepageIndex])); }