Пример #1
0
void MainWindow::setProgram(std::tr1::shared_ptr<Program> program)
{
    program_ = program;
    mainGlWidget_->setProgram(program_);
    fsGlWidget_->setProgram(program_);
    dockDesign_->setProgram(program);
    dockCode_->setProgram(program);
    dockConsole_->setProgram(program);
    // Recreate menu
    objectMenu_->clear(); // Should also destroy all mappings
    const std::vector<ObjectFactoryPtr> & factories = program->factories();
    QAction * action;
    for (unsigned int i = 0; i < factories.size(); i++)
    {
        action = objectMenu_->addAction(QString::fromStdString(factories[i]->name()), objectMapper_, SLOT(map()));
        objectMapper_->setMapping(action, i);
    }
}