void CNavPaneWnd::ActivateTab(int nTab, bool bExpand) { m_nActiveTab = nTab; for (size_t i = 0; i < m_tabs.size(); ++i) { const CRect& rc = m_tabs[i].rcContent; if (i != nTab || rc.Width() <= 0 || rc.Height() <= 0) { m_tabs[i].pWnd->ShowWindow(SW_HIDE); } else { m_tabs[i].pWnd->SetWindowPos(NULL, rc.left, rc.top, rc.Width(), rc.Height(), SWP_NOACTIVATE); m_tabs[i].pWnd->ShowWindow(SW_SHOW); } } UpdateButtons(); Invalidate(); if (bExpand) GetParent()->SendMessage(WM_EXPAND_NAV); m_tabs[nTab].pWnd->SetFocus(); UpdateObservers(SIDEBAR_TAB_CHANGED); }
bool DocSettings::DeleteAnnotation(const Annotation* pAnno, int nPage) { PageSettings& settings = pageSettings[nPage]; list<Annotation>::iterator it; for (it = settings.anno.begin(); it != settings.anno.end(); ++it) { Annotation* pCurAnno = &(*it); if (pCurAnno == pAnno) { list<Annotation> temp; temp.splice(temp.end(), settings.anno, it); ASSERT(&(temp.front()) == pCurAnno); UpdateObservers(AnnotationMsg(ANNOTATION_DELETED, pCurAnno, nPage)); if (settings.anno.empty()) pageSettings.erase(nPage); return true; } } if (settings.anno.empty()) pageSettings.erase(nPage); return false; }
Annotation* DocSettings::AddAnnotation(const Annotation& anno, int nPage) { PageSettings& settings = pageSettings[nPage]; settings.anno.push_back(anno); Annotation* pNewAnno = &(settings.anno.back()); UpdateObservers(AnnotationMsg(ANNOTATION_ADDED, pNewAnno, nPage)); return pNewAnno; }
void mitk::LevelWindowManager::DataStorageAddedNode( const mitk::DataNode* ) { //update observers with new data storage UpdateObservers(); //Initialize LevelWindowsManager to new image SetAutoTopMostImage(true); //check if everything is still ok if ((m_PropObserverToNode.size() != m_PropObserverToNode2.size()) || (m_PropObserverToNode2.size() != this->GetRelevantNodes()->size())) {mitkThrow() << "Wrong number of observers in Level Window Manager!";} }
DjVuSource::~DjVuSource() { while (!m_eventCache.empty()) { HANDLE hEvent = m_eventCache.top(); m_eventCache.pop(); ::CloseHandle(hEvent); } m_pDjVuDoc = NULL; // Close open files GURL url = GURL::Filename::UTF8(MakeUTF8String(m_strFileName)); DataPool::load_file(url); UpdateObservers(SOURCE_RELEASED); }
void mitk::LevelWindowManager::DataStorageRemovedNode( const mitk::DataNode* removedNode ) { //first: check if deleted node is part of relevant nodes. If not, abort method because there is no need change anything. if ((this->GetRelevantNodes()->size() == 0)) return; bool removedNodeIsRelevant = false; /* Iterator code: is crashing, don't know why... so using for loop for (mitk::DataStorage::SetOfObjects::ConstIterator it = this->GetRelevantNodes()->Begin(); it != this->GetRelevantNodes()->End(); ++it) {if (it->Value() == removedNode) {removedNodeIsRelevant=true;}}*/ for (unsigned int i=0; i<this->GetRelevantNodes()->size(); i++) { if (this->GetRelevantNodes()->at(i) == removedNode) {removedNodeIsRelevant=true;} } if (!removedNodeIsRelevant) return; //remember node which will be removed m_NodeMarkedToDelete = removedNode; //update observers UpdateObservers(); /* search image than belongs to the property */ if (m_LevelWindowProperty.IsNull()) { SetAutoTopMostImage(true, removedNode); } else { mitk::NodePredicateProperty::Pointer p2 = mitk::NodePredicateProperty::New("levelwindow", m_LevelWindowProperty); mitk::DataNode* n = m_DataStorage->GetNode(p2); if (n == NULL || m_AutoTopMost) // if node was deleted, change our behaviour to AutoTopMost, if AutoTopMost is true change level window to topmost node { SetAutoTopMostImage(true, removedNode); } } //reset variable m_NodeMarkedToDelete = NULL; //check if everything is still ok if ((m_PropObserverToNode.size() != m_PropObserverToNode2.size()) || (m_PropObserverToNode2.size() != (this->GetRelevantNodes()->size()-1))) {mitkThrow() << "Wrong number of observers in Level Window Manager!";} }
bool DocSettings::DeleteBookmark(const Bookmark* pBookmark) { list<Bookmark>& bmList = (pBookmark->pParent != NULL ? pBookmark->pParent->children : bookmarks); for (list<Bookmark>::iterator it = bmList.begin(); it != bmList.end(); ++it) { Bookmark* pCurBookmark = &(*it); if (pCurBookmark == pBookmark) { list<Bookmark> temp; temp.splice(temp.end(), bmList, it); ASSERT(&(temp.front()) == pCurBookmark); UpdateObservers(BookmarkMsg(BOOKMARK_DELETED, pCurBookmark)); return true; } } return false; }
void Document::Evaluate() { _expression.Evaluate(); UpdateObservers(); }
void Document::BackExpression() { _expression.BackExpression(); UpdateObservers(); }
void Document::ClearExpression() { _expression.ClearExpression(); UpdateObservers(); }