void MainWindow::update_override_shading_menu_item() { const ParamArray project_params = get_project_params("interactive"); const ParamArray shading_engine_params = project_params.child("shading_engine"); if (shading_engine_params.dictionaries().exist("override_shading")) { const string shading_mode = shading_engine_params.child("override_shading").get_optional<string>("mode", "coverage"); for (const_each<QList<QAction*> > i = m_ui->menu_diagnostics_override_shading->actions(); i; ++i) { QAction* action = *i; if (action->data().toString().toStdString() == shading_mode) { action->activate(QAction::Trigger); break; } } } else { m_ui->action_diagnostics_override_shading_no_override->activate(QAction::Trigger); } }
void ShadingEngine::create_diagnostic_surface_shader(const ParamArray& params) { if (params.dictionaries().exist("override_shading")) { m_diagnostic_surface_shader = DiagnosticSurfaceShaderFactory().create( "__diagnostic_surface_shader", params.child("override_shading")); } }