Beispiel #1
0
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);
  }
}
Beispiel #2
0
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
}
Beispiel #3
0
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;
}
Beispiel #4
0
        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;
    }