void FObjectMemoryAnalyzer::AnalyzeObjects(const TArray<class UObject*>& InObjectList) { for (int32 i=0; i < InObjectList.Num(); ++i) { AnalyzeObject(InObjectList[i]); } }
int CPropertyForm::DisplayPages(IUnknown *obj, IUnknown *filt, CString title, CGraphView *view) { // create a new window BOOL bret = Create(IDD_DIALOG_PROPERTYPAGE); if (!bret) return -1; SetWindowText(title); // we need to set WS_EX_CONTROLPARENT for the tabs tabs.ModifyStyleEx(0, WS_EX_CONTROLPARENT); if (object) object->Release(); object = NULL; if (filter) filter->Release(); filter = NULL; object = obj; object->AddRef(); this->view = view; if (filt) { filter = filt; filter->AddRef(); } // compute alignment helpers CRect rc_client; CRect rc_display; GetWindowRect(&rc_client); CPoint p1(0,0), p2(0,0); ClientToScreen(&p1); tabs.ClientToScreen(&p2); GetClientRect(&rc_client); tabs.GetWindowRect(&rc_display); tab_x = (p2.x-p1.x); tab_y = (p2.y-p1.y); tab_cx = rc_client.Width() - rc_display.Width(); tab_cy = rc_client.Height() - rc_display.Height(); p2 = CPoint(0,0); button_ok.ClientToScreen(&p2); button_bottom_offset = p1.y + rc_client.Height() - p2.y; bok_cx = p1.x + rc_client.Width() - p2.x; p2 = CPoint(0,0); button_close.ClientToScreen(&p2); bcancel_cx = p1.x + rc_client.Width() - p2.x; p2 = CPoint(0,0); button_apply.ClientToScreen(&p2); bapply_cx = p1.x + rc_client.Width() - p2.x; // let's create a new container container = new CPageContainer(this); container->NonDelegatingAddRef(); // we may be exposing this object so make sure it won't go away int ret = AnalyzeObject(object); if (ret < 0) return -1; if (container->pages.GetCount() > 0) { container->ActivatePage(0); } // show page ShowWindow(SW_SHOW); return ret; }