示例#1
0
 public void SetScalarVariable(string name, VariableScalar val)
 {
     if (val == null)
     {
         return;
     }
     lock (scalarvariables)
     {
         scalarvariables[name] = val;
     }
 }
示例#2
0
        public T GetVariableValue <T>(VariableScalar variable)
        {
            if (!Variables.ContainsKey(variable.VariableName))
            {
                throw new InvalidScriptException($"Variable not found: {variable.VariableName}");
            }
            var value = Variables[variable.VariableName];

            if (value.GetType() != typeof(T))
            {
                throw new InvalidScriptException($"Incorrect type. Expected {typeof(T)} but got {value.GetType()}");
            }
            return((T)value);
        }
示例#3
0
        private void AddScalarVariable(VariableStore vs, DataGridView dgv)
        {
            VariableScalar v       = new VariableScalar();
            string         varname = "";

            v = (VariableScalar)OpenVariableEditor(v, ref varname, true);
            if (v != null)
            {
                lock (vs.Scalar)
                {
                    vs.Scalar[varname] = v;
                }
                RefreshScalarVariables(vs, dgv);
            }
        }
示例#4
0
        private void btnScalarAdd_Click(object sender, EventArgs e)
        {
            VariableScalar v       = new VariableScalar();
            string         varname = "";

            v = (VariableScalar)OpenVariableEditor(v, ref varname, true);
            if (v != null)
            {
                lock (plug.scalarvariables)
                {
                    plug.scalarvariables[varname] = v;
                }
                RefreshScalarVariables();
            }
        }
示例#5
0
 public VariableScalar GetScalarVariable(string name, bool createNew = false)
 {
     lock (scalarvariables)
     {
         if (scalarvariables.ContainsKey(name) == true)
         {
             return(scalarvariables[name]);
         }
         if (createNew == false)
         {
             return(null);
         }
         VariableScalar v = new VariableScalar();
         scalarvariables[name] = v;
         return(v);
     }
 }
 private void dgvVariableData_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
 {
     if (VariableToEdit is VariableScalar)
     {
         VariableScalar v = (VariableScalar)VariableToEdit;
         e.Value = v.Value;
     }
     else if (VariableToEdit is VariableList)
     {
         VariableList v = (VariableList)VariableToEdit;
         e.Value = e.RowIndex < v.Values.Count ? v.Values[e.RowIndex].ToString() : null;
     }
     else if (VariableToEdit is VariableTable)
     {
         VariableTable v  = (VariableTable)VariableToEdit;
         Variable      vx = e.RowIndex < v.Height && e.ColumnIndex < v.Width ? v.Values[e.RowIndex][e.ColumnIndex] : null;
         e.Value = vx != null?vx.ToString() : "";
     }
 }
        private void dataGridView1_CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
        {
            if (e.ColumnIndex != 1)
            {
                return;
            }
            string newval = e.Value != null?e.Value.ToString() : "";

            lock (plug.simplevariables)
            {
                string exname = dgvScalarVariables.Rows[e.RowIndex].Cells[0].Value.ToString();
                if (plug.simplevariables.ContainsKey(exname) == true)
                {
                    VariableScalar x = plug.simplevariables[exname];
                    x.Value       = newval;
                    x.LastChanged = DateTime.Now;
                    x.LastChanger = I18n.Translate("internal/VariableForm/variableeditortag", "Variable editor");
                }
            }
            RefreshSimpleVariables();
        }
示例#8
0
        private void EditScalarVariable(VariableStore vs, DataGridView dgv)
        {
            string varname = "";

            foreach (DataGridViewRow r in dgv.SelectedRows)
            {
                varname = r.Cells[0].Value.ToString();
            }
            VariableScalar v = null;

            lock (vs.Scalar)
            {
                if (vs.Scalar.ContainsKey(varname) == true)
                {
                    v = vs.Scalar[varname];
                }
            }
            if (v == null)
            {
                v = new VariableScalar();
            }
            string varname2 = varname;

            v = (VariableScalar)OpenVariableEditor(v, ref varname2, false);
            if (v != null)
            {
                lock (vs.Scalar)
                {
                    if (varname != varname2)
                    {
                        if (vs.Scalar.ContainsKey(varname) == true)
                        {
                            vs.Scalar.Remove(varname);
                        }
                    }
                    vs.Scalar[varname2] = v;
                }
                RefreshScalarVariables(vs, dgv);
            }
        }
示例#9
0
        private void btnScalarEdit_Click(object sender, EventArgs e)
        {
            string varname = "";

            foreach (DataGridViewRow r in dgvScalarVariables.SelectedRows)
            {
                varname = r.Cells[0].Value.ToString();
            }
            VariableScalar v = null;

            lock (plug.scalarvariables)
            {
                if (plug.scalarvariables.ContainsKey(varname) == true)
                {
                    v = plug.scalarvariables[varname];
                }
            }
            if (v == null)
            {
                v = new VariableScalar();
            }
            string varname2 = varname;

            v = (VariableScalar)OpenVariableEditor(v, ref varname2, false);
            if (v != null)
            {
                lock (plug.scalarvariables)
                {
                    if (varname != varname2)
                    {
                        if (plug.scalarvariables.ContainsKey(varname) == true)
                        {
                            plug.scalarvariables.Remove(varname);
                        }
                    }
                    plug.scalarvariables[varname2] = v;
                }
                RefreshScalarVariables();
            }
        }
 private void dgvVariableData_CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
 {
     if (VariableToEdit is VariableScalar)
     {
         VariableScalar v = (VariableScalar)VariableToEdit;
         v.Value = e.Value.ToString();
     }
     else if (VariableToEdit is VariableList)
     {
         VariableList v = (VariableList)VariableToEdit;
         v.Values[e.RowIndex] = new VariableScalar()
         {
             Value = e.Value.ToString()
         };
     }
     else if (VariableToEdit is VariableTable)
     {
         VariableTable v = (VariableTable)VariableToEdit;
         v.Values[e.RowIndex][e.ColumnIndex] = new VariableScalar()
         {
             Value = e.Value.ToString()
         };
     }
 }