QString KeyboardTranslator::Entry::conditionToString() const { QString result = QKeySequence(_keyCode).toString(); // add modifiers insertModifier( result , Qt::ShiftModifier ); insertModifier( result , Qt::ControlModifier ); insertModifier( result , Qt::AltModifier ); insertModifier( result , Qt::MetaModifier ); // add states insertState( result , KeyboardTranslator::AlternateScreenState ); insertState( result , KeyboardTranslator::NewLineState ); insertState( result , KeyboardTranslator::AnsiState ); insertState( result , KeyboardTranslator::CursorKeysState ); insertState( result , KeyboardTranslator::AnyModifierState ); return result; }
void IDAStar::generateMovements(GameState* currentState,GameState* tempState,const BoxMovement& movement, std::priority_queue<GameState*,std::vector<GameState*>,GameStateComparator>& queue){ unsigned int numComponents =0; field components[4]; point evasionFields[4]; unsigned int numEvasionFields = 0; std::unordered_set<point, PointHasher, PointEqual> nodes; tempState->findAdjacentComponents(movement.dest(),numComponents,components); currentState->bfs(movement.bot == RPUSHER? currentState->pusher:currentState->puller,movement.srcBot(),nodes); nodes.insert(movement.destBot()); nodes.insert(movement.dest()); nodes.insert(movement.src()); currentState->findEvasionFields(movement.bot == RPUSHER? currentState->puller: currentState->pusher,numComponents, components, nodes, tempState,numEvasionFields,evasionFields); for(unsigned int i = 0; i< numEvasionFields; i++){ nodes.clear(); RobotMovement* rMove = currentState->path(movement.bot == RPUSHER?RPULLER:RPUSHER,evasionFields[i],nodes,MAXELEMENTS); if(rMove != NULL){ GameState* newState = currentState->copy(); newState->apply(rMove); //MapUtils::printMap(*newState,std::cout); nodes.insert(movement.dest()); nodes.insert(movement.destBot()); rMove = newState->path(movement.bot,movement.srcBot(),nodes,MAXELEMENTS); if(rMove == NULL){ delete newState; continue; } newState->apply(rMove); //MapUtils::printMap(*newState,std::cout); newState->apply(new BoxMovement(movement)); insertState(currentState,newState,queue); } } }
void nodeDock::added() { connect( app(), SIGNAL(entityAdded(AEntity*)), this, SLOT(centreNode(AEntity*)) ); connect( app(), SIGNAL(entityRemoved(AEntity*)), this, SLOT(removeNode(AEntity*)) ); connect( app(), SIGNAL(entityRemoved(AEntity*)), this, SLOT(entityRemoved(AEntity*)) ); connect( app(), SIGNAL(selectionChanged()), this, SLOT(appSelectionChanged()) ); connect( app(), SIGNAL(insertState()), this, SLOT(rebuildGui()) ); connect( app(), SIGNAL(cleanState()), this, SLOT(rebuildGui()) ); connect( app(), SIGNAL(openState()), this, SLOT(rebuildGui()) ); connect( app(), SIGNAL(workingPathChanged()), this, SLOT(rebuildGui()) ); mView->setApp(app()); mScene->addItem( new propertiesWidget( app(), mView ) ); qRegisterMetaType<AEntityLocation>(); directoryListing *dir( new directoryListing( app(), mView ) ); mScene->addItem( dir ); connect( dir, SIGNAL(changeDirectory(AEntityLocation)), this, SLOT(changeDirectory(AEntityLocation)), Qt::QueuedConnection ); }