private Control getNewRulePane(AddClickedEventArgs e) { RulePane triggerRulePane; String condition, value; if (e.ChildAbove != null) // er is een control boven de add button, dus zeker een rule pane { triggerRulePane = e.ChildAbove as RulePane; condition = triggerRulePane.Condition; value = triggerRulePane.Value; } else if (e.ChildUnder is RulePane) // er is geen rule pane boven de add button, maar wel een eronder { triggerRulePane = e.ChildUnder as RulePane; condition = triggerRulePane.Condition; value = triggerRulePane.Value; } else // er is geen rule pane boven of onder de add button { condition = FormulaElement.Boolean.FALSE; value = "some value"; } RulePane newRulePane = getRulePane("New rule", condition, value); newRulePane.Collapsed = false; return(newRulePane); }
public void addNewRulePane(AddClickedEventArgs e) { Control rulePane = getNewRulePane(e); if (e.OriginChild.Equals(e.ChildAbove)) // bovenste child was trigger, en wordt gekopieerd { this.taskPaneControl.RulesStack.newChild(rulePane) .withRemoveButton() .addUnder(e.OriginChild); } else // onderste child was trigger, en wordt gekopieerd als er geen bovenste child is { this.taskPaneControl.RulesStack.newChild(rulePane) .withRemoveButton() .addAbove(e.OriginChild); } }
public void OnStackAddClicked(object sender, AddClickedEventArgs e) { addNewRulePane(e); updateFormulaInExcel(); }