private void addTransitionMenuItem_Click(object sender, EventArgs e) { if (StateMachine.States.Count > 1) { DataDictionary.ObjectFactory factory = (DataDictionary.ObjectFactory)DataDictionary.Generated.acceptor.getFactory(); DataDictionary.Rules.Rule rule = (DataDictionary.Rules.Rule)factory.createRule(); rule.Name = "Rule" + (StateMachine.Rules.Count + 1); DataDictionary.Rules.RuleCondition ruleCondition = (DataDictionary.Rules.RuleCondition)factory.createRuleCondition(); ruleCondition.Name = "RuleCondition" + (rule.RuleConditions.Count + 1); rule.appendConditions(ruleCondition); DataDictionary.Rules.Action action = (DataDictionary.Rules.Action)factory.createAction(); action.Expression = "THIS <- " + ((State)StateMachine.States[1]).LiteralName; ruleCondition.appendActions(action); if (MDIWindow.DataDictionaryWindow != null) { DataDictionaryView.StateTreeNode stateNode = MDIWindow.DataDictionaryWindow.FindNode((State)StateMachine.States[0]) as DataDictionaryView.StateTreeNode; DataDictionaryView.RuleTreeNode ruleNode = stateNode.Rules.AddRule(rule); } StateContainerPanel.RefreshControl(); StateContainerPanel.Refresh(); TransitionControl control = StateContainerPanel.getTransitionControl(ruleCondition); Select(control); } }
private void addStateMenuItem_Click(object sender, EventArgs e) { State state = (State)DataDictionary.Generated.acceptor.getFactory().createState(); state.Name = "State" + (StateMachine.States.Count + 1); if (MDIWindow.DataDictionaryWindow != null) { DataDictionaryView.StateMachineTreeNode node = MDIWindow.DataDictionaryWindow.FindNode(StateMachine) as DataDictionaryView.StateMachineTreeNode; if (node != null) { node.AddState(state); } else { StateMachine.appendStates(state); } } StateContainerPanel.RefreshControl(); }
private void deleteMenuItem1_Click(object sender, EventArgs e) { IModelElement model = null; if (Selected is StateControl) { model = (Selected as StateControl).State; } else if (Selected is TransitionControl) { TransitionControl control = Selected as TransitionControl; RuleCondition ruleCondition = control.Transition.RuleCondition; Rule rule = ruleCondition.EnclosingRule; if (rule.countConditions() == 1) { model = rule; } else { model = ruleCondition; } } if (MDIWindow.DataDictionaryWindow != null) { BaseTreeNode node = MDIWindow.DataDictionaryWindow.FindNode(model); if (node != null) { node.Delete(); } } Select(null); StateContainerPanel.RefreshControl(); StateContainerPanel.Refresh(); }