//Constructor, creates a new Scripting Engine using AngelScript ScriptEngine::ScriptEngine() { // Create the script engine m_engine = asCreateScriptEngine(ANGELSCRIPT_VERSION); if( m_engine == 0 ) { std::cout << "Failed to create script engine." << std::endl; } // Configure the script engine with all the functions, // and variables that the script should be able to use. configureEngine(m_engine); }
//Constructor, creates a new Scripting Engine using AngelScript ScriptEngine::ScriptEngine() { // Create the script engine m_engine = asCreateScriptEngine(ANGELSCRIPT_VERSION); if (m_engine == NULL) { Log::fatal("Scripting", "Failed to create script engine."); } // The script compiler will write any compiler messages to the callback. m_engine->SetMessageCallback(asFUNCTION(AngelScript_ErrorCallback), 0, asCALL_CDECL); // Configure the script engine with all the functions, // and variables that the script should be able to use. configureEngine(m_engine); }
EngineManagementWidget::EngineManagementWidget(QWidget* parent) : QWidget(parent), m_engineManager(CuteChessApplication::instance()->engineManager()), m_hasChanged(false), m_filteredModel(new QSortFilterProxyModel(this)), ui(new Ui::EngineManagementWidget) { ui->setupUi(this); // Set up a filtered model m_filteredModel->setSourceModel(new EngineConfigurationModel( m_engineManager, this)); m_filteredModel->setFilterCaseSensitivity(Qt::CaseInsensitive); m_filteredModel->setSortCaseSensitivity(Qt::CaseInsensitive); m_filteredModel->sort(0); m_filteredModel->setDynamicSortFilter(true); ui->m_enginesList->setModel(m_filteredModel); connect(ui->m_searchEngineEdit, SIGNAL(textChanged(QString)), this, SLOT(updateSearch(QString))); // Signals for updating the UI connect(ui->m_enginesList->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(updateUi())); connect(ui->m_enginesList, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(configureEngine(QModelIndex))); // Add button connect(ui->m_addBtn, SIGNAL(clicked(bool)), this, SLOT(addEngine())); // Configure button connect(ui->m_configureBtn, SIGNAL(clicked(bool)), this, SLOT(configureEngine())); // Remove button connect(ui->m_removeBtn, SIGNAL(clicked(bool)), this, SLOT(removeEngine())); // Default location for new engines QString dir = QSettings().value("ui/default_engine_location").toString(); ui->m_defaultLocationEdit->setText(dir); connect(ui->m_browseDefaultLocationBtn, SIGNAL(clicked()), this, SLOT(browseDefaultLocation())); updateEngineCount(); }
EngineManagementDialog::EngineManagementDialog(QWidget* parent) : QDialog(parent), m_filteredModel(new QSortFilterProxyModel(this)), ui(new Ui::EngineManagementDialog) { ui->setupUi(this); // Setup a copy of the Engine Manager to manage adding, deleting and // configuring engines _within_ this dialog. m_engineManager = new EngineManager(this); m_engineManager->setEngines( CuteChessApplication::instance()->engineManager()->engines()); // Set up a filtered model m_filteredModel->setSourceModel(new EngineConfigurationModel( m_engineManager, this)); m_filteredModel->setFilterCaseSensitivity(Qt::CaseInsensitive); m_filteredModel->setSortCaseSensitivity(Qt::CaseInsensitive); m_filteredModel->sort(0); m_filteredModel->setDynamicSortFilter(true); ui->m_enginesList->setModel(m_filteredModel); connect(ui->m_searchEngineEdit, SIGNAL(textChanged(QString)), this, SLOT(updateSearch(QString))); // Signals for updating the UI connect(ui->m_enginesList->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(updateUi())); connect(ui->m_enginesList, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(configureEngine(QModelIndex))); // Add button connect(ui->m_addBtn, SIGNAL(clicked(bool)), this, SLOT(addEngine())); // Configure button connect(ui->m_configureBtn, SIGNAL(clicked(bool)), this, SLOT(configureEngine())); // Remove button connect(ui->m_removeBtn, SIGNAL(clicked(bool)), this, SLOT(removeEngine())); }
void setEngine(Engine& engine) { assert(!_engine && "Engine is already assigned"); _engine = &engine; configureEngine(); }
void EngineManagementDialog::configureEngine() { configureEngine(ui->m_enginesList->currentIndex()); }