Exemplo n.º 1
0
//----------------------------------------------------------------------------------------
void ObjectsViewWidget::OnDragDropped(Ogre::Viewport *vp, Ogre::Vector2& position)
{
    mDragData.Parameters.clear();

    mDragData.Parameters["init"] = EMPTY_PROPERTY_VALUE;

    if(mDragData.Object)
    {
        OgitorsPropertyValueMap params;
        mDragData.Object->getPropertyMap(params);
        mDragData.Object->destroy();
        mDragData.Object = 0;
        
        mDragData.Parameters["position"] = params["position"];
    }

    CBaseEditor *object = OgitorsRoot::getSingletonPtr()->CreateEditorObject(0,mDragData.ObjectType, mDragData.Parameters, true, true);
    
    if(object && object->isTerrainType())
        mOgitorMainWindow->getTerrainToolsWidget()->updateTerrainOptions(object->getTerrainEditor());


    mDragData.Parameters.clear();
    mDragData.ObjectType = "";
    mDragData.Object = 0;
}