﻿derive(ActionAssign, ActionHidden);
function ActionAssign() {

    override(this, 'Init')
    this.Init = function() {
        this.ActionHidden_Init(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7]);
        if(Designer_obj) {
            this.Property_Add(10, 'Control Local', 'CtrlInput', 'CtrlAssign', 'CtrlAssign');
            this.Property_Add(11, 'Control Global', 'Text', 'GlobalAssign', 'GlobalAssign');
            this.Property_Add(12, 'Expresi&oacute;n', 'TextMultiLine', 'Expression', 'Expression');
            this.Property_Add(13, 'Ejec. Evento', 'Combo', 'ExecEvt', 'ExecEvt', '1|Si,2|No');
        }
    }

    this.OnExecute = function(aRef) {
        if (this.get_GlobalAssign() != '') {
            var lRefObj = window[this.get_GlobalAssign() + '_obj'];
            if (lRefObj && lRefObj.set_Text) {
                try {
                    var lvalue = eval(this.get_Expression());
                    if (lvalue !== null) {
                        if (this.get_ExecEvt() == '' || this.get_ExecEvt() == '1')
                            lRefObj.ChangeText(lvalue);
                        else
                            lRefObj.set_Text(lvalue);
                    }
                } catch (lExcep) {
                    if (this.get_ExecEvt() == '' || this.get_ExecEvt() == '1')
                        lRefObj.ChangeText('');
                    else
                        lRefObj.set_Text('');
                }
            }
        }
        if (this.get_CtrlAssign() != '') {
            var lRefObj = window[this.get_CtrlAssign() + '_obj'];
            if (lRefObj && lRefObj.set_Text) {
                try {
                    var lvalue = eval(this.get_Expression());
                    if (lvalue !== null) {
                        if (this.get_ExecEvt() == '' || this.get_ExecEvt() == '1')
                            lRefObj.ChangeText(lvalue);
                        else
                            lRefObj.set_Text(lvalue);
                    }
                } catch (lExcep) {
                    if (this.get_ExecEvt() == '' || this.get_ExecEvt() == '1')
                        lRefObj.ChangeText('');
                    else
                        lRefObj.set_Text('');
                }
            }
        }
        return true;
    }

    this.get_CtrlAssign = function() {
        if(Designer_obj)
            return this.get_Param(0);
        return this.get_Attr('t20');
    }
    this.set_CtrlAssign = function(aValue) {
        this.set_Attr('t20', aValue);
        this.set_Param(0, aValue);
    }

    this.get_Expression = function() {
        if(Designer_obj)
            return this.get_Param(1);
        return this.get_Attr('t22');
    }
    this.set_Expression = function(aValue) {
        this.set_Attr('t22', aValue);
        this.set_Param(1, aValue);
    }

    this.get_GlobalAssign = function() {
        if(Designer_obj)
            return this.get_Param(2);
        return this.get_Attr('t21');
    }
    this.set_GlobalAssign = function(aValue) {
        this.set_Attr('t21', aValue);
        this.set_Param(2, aValue);
    }

    this.get_ExecEvt = function() {
        if(Designer_obj)
            return this.get_Param(3);
        return this.get_Attr('t23');
    }
    this.set_ExecEvt = function(aValue) {
        this.set_Attr('t23', aValue);
        this.set_Param(3, aValue);
    }
}

