Hi,<br><br>In 3D view, undo/redo actions are working properly. But when a ZOOM BOX is applied and then undo is done, it is not reverting to latest change. <br><br>I observed that onUndoStackChanged() SLOT of pqRenderView.cxx is not getting invoked whenever a zoom box is applied.<br>
<br>In all other cases like Mouse movement, ResetCamera this SLOT is getting invoked and accordingly Undo/Redo stack size is incremented.<br><br>When zoom box is applied, we need to emit a signal/event so that stack gets updated and increments its count.<br>
<br>Please suggest your ideas to fix this.<br><br>Thanks for your help.<br><br>//-----------------------------------------------------------------------------<br>void pqRenderView::InternalConstructor(vtkSMViewProxy* renModule)<br>
{<br> this->Internal = new pqRenderView::pqInternal();<br><br> // we need to fire signals when undo stack changes.<br> this->getConnector()->Connect(this->Internal->InteractionUndoStack,<br> vtkCommand::ModifiedEvent, this, SLOT(onUndoStackChanged()), <i><b> // SIGNAL SLOT connection made for InteractionUndoStack</b></i><br>
0, 0, Qt::QueuedConnection);<br><br> this->ResetCenterWithCamera = true;<br> this->UseMultipleRepresentationSelection = false;<br> this->getConnector()->Connect(<br> renModule, vtkCommand::ResetCameraEvent,<br>
this, SLOT(onResetCameraEvent()));<br>}<br><br><br>//-----------------------------------------------------------------------------<br>void pqRenderView::onUndoStackChanged()<br>{<br> bool can_undo = this->Internal->InteractionUndoStack->CanUndo();<br>
bool can_redo = this->Internal->InteractionUndoStack->CanRedo();<br><br> emit this->canUndoChanged(can_undo);<br> emit this->canRedoChanged(can_redo);<br>}<br><br><br>Regards,<br>Pandu<br>