void wxsItemEditorContent::ScreenShootTaken() { if ( m_RebuildMaps ) { RecalculateMaps(); } RebuildDragPoints(); m_AssistParent = 0; m_AssistTarget = 0; m_AssistAddAfter = false; m_Assist->NewDragging(); }
void UndoEngine::DoEvents(std::vector<UndoEvent> &events, EventTreeMap* tree) { RecalculateMaps(); for(size_t i=0; i < events.size(); i++) { UndoEvent evt = events[i]; switch(evt.m_type) { case EventTypeAdd: { HeeksObj* new_obj = evt.m_object->MakeACopyWithID(); tree->m_treemap[GetHeeksObjId(evt.m_parent)]->Add(new_obj,NULL); tree->m_treemap[GetHeeksObjId(new_obj)] = new_obj; new_obj->ReloadPointers(); #ifdef MULTIPLE_OWNERS if (new_obj->Owner()) new_obj->Owner()->ReloadPointers(); #else if (new_obj->m_owner) new_obj->m_owner->ReloadPointers(); #endif } break; case EventTypeModified: { tree->m_treemap[GetHeeksObjId(evt.m_parent)]->Remove(tree->m_treemap[GetHeeksObjId(evt.m_oldobject)]); HeeksObj* new_obj = evt.m_object->MakeACopyWithID(); tree->m_treemap[GetHeeksObjId(evt.m_parent)]->Add(new_obj,NULL); tree->m_treemap[GetHeeksObjId(new_obj)] = new_obj; } break; case EventTypeRemove: tree->m_treemap[GetHeeksObjId(evt.m_parent)]->Remove(tree->m_treemap[GetHeeksObjId(evt.m_object)]); tree->m_treemap[GetHeeksObjId(evt.m_parent)]->ReloadPointers(); break; } DealWithTransients(tree->m_treemap); } }
void UndoEngine::GetModifications(std::vector<UndoEvent> &ret,ObjList* newtree, ObjList* oldtree) { //Add the parents to the map really quick RecalculateMaps(); GetModificationsRecursive(ret,newtree,oldtree); }