void GlobalViewList::event( ViewEvent ve, View * view ) //----------------------------------------------------- { if( ve == VEClose || ve == VECreate ) { if( view->identity() == VIDetailView ) { int i; int maxRows = getRows() + _topIndex; DetailView * dtv = (DetailView *) view; drmem_hdl drhdl = dtv->symHandle(); for( i = _topIndex; i < maxRows; i += 1 ) { Symbol * sym = getSymbol( i ); if( sym == NULL ) { break; } if( drhdl == sym->getHandle() ) { invalidateRow( i - _topIndex ); break; } } } } else { switch( ve ) { case VEBrowseFileChange: case VEQueryFiltChange: reLoad(); break; } } }
DetailView * ViewManager::findDetailView( dr_handle hdl, DetailView::ViewType vt ) //-------------------------------------------------------------------------------- { int i; DetailView * testView; for( i = 0; i < _detailViews->entries(); i += 1 ) { testView = (*_detailViews)[ i ]; if( ( testView->symHandle() == hdl ) && ( testView->viewType() == vt ) ) { return testView; } } return NULL; }