private void gridRules_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            gridRules.CurrentCell.ReadOnly = true;

            cellRenameUpdatedName = gridRules.CurrentCell.Value;

            Spy.Print("rule name original: '{0}'   updated: '{1}'", cellRenameOriginalName, cellRenameUpdatedName);

            // If the rename fails, then we will "roll back" the Rule name in the grid.
            if (MonkeyIO.RenameRule(cellRenameOriginalName.ToString(), cellRenameUpdatedName.ToString()) == false)
            {
                MonkeySound.PlayErrorSound();
                gridRules.CurrentCell.Value = cellRenameOriginalName;
                FireErrorMessage("An error occurred attempting to rename rule.");
            }
        }
        private void RuleChooserForm_Load(object sender, EventArgs e)
        {
            List <TradeRule> rules = MonkeyIO.LoadAllRules();

            if (rules == null || rules.Count == 0)
            {
                return;
            }

            foreach (TradeRule rule in rules)
            {
                if (rule != null)
                {
                    ruleSheet.AddRule(rule);
                }
            }
        }
 private void btnNewRule_Click(object sender, EventArgs e)
 {
     this.Opacity       = .3;
     parentForm.Opacity = .3;
     using (var form = new RuleBuilderForm())
     {
         var result = form.ShowDialog();
         if (result == DialogResult.OK)
         {
             TradeRule tradeRule = form.Rule;
             ruleSheet.AddRule(tradeRule);
             MonkeyIO.SaveRule(tradeRule);
         }
     }
     this.Opacity       = 1.0;
     parentForm.Opacity = 1.0;
 }