private void buttonDeleteExpression_Click(object sender, EventArgs e)
        {
            string str = (string)listBox1.SelectedItem;

            foreach (DisplayObjectDynamicProperty ex in objDisplayObjectDynamicPropertys.list)
            {
                if (ex.ObjectType == ConvertListbox2DynamicGraphicalProperty(str))
                {
                    for (int i = 0; i < ex.ConditionList.Count; i++)
                    {
                        DisplayObjectDynamicPropertyCondition _condition = ex.ConditionList[i];
                        if (_condition.If.ToUpper() == ((string)dataGridViewExpression.SelectedRows[0].Cells[0].Value).ToUpper())
                        {
                            ex.ConditionList.RemoveAt(i);
                            foreach (DataGridViewRow item in this.dataGridViewArgument.SelectedRows)
                            {
                                dataGridViewExpression.Rows.RemoveAt(item.Index);
                            }
                            dataGridViewExpression.Rows[0].Selected = true;
                            return;
                        }
                    }
                }
            }
        }
 private void buttonUpdateExpression_Click(object sender, EventArgs e)
 {
     if ((textBoxCondition.Text != "") && (textBoxValue.Text != ""))
     {
         if (true)//(CheckAssingment(textBoxAssignment.Text, (string)comboBoxType.SelectedItem))
         {
             //string str = (string)comboBoxField.SelectedItem;
             string str = (string)listBox1.SelectedItem;
             int    sel = dataGridViewExpression.SelectedRows[0].Index;
             foreach (DisplayObjectDynamicProperty ex in objDisplayObjectDynamicPropertys.list)
             {
                 if (ex.ObjectType == ConvertListbox2DynamicGraphicalProperty(str))
                 {
                     ex.ConditionList.RemoveAt(sel);
                     DisplayObjectDynamicPropertyCondition _conditionstruct = new DisplayObjectDynamicPropertyCondition();
                     _conditionstruct.If   = textBoxCondition.Text.ToUpper();
                     _conditionstruct.Then = textBoxValue.Text;
                     dataGridViewExpression.SelectedRows[0].Cells[0].Value = textBoxCondition.Text.ToUpper();
                     dataGridViewExpression.SelectedRows[0].Cells[1].Value = textBoxValue.Text;
                     ex.ConditionList.Insert(sel, _conditionstruct);
                 }
             }
         }
     }
 }
        private void buttonAddExpression_Click(object sender, EventArgs e)
        {
            if ((textBoxCondition.Text != "") && (textBoxValue.Text != ""))
            {
                if (true)//(CheckAssingment(textBoxAssignment.Text, (string)comboBoxType.SelectedItem))
                {
                    int rowId = dataGridViewExpression.Rows.Add();

                    // Grab the new row!
                    DataGridViewRow row = dataGridViewExpression.Rows[rowId];

                    // Add the data
                    row.Cells[0].Value = textBoxCondition.Text.ToUpper();
                    row.Cells[1].Value = textBoxValue.Text;
                    dataGridViewExpression.Rows[rowId].Selected = true;


                    //string str = (string)comboBoxField.SelectedItem;
                    string str   = (string)listBox1.SelectedItem;
                    bool   found = false;

                    if (!str.StartsWith("->"))
                    {
                        //listBox1.SelectedItem = "->" + str;

                        for (int i = 0; i < listBox1.Items.Count; i++)
                        {
                            if ((string)listBox1.Items[i] == str)
                            {
                                listBox1.Items[i] = "->" + str;
                                break;
                            }
                        }
                    }

                    foreach (DisplayObjectDynamicProperty displayobjectdynamicproperty in objDisplayObjectDynamicPropertys.list)
                    {
                        if (displayobjectdynamicproperty.ObjectType == ConvertListbox2DynamicGraphicalProperty(str))
                        {
                            found = true;
                            DisplayObjectDynamicPropertyCondition _condition = new DisplayObjectDynamicPropertyCondition();
                            _condition.If   = textBoxCondition.Text.ToUpper();
                            _condition.Then = textBoxValue.Text;
                            displayobjectdynamicproperty.ConditionList.Add(_condition);
                            break;
                        }
                    }
                    if (!found)
                    {
                        DisplayObjectDynamicProperty displayobjectdynamicproperty = new DisplayObjectDynamicProperty();
                        displayobjectdynamicproperty.ObjectType = ConvertListbox2DynamicGraphicalProperty(str);
                        displayobjectdynamicproperty.ReturnType = ConvertListbox2returnType(str);
                        DisplayObjectDynamicPropertyCondition _condition = new DisplayObjectDynamicPropertyCondition();
                        _condition.If   = textBoxCondition.Text.ToUpper();
                        _condition.Then = textBoxValue.Text;
                        displayobjectdynamicproperty.ConditionList.Add(_condition);
                        objDisplayObjectDynamicPropertys.list.Add(displayobjectdynamicproperty);
                    }
                }
                else
                {
                    MessageBox.Show("Value " + textBoxAssignment.Text + " is not valid " + (string)comboBoxType.SelectedItem + " type");
                }
            }
        }
Beispiel #4
0
        public void loadDrawExpressionCollection(byte[] _compiledexp)
        {
            int size  = 0;
            int size1 = 0;
            //drawexpressionCollection = new DrawExpressionCollection(this);
            DrawExpressionCollectionCode drawexpressioncollectioncode = new DrawExpressionCollectionCode();

            drawexpressioncollectioncode = (DrawExpressionCollectionCode)RawDeserialize(_compiledexp, 0, typeof(DrawExpressionCollectionCode));
            size = Marshal.SizeOf(drawexpressioncollectioncode);
            if (drawexpressioncollectioncode.IsValid == 1)
            {
                for (int i = 0; i < drawexpressioncollectioncode.NoOfDynamicProperties; i++)
                {
                    ExpressionCode expressioncode = new ExpressionCode();
                    expressioncode = (ExpressionCode)RawDeserialize(_compiledexp, size, typeof(ExpressionCode));
                    size          += Marshal.SizeOf(expressioncode);

                    DisplayObjectDynamicProperty displayobjectdynamicproperty = new DisplayObjectDynamicProperty();
                    displayobjectdynamicproperty.ObjectType = (enumDynamicGraphicalProperty)expressioncode.Property;
                    displayobjectdynamicproperty.Type       = (VarType)expressioncode.ReturnType;
                    //displayobjectdynamicproperty.IsValid = 1;
                    displayobjectdynamicproperty.IsColor  = Convert.ToBoolean(expressioncode.IsColor);
                    displayobjectdynamicproperty.IsString = Convert.ToBoolean(expressioncode.IsString);

                    for (int j = 0; j < expressioncode.NoOfConditions; j++)
                    {
                        ConditionCode conditioncode = new ConditionCode();
                        //conditioncode.StrValue = new STRINGOBJ();
                        conditioncode = (ConditionCode)RawDeserialize(_compiledexp, size, typeof(ConditionCode));
                        size         += Marshal.SizeOf(conditioncode);
                        DisplayObjectDynamicPropertyCondition displayobjectdynamicpropertycondition = new DisplayObjectDynamicPropertyCondition();
                        displayobjectdynamicpropertycondition.IsValid = true;
                        displayobjectdynamicpropertycondition.m_Value = conditioncode.Value;
                        //unsafe
                        {
                            displayobjectdynamicpropertycondition.ToCopySTRINGOBJ(conditioncode.StrValue);

                            //for (int k = 0; k < 16; k++)
                            //{
                            //    displayobjectdynamicpropertycondition.m_StrValue.Val[k] = conditioncode.Val[k];
                            //}
                        }
                        size1 = 0;
                        {
                            OPERATION _operation = new OPERATION();
                            _operation = (OPERATION)RawDeserialize(_compiledexp, size, typeof(OPERATION));

                            size1 = Marshal.SizeOf(_operation);
                            size += Marshal.SizeOf(_operation);
                            while (size1 < _operation.Size1)
                            {
                                TICInstruction instruction = new TICInstruction();
                                instruction.Operator = (OPERATOR)RawDeserialize(_compiledexp, size, typeof(OPERATOR));
                                size  += Marshal.SizeOf(instruction.Operator);
                                size1 += Marshal.SizeOf(instruction.Operator);
                                for (int k = 0; k < instruction.Operator.NoOfArg; k++)
                                {
                                    OPERAND operand = new OPERAND();
                                    operand = (OPERAND)RawDeserialize(_compiledexp, size, typeof(OPERAND));
                                    size   += Marshal.SizeOf(operand);
                                    size1  += Marshal.SizeOf(operand);
                                    instruction.OperandList.Add(operand);
                                }
                                displayobjectdynamicpropertycondition.SimpleOperation.instructionlist.Add(instruction);
                            }
                        }
                        displayobjectdynamicproperty.ConditionList.Add(displayobjectdynamicpropertycondition);
                    }
                    drawexpressionCollection.objDisplayObjectDynamicPropertys.list.Add(displayobjectdynamicproperty);
                }
            }
        }