void HistoryElementRemoveWarp::undo()
{
    if(!m_scene)
        return;

    LvlScene* lvlScene;
    if(!(lvlScene = qobject_cast<LvlScene*>(m_scene)))
        return;

    lvlScene->m_data->doors.insert(m_removedDoor.meta.index, m_removedDoor);

    QComboBox* warplist = MainWinConnect::pMainWin->dock_LvlWarpProps->getWarpList();
    warplist->insertItem(m_removedDoor.meta.index, QString("%1: x%2y%3 <=> x%4y%5")
                         .arg(m_removedDoor.meta.array_id).arg(m_removedDoor.ix).arg(m_removedDoor.iy).arg(m_removedDoor.ox).arg(m_removedDoor.oy),
                         m_removedDoor.meta.array_id);
    if(warplist->count() > (int)m_removedDoor.meta.index)
    {
        warplist->setCurrentIndex( m_removedDoor.meta.index );
    }
    else
    {
        warplist->setCurrentIndex( warplist->count()-1 );
    }

    if(m_removedDoor.isSetOut){
        lvlScene->placeDoorExit(m_removedDoor);
    }
    if(m_removedDoor.isSetIn){
        lvlScene->placeDoorEnter(m_removedDoor);
    }


    MainWinConnect::pMainWin->dock_LvlWarpProps->setDoorData(-2);
}