Exemplo n.º 1
0
//-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
ExplorerNodeFactory::pUserData_type
ExplorerNodeFactory::createTerrainGroup(Zen::Studio::Workbench::I_ExplorerNode& _node)
{
    Zen::Studio::Workbench::I_ExplorerNode::UserData* pParentUserData =
        _node.getUserData().get();

    Folder* pParentFolder = dynamic_cast<Folder*>(pParentUserData);

    if (pParentFolder != NULL)
    {
        // The TerrainGroupNode will get the name from the database later, so
        // just pass an empty string for now.
        pUserData_type pData(new TerrainGroupNode(pParentFolder->getProject(), ""));
        return pData;
    }
    else
    {
        throw Zen::Utility::runtime_exception("Error, invalid parent type.");
    }
}