-
-//virtual
-ImageInfoUR* Image3DDequeUR::Undo() {
- ImageInfoUR* imgRet = NULL;
- if ((this->m_ImgUndoDeque.size() > 0) && (this->m_CurrentUndoPos != -1)) {
- std::cout<<"Controooool"<<std::endl;
- //removing from memory
- if ((this->m_CurrentUndoPos + 1) < this->m_ImgUndoDeque.size()) {
- this->m_ImgUndoDeque[(m_CurrentUndoPos + 1)]->RemoveImageFromMemory(
- this->m_GlobalPath);
- } //fi
- imgRet = this->m_ImgUndoDeque[m_CurrentUndoPos];
- std::cout << "imageName: " << imgRet->GetImageName() << std::endl;
- this->m_CurrentUndoPos--;
- //adding to memory
- if (this->m_CurrentUndoPos != -1) {
- //Loading image
- StringType fullPath = this->m_GlobalPath
- + this->m_ImgUndoDeque[m_CurrentUndoPos]->GetImageName();
- this->m_ImgUndoDeque[m_CurrentUndoPos]->LoadImageMHDToMemory(
- this->m_GlobalPath);
- } //fi
- } //fi
- return (imgRet);
-}
-//virtual
-ImageInfoUR* Image3DDequeUR::Redo() {
-
- ImageInfoUR* imgRet = new ImageInfoUR();
- //managing undo deque
- if (this->m_ImgUndoDeque.size() > 0) {
- if ((m_CurrentUndoPos - 1) != -1) {
- this->m_ImgUndoDeque[m_CurrentUndoPos - 1]->RemoveImageFromMemory(
- this->m_GlobalPath);
- } //fi
- this->m_CurrentUndoPos++; //ready to do undo
- if (this->m_CurrentUndoPos < ((int) this->m_ImgUndoDeque.size())) {
- this->m_ImgUndoDeque[m_CurrentUndoPos]->LoadImageMHDToMemory(
- this->m_GlobalPath);
- } //fi
- //end of undo management
- } //fi
- //managing redo
- if ((this->m_ImgRedoDeque.size() > 0) && (this->m_CurrentRedoPos != -1)) {
- if ((this->m_CurrentRedoPos + 1) < this->m_ImgRedoDeque.size()) {
- this->m_ImgRedoDeque[(m_CurrentRedoPos + 1)]->RemoveImageFromMemory(
- this->m_GlobalPath);
- } //fi
- imgRet = this->m_ImgRedoDeque[this->m_CurrentRedoPos];
- this->m_CurrentRedoPos--;
- if (this->m_CurrentRedoPos != -1) {
- this->m_ImgRedoDeque[m_CurrentRedoPos]->LoadImageMHDToMemory(
- this->m_GlobalPath);
- } //fi
- //end of redo management
- }
- return (imgRet);
-}