예제 #1
0
        private void txtExpression_TextChanged(object sender, EventArgs e)
        {
            List <ErrorObject> errors = new List <ErrorObject>();

            listErrors.Items.Clear();

            if (txtExpression.Text.Trim().Length == 0)
            {
                lblIsValid.ForeColor = Color.Blue;
                lblIsValid.Text      = "N/A";
                return;
            }

            if (!RuleSetManager.IsExpressionValid(txtExpression.Text, out errors))
            {
                lblIsValid.ForeColor = Color.Red;
                lblIsValid.Text      = "Not Valid";

                foreach (ErrorObject err in errors)
                {
                    ListViewItem item = new ListViewItem();
                    item.ImageIndex = err.IsWarning ? 1 : 0;
                    item.SubItems.Add(err.ErrorNumber.ToString(System.Globalization.CultureInfo.InvariantCulture));
                    item.SubItems.Add(err.ErrorMessage);
                    item.ToolTipText = err.ErrorMessage;
                    listErrors.Items.Add(item);
                }
            }
            else
            {
                lblIsValid.ForeColor = Color.Green;
                lblIsValid.Text      = "Valid";
            }
        }
예제 #2
0
        private void btnEditExpression_Click(object sender, EventArgs e)
        {
            if (txtExpression.Text.Trim().Length == 0)
            {
                //MessageBox.Show("Enter an Expression in the Text Box prior to Editing.", "No Expression");
                AddError("Enter an Expression in the Text Box prior to Editing.", 400, false);
                return;
            }

            RuleSetManager.LoadRuleSet(txtExpression.Text);
            txtExpression.Text = RuleSetManager.EditExpression();
        }
예제 #3
0
        private void btnCopy_Click(object sender, EventArgs e)
        {
            if (txtExpression.Text.Trim().Length == 0)
            {
                AddError("Enter an Expression in the Text Box prior to Copying.", 401, false);
                return;
            }

            if (RuleSetManager.RuleSetCount == 0)
            {
                RuleSetManager.LoadRuleSet(txtExpression.Text);
            }

            RuleSetManager.CopyToClipboard();
        }
예제 #4
0
 private void btnNewExpression_Click(object sender, EventArgs e)
 {
     RuleSetManager.CreateNewExpression(true);
     txtExpression.Text = RuleSetManager.EditExpression();
 }
예제 #5
0
 public frmExpressionEditor()
 {
     InitializeComponent();
     Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(ExpressionEditorException);
     RuleSetManager.Initialize();
 }