// /// Notifies the views of the current document and the views of any child documents /// of a change. In contrast to QueryViews, NotifyViews sends notification of an /// event to all views and returns true if all views returned a true result. The /// event, EV_OWLNOTIFY, is sent with an event code, which is private to the /// particular document and view class, and a long argument, which can be cast /// appropriately to the actual type passed in the argument of the response /// function. // bool TDocument::NotifyViews(int event, long item, TView* exclude) { bool answer = true; TDocument* pdoc = 0; while ((pdoc = ChildDoc.Next(pdoc)) != 0) answer = (answer && pdoc->NotifyViews(event, item, exclude)); TEventHandler::TEventInfo eventInfo(WM_OWLNOTIFY, event); for (TView* view = ViewList; view != 0; view = view->NextView) if (view != exclude && view->Find(eventInfo)) answer = (answer && (view->Dispatch(eventInfo, 0, item) != 0)); return answer; }