Variable::Variable(const string& name, bool create_expression){ assignNode(new VariableInternal(name)); if(create_expression){ setExpression(SX(name)); setDerivative(SX("der_" + name)); setBinding(var(),false); setBinding(der(),true); } }
CONT schemeBuiltin_set2(CONT cont) { OBJ evaluatedArg2 = cont->retVal; setBinding(env, arg1, evaluatedArg2); C_RETURN (SCHEME_VOID); #undef argList #undef env #undef arg1 #undef unevaluatedArg2 }
bool QDeclarativePropertyPrivate::writeValueProperty(const QVariant &value, WriteFlags flags) { // Remove any existing bindings on this property if (!(flags & DontRemoveBinding)) { QDeclarativeAbstractBinding *binding = setBinding(*q, 0); if (binding) binding->destroy(); } bool rv = false; if (isValueType()) { QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(context); QDeclarativeValueType *writeBack = 0; if (ep) { writeBack = ep->valueTypes[core.propType]; } else { writeBack = QDeclarativeValueTypeFactory::valueType(core.propType); } writeBack->read(object, core.coreIndex); QDeclarativePropertyCache::Data data = core; data.flags = valueType.flags; data.coreIndex = valueType.valueTypeCoreIdx; data.propType = valueType.valueTypePropType; rv = write(writeBack, data, value, context, flags); writeBack->write(object, core.coreIndex, flags); if (!ep) delete writeBack; } else { rv = write(object, core, value, context, flags); } return rv; }
ezResult setBinding(Ptr<LispObject> pEnv, Ptr<LispObject> pSymbol, Ptr<LispObject> pValue) { typeCheck(pEnv, Type::Environment); typeCheck(pSymbol, Type::Symbol); auto& table = detail::getTable(pEnv); if(table.KeyExists(pSymbol.get())) { table[pSymbol.get()] = pValue.get(); return EZ_SUCCESS; } auto pParent = getParent(pEnv); if(!isNil(pParent)) { return setBinding(pParent, pSymbol, pValue); } return EZ_FAILURE; }
void bottomDisplay::rebind(){ bool done=false; char input; contentMat[yNdx][xNdx].setMode(HIGHLIGHTED); header=headerHighlighted; repaint(); while(!done){ input='\0'; if(kbhit()){ input=getch(); } if(input==(*keyBindings)[UP]){ contentMat[yNdx][xNdx].setMode(DEFAULT); if(yNdx==1){ // * * * null if(xNdx<2){ // |\ | | xNdx=0; // * *|* * } else{ xNdx--; } } if(yNdx>0){ yNdx--; } contentMat[yNdx][xNdx].setMode(HIGHLIGHTED); repaint(); } else if(input==(*keyBindings)[DOWN]){ contentMat[yNdx][xNdx].setMode(DEFAULT); if(yNdx==0&&xNdx==1){ //* ** null yNdx=1; // | xNdx=2; //**** } else if(yNdx==0&&xNdx==2){ //* ** null yNdx=1; // | xNdx=3; //**** } else if(yNdx<(contentMat.size()-1)){ yNdx++; } contentMat[yNdx][xNdx].setMode(HIGHLIGHTED); repaint(); } else if(input==(*keyBindings)[LEFT]){ contentMat[yNdx][xNdx].setMode(DEFAULT); if(xNdx>0){ xNdx--; } contentMat[yNdx][xNdx].setMode(HIGHLIGHTED); repaint(); } else if(input==(*keyBindings)[RIGHT]){ contentMat[yNdx][xNdx].setMode(DEFAULT); bool valid=false; if(yNdx==0){ if(xNdx<2){ valid=true; } } else{ if(xNdx<(contentMat[0].size()-1)){ valid=true; } } if(valid){ xNdx++; } contentMat[yNdx][xNdx].setMode(HIGHLIGHTED); repaint(); } else if(input==(*keyBindings)[CONFIRM]){//mapping two to same mixes them up make not doable header=generateHeaderSelected(); contentMat[yNdx][xNdx].setMode(SELECTED); repaint(); while(!kbhit());//wait for input char newKey=getch(); BindDisplay* getAlreadyMapped=checkAlreadyMapped(newKey); if(newKey!=(*keyBindings)[BACK]){ if(getAlreadyMapped!=NULL){ getAlreadyMapped->setMode(ERROR); header=headerError; repaint(); while(!kbhit()); getch();//eat that input so it won't break the next loop getAlreadyMapped->setMode(DEFAULT); } else{ setBinding(getKeyNdx(contentMat[yNdx][xNdx].getBound()),newKey); contentMat[yNdx][xNdx].setBound(newKey); } } contentMat[yNdx][xNdx].setMode(HIGHLIGHTED); header=headerHighlighted; repaint(); } else if(input==(*keyBindings)[BACK]){ header=headerDefault; contentMat[yNdx][xNdx].setMode(DEFAULT); done=true; } else if(input==(*keyBindings)[SUBMIT]){ savePreferences(); } else if(input==(*keyBindings)[QUIT]){ header=headerDefault; contentMat[yNdx][xNdx].setMode(DEFAULT); done=true; } } header=headerDefault; }