void wxsItemEditorContent::ScreenShootTaken()
{
    if ( m_RebuildMaps )
    {
        RecalculateMaps();
    }
    RebuildDragPoints();
    m_AssistParent = 0;
    m_AssistTarget = 0;
    m_AssistAddAfter = false;
    m_Assist->NewDragging();
}
Example #2
0
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);
	}
}
Example #3
0
void UndoEngine::GetModifications(std::vector<UndoEvent> &ret,ObjList* newtree, ObjList* oldtree)
{
	//Add the parents to the map really quick
	RecalculateMaps();
	GetModificationsRecursive(ret,newtree,oldtree);
}