public override void OnStartServer() { base.OnStartServer(); NodeControl = gameObject.GetComponent <INodeControl>(); Node = gameObject.GetComponent <InLineDevice>(); CanConnectTo = new HashSet <PowerTypeCategory>(ListCanConnectTo); Node.InData.Categorytype = ApplianceType; Node.InData.CanConnectTo = CanConnectTo; Node.InData.WireEndA = WireEndA; Node.InData.WireEndB = WireEndB; Node.InData.ControllingDevice = this; foreach (PowerInputReactions ReactionC in Reactions) { Node.InData.ConnectionReaction[ReactionC.ConnectingDevice] = ReactionC; } gameObject.SendMessage("BroadcastSetUpMessage", this, SendMessageOptions.DontRequireReceiver); if (UpdateRequestDictionary.TryGetValue(ElectricalUpdateTypeCategory.OnStartServer, out HashSet <ElectricalModuleTypeCategory> updateRequest)) { foreach (ElectricalModuleTypeCategory Module in updateRequest) { UpdateDelegateDictionary[Module].OnStartServer(); } } ElectricalManager.Instance.electricalSync.StructureChange = true; }
public void DragMultiNodeTest() { var nodes = new INodeControl[] { Mock.CreateNodeControl(-20, 0, true), Mock.CreateNodeControl(0, 0, false), Mock.CreateNodeControl(10, -50, true), }; var executedCompleteCommand = false; var nodeDragCompletedCommand = Mock.Command <CompletedMoveNodeEventArgs>(x => { // selected が falseなものはドラッグされていない Assert.Equal(2, x.InitialNodePoints.Count); Assert.Equal(0, nodes[1].X); Assert.Equal(0, nodes[1].Y); AssertCheckNodeMovePoint(x, nodes[0], -20, 0, -10, 10); AssertCheckNodeMovePoint(x, nodes[2], 10, -50, 20, -40); executedCompleteCommand = true; }); var controller = BuildController(nodes, nodeDragCompletedCommand); var args = DoDrag(controller, new Point(10, 10)); controller.OnDragEnd(args.CreateEndArgs()); Assert.True(executedCompleteCommand); }
// This method deserialize the EIB events associated with the control from // XML document. Look into all event nodes and check for associated event // name private static void SetEIBEventsValue(INodeControl control, XmlNode xmlNode) { foreach (XmlNode childXmlNode in xmlNode.ChildNodes) { if (childXmlNode.NodeType == XmlNodeType.Element) { if (childXmlNode.Name == XMLServicesConstants.XmlNodeEventsElt) { foreach (XmlNode childEventXmlNode in childXmlNode.ChildNodes) { int attributeCount = childEventXmlNode.Attributes.Count; if (attributeCount > 0) { for (int counter = 0; counter < attributeCount; counter++) { if (childEventXmlNode.Attributes[counter].Value == FormDesignerConstants.OnNode) { control.NodeValue = childEventXmlNode.InnerText; } if (childEventXmlNode.Attributes[counter].Value == FormDesignerConstants.EnterNode) { control.OnNodeEnterValue = childEventXmlNode.InnerText; } if (childEventXmlNode.Attributes[counter].Value == FormDesignerConstants.ExitNode) { control.OnNodeExitClick = childEventXmlNode.InnerText; } } } } } } } }
public void displayWorkFlowNodeProperties(WorkflowEditorWindow form, INodeControl controlObject) { try { INodeControl currentNode = controlObject; if (form.SelectedNode != null) { if (form.SelectedNode.Name.Trim().Equals(FormDesignerConstants.OnNode)) { form.formulaText.Text = currentNode.NodeValue; } if (form.SelectedNode.Name.Trim().Equals(FormDesignerConstants.EnterNode)) { form.formulaText.Text = currentNode.OnNodeEnterValue; } else if (form.SelectedNode.Name.Trim().Equals(FormDesignerConstants.ExitNode)) { form.formulaText.Text = currentNode.OnNodeExitClick; } } } catch (Exception exp) { Console.Write(exp.StackTrace); } }
public void DragSingleNodeTest() { var nodes = new INodeControl[] { Mock.CreateNodeControl(0, 50, true), }; var executedCompleteCommand = false; var nodeDragCompletedCommand = Mock.Command <CompletedMoveNodeEventArgs>(x => { AssertCheckNodeMovePoint(x, nodes[0], 0, 50, 10, 60); executedCompleteCommand = true; }); var controller = BuildController(nodes, nodeDragCompletedCommand); Assert.IsType <NodesDragController>(controller); var args = DoDrag(controller, new Point(10, 10)); controller.OnDragEnd(args.CreateEndArgs()); Assert.True(executedCompleteCommand); }
public void SelectTest() { var nodes = new INodeControl[] { Mock.CreateNodeControl(0, 50, false), Mock.CreateNodeControl(0, 100, false), Mock.CreateNodeControl(0, 200, false), }; var controller = BuildController(nodes, null); Assert.IsType <RectSelectionController>(controller); // 0,0 - 150,150までの矩形選択 { var args = DoDrag(controller, new Point(0, 0), new Point(150, 150)); controller.OnDragEnd(args); Assert.True(nodes[0].IsSelected); Assert.True(nodes[1].IsSelected); Assert.False(nodes[2].IsSelected); } // 40,120 - 200,200までの矩形選択 { var args = DoDrag(controller, new Point(40, 120), new Point(200, 200)); controller.OnDragEnd(args); Assert.False(nodes[0].IsSelected); Assert.True(nodes[1].IsSelected); Assert.True(nodes[2].IsSelected); } }
public void FailedTest() { var nodes = new INodeControl[] { Mock.CreateNodeControl(0, 0, false), }; var controller = BuildController(nodes, null); Assert.Null(controller); }
private void designTree_AfterSelect(object sender, TreeViewEventArgs e) { currentBaseWindow = form.currentBaseWindow; TreeView treeControl = (TreeView)sender; selectedNode = treeControl.SelectedNode; if (currentBaseWindow != null) { if (currentBaseWindow.TypeOfWindow == FormDesignerConstants.WorkflowPattern) { if (selectedNode != null) { if (currentBaseWindow.CurrentControl.Count > 0) { if (currentBaseWindow.CurrentControl[0] is INodeControl) { INodeControl currentNode = (INodeControl)currentBaseWindow.CurrentControl[0]; this.formulaText.Enabled = true; if (currentBaseWindow.CurrentControl != null) { if (selectedNode.Name.Trim().Equals(FormDesignerConstants.OnNode)) { formulaText.Text = currentNode.NodeValue; } if (selectedNode.Name.Trim().Equals(FormDesignerConstants.EnterNode)) { formulaText.Text = currentNode.OnNodeEnterValue; } else if (selectedNode.Name.Trim().Equals(FormDesignerConstants.ExitNode)) { formulaText.Text = currentNode.OnNodeExitClick; } } } else { formulaText.Text = ""; } } } } else { MessageBox.Show("Please select a Workflow Pattern before entering process rule"); } } //MessageBox.Show(sender.ToString()); //Display the basewindow current control's setting }
/// <summary> /// ノード座標をチェック /// </summary> /// <param name="args"></param> /// <param name="node"></param> /// <param name="originX">元のx</param> /// <param name="originY">元のy</param> /// <param name="movedX">移動後のx</param> /// <param name="movedY">移動後のy</param> private void AssertCheckNodeMovePoint(CompletedMoveNodeEventArgs args, INodeControl node, double originX, double originY, double movedX, double movedY) { var prevPoint = args.InitialNodePoints[node.DataContext as INodeDataContext]; var endPoint = args.CompletedNodePoints[node.DataContext as INodeDataContext]; Assert.Equal(originX, prevPoint.X); Assert.Equal(originY, prevPoint.Y); Assert.Equal(movedX, endPoint.X); Assert.Equal(movedY, endPoint.Y); Assert.Equal(movedX, node.X); Assert.Equal(movedY, node.Y); }
public override void OnStartServer() { base.OnStartServer(); NodeControl = gameObject.GetComponent <INodeControl>(); Node = gameObject.GetComponent <InLineDevice>(); CanConnectTo = new HashSet <PowerTypeCategory>(ListCanConnectTo); Node.InData.Categorytype = ApplianceType; Node.InData.CanConnectTo = CanConnectTo; Node.InData.ControllingDevice = this; foreach (PowerInputReactions ReactionC in Reactions) { Node.InData.ConnectionReaction[ReactionC.ConnectingDevice] = ReactionC; } gameObject.SendMessage("BroadcastSetUpMessage", this, SendMessageOptions.DontRequireReceiver); UpOnStartServer(); StartCoroutine(WaitForload()); }
private void saveFormula_Click(object sender, EventArgs e) { try { this.parserError.Text = ""; if (errorWriter != null) { errorWriter.Dispose(); } errorWriter = new StringWriter(); if (!formulaText.Text.Trim().Equals("")) { Scanner scanner = new Scanner(formulaText.Text); Parser parser = new Parser(scanner); parser.errors.errorStream = errorWriter; parser.Parse(); TextReader stringReader = new StringReader(errorWriter.ToString()); this.parserError.Text = stringReader.ReadToEnd(); Console.Write(parser.errors.count + " errors detected"); if (parser.errors.count > 0) { return; } //Parse the text to Validate the java api } if (currentBaseWindow != null && selectedNode != null && currentBaseWindow.CurrentControl != null) { INodeControl eibControl = (INodeControl)currentBaseWindow.CurrentControl[0]; if (selectedNode.Name.Trim().Equals(FormDesignerConstants.OnNode)) { eibControl.NodeValue = formulaText.Text; } if (selectedNode.Name.Trim().Equals(FormDesignerConstants.EnterNode)) { eibControl.OnNodeEnterValue = formulaText.Text; } else if (selectedNode.Name.Trim().Equals(FormDesignerConstants.ExitNode)) { eibControl.OnNodeExitClick = formulaText.Text; } } } catch { } }
public void CommandTest() { var nodes = new INodeControl[] { Mock.CreateNodeControl(-500, -1500, false), Mock.CreateNodeControl(-500, -2000, true), Mock.CreateNodeControl(0, 100, false), Mock.CreateNodeControl(0, 200, false), }; var commandExecuted = false; var command = Mock.Command <SelectionChangedEventArgs>(x => { // コマンドが1回だけ実行されることを確認 Assert.False(commandExecuted); // nodes[0]だけは変更がないのでここにくる数は3 Assert.Equal(3, x.ChangedItems.Length); Assert.Contains(nodes[1], x.ChangedItems); Assert.Contains(nodes[2], x.ChangedItems); Assert.Contains(nodes[3], x.ChangedItems); commandExecuted = true; }); var controller = BuildController(nodes, command); Assert.IsType <RectSelectionController>(controller); // 0,0 - 150,150までの矩形選択 { var args = DoDrag(controller, new Point(0, 150), new Point(30, 250)); controller.OnDragEnd(args); Assert.False(nodes[0].IsSelected); Assert.False(nodes[1].IsSelected); Assert.True(nodes[2].IsSelected); Assert.True(nodes[3].IsSelected); } // コマンドが実行されたことを確認 Assert.True(commandExecuted); }
public override void OnStartServer() { //Logger.Log("yoooooo"); base.OnStartServer(); NodeControl = gameObject.GetComponent <INodeControl>(); Node = gameObject.GetComponent <InLineDevice>(); CanConnectTo = new HashSet <PowerTypeCategory>(ListCanConnectTo); Node.InData.Categorytype = ApplianceType; Node.InData.CanConnectTo = CanConnectTo; Node.InData.WireEndA = WireEndA; Node.InData.WireEndB = WireEndB; Node.InData.ControllingDevice = this; foreach (PowerInputReactions ReactionC in Reactions) { Node.InData.ConnectionReaction[ReactionC.ConnectingDevice] = ReactionC; } gameObject.SendMessage("BroadcastSetUpMessage", this, SendMessageOptions.DontRequireReceiver); UpOnStartServer(); ElectricalManager.Instance.electricalSync.StructureChange = true; }
public void ChainDragTest() { var nodes = new INodeControl[] { Mock.CreateNodeControl(0, 0, true), }; var executedCompleteCommand = false; var nodeDragCompletedCommand = Mock.Command <CompletedMoveNodeEventArgs>(x => { AssertCheckNodeMovePoint(x, nodes[0], 0, 0, 30, 0); executedCompleteCommand = true; }); var controller = BuildController(nodes, nodeDragCompletedCommand); // 10,10 → -5,-5 → 30,0 へ順番に動かす var args = DoDrag(controller, new Point(10, 10), new Point(-5, -5), new Point(30, 0)); controller.OnDragEnd(args.CreateEndArgs()); Assert.True(executedCompleteCommand); }
public static Hashtable updateEvents(Control control, string elementName, string uniqueId) { Hashtable controlProperties = new Hashtable(); string eibCOntrolInterfaceName = (typeof(IEIBControl)).Name; if (control.GetType().GetInterface(eibCOntrolInterfaceName) != null) { INodeControl eibControl = (INodeControl)control; if (eibControl.NodeValue != null && !eibControl.NodeValue.Trim().Equals("")) { controlProperties.Add(FormDesignerConstants.OnNode, eibControl.NodeValue); } if (eibControl.OnNodeEnterValue != null && !eibControl.OnNodeEnterValue.Trim().Equals("")) { controlProperties.Add(FormDesignerConstants.EnterNode, eibControl.OnNodeEnterValue); } if (eibControl.OnNodeExitClick != null && !eibControl.OnNodeExitClick.Trim().Equals("")) { controlProperties.Add(FormDesignerConstants.ExitNode, eibControl.OnNodeExitClick); } } //EIBControl Settings return(controlProperties); }
public static Rect ToRect(this INodeControl node) { return(new Rect(node.X, node.Y, node.ActualWidth, node.ActualHeight)); }