示例#1
0
        // adds a rule and matching UI component based on user selection
        private void AddRuleClick(object sender, RoutedEventArgs e)
        {
            BeepRule br = BeepRule.Create((sender as MenuItem).Header.ToString(), bw.tiles);

            beepRules.Add(br);

            BeepRulesUIComponents.Add(CreateBeepRuleUserControl(br));
        }
示例#2
0
        // creates BeepRuleUserControl, a UI component
        private BeepRuleUserControl CreateBeepRuleUserControl(BeepRule rule)
        {
            BeepRuleUserControl bruc = BeepRuleUserControl.Create(rule);

            bruc.SelectedRule += RuleUserControlRuleSelection;
            bruc.Deleting     += DeleteRuleUserControl;
            bruc.Dragging     += RuleUserControlDragPreviewMouseDown;
            bruc.PrepareColorPickers(StandardColorItems);
            bruc.UpdateColorPickers(clrPickMouse.AvailableColors);
            return(bruc);
        }
示例#3
0
        //select different rules in UI
        private void RuleUserControlRuleSelection(object sender, EventArgs e)
        {
            BeepRuleUserControl bruc = sender as BeepRuleUserControl;

            // selected rule must be different
            if (bruc.SelectedRuleName == bruc.RuleName)
            {
                return;
            }

            beepRules.Remove(bruc.Rule);

            int index = BeepRulesUIComponents.IndexOf(bruc);

            BeepRulesUIComponents.Remove(bruc);

            BeepRule br = BeepRule.Create(bruc.SelectedRuleName, bw.tiles);

            beepRules.Add(br);

            BeepRulesUIComponents.Insert(index, CreateBeepRuleUserControl(br));
        }