private void DeleteSelectedNode(TreeNode node = null) { TreeView tvObject = treeObjects.Visible ? treeObjects : tvSearchResult; TreeNode nodeToDelete = node ?? tvObject.SelectedNode; if (nodeToDelete == null) { return; } TreeNode parentNode = nodeToDelete.Parent; TestObjectNurse nurseObject = TestObjectNurse.FromTreeNode(nodeToDelete); nurseObject.Remove(); if (tvObject == tvSearchResult) { nodeToDelete.Remove(); } if (parentNode == null) { if (tvObject.Nodes.Count > 0) { tvObject.SelectedNode = tvObject.TopNode; } } else { tvObject.SelectedNode = parentNode; } SelectedNodesChanged(tvObject.SelectedNode); AppEnvironment.SetModelChanged(true); }
public void TestObjectNurse_FromTreeNode() { _childTestObject.AddChild(_grandChildTestObject); _parentTestObject.AddChild(_childTestObject); //Add it to tree TestObjectNurse rootNurse = new TestObjectNurse(_treeView); TestObjectNurse parentNurse = rootNurse.AddDecendants(_parentTestObject); TreeNode treeNode = parentNurse.TreeNode; TestObjectNurse nurseObject = TestObjectNurse.FromTreeNode(treeNode); Assert.AreEqual(parentNurse, nurseObject); TreeNode childNode = treeNode.Nodes[0]; TestObjectNurse childNurseObject = TestObjectNurse.FromTreeNode(childNode); TestObjectNurse childNurse = parentNurse[0]; Assert.AreEqual(childNurse, childNurseObject); }
private void mnuCaptureSnapshot_Click(object sender, EventArgs e) { TestObjectNurse nurseObject = TestObjectNurse.FromTreeNode(_selectedNode); SelectedNodesChanged(nurseObject.TreeNode); _presenterModel.CaptureSnapshot(nurseObject); }
private void toolStripRefresh_Click(object sender, EventArgs e) { if (this.Visible) { TestObjectNurse nurseObject = _condition = TestObjectNurse.FromTreeNode((TreeNode)this.Tag); ReloadElementData(this.propertyGrid, nurseObject); } }
private void ConditionSelectorWindow_Load(object sender, EventArgs e) { Debug.Assert(this.Tag != null); TestObjectNurse nurseObject = TestObjectNurse.FromTreeNode((TreeNode)this.Tag); UIATestObject testObject = new UIATestObject(); FillListView(testObject); }
private void treeObjects_OnDropItemIntoTree(object sender, DragEventArgs e) { TreeNode myNode = null; if (e.Data.GetDataPresent(typeof(TreeNode))) { myNode = (TreeNode)(e.Data.GetData(typeof(TreeNode))); } else { return; } Point position = new Point(e.X, e.Y); position = this.treeObjects.PointToClient(position); TreeNode dropNode = this.treeObjects.GetNodeAt(position); TreeNode dragNode = null; bool needUpdate = false; if ((dropNode != null && dropNode.Parent != myNode && dropNode != myNode) || (dropNode == null)) { dragNode = myNode; myNode.Remove(); needUpdate = true; } if (dragNode != null && needUpdate) { TestObjectNurse dragNurse = TestObjectNurse.FromTreeNode(dragNode); string newName = ""; if (dropNode == null) { newName = SpyWindowHelper.DeriveControlName(RootNurseObject, dragNurse.NodeName); treeObjects.Nodes.Add(dragNode); } else { newName = SpyWindowHelper.DeriveControlName(RootNurseObject, dragNurse.NodeName); dropNode.Nodes.Add(dragNode); } if (newName != dragNurse.NodeName) { dragNurse.NodeName = newName; SelectedNodesChanged(dragNode); MessageBox.Show(string.Format(StringResources.LPSpy_SpyMainWindow_ObjNameSameMsg, newName)); } treeObjects.SelectedNode = dragNode; AppEnvironment.SetModelChanged(true); } }
private void WebRefreshNodeTag(TreeNode node) { SETestObject seTestObject = TestObjectNurse.FromTreeNode(node).TestObject as SETestObject; seTestObject.WebDriver = _webDriverHost.WebDriver; foreach (TreeNode node0 in node.Nodes) { WebRefreshNodeTag(node0); } }
private void mnuEditVirtualControls_Click(object sender, EventArgs e) { if (treeObjects.SelectedNode == null) { MessageBox.Show(StringResources.LPSpy_SpyMainWindow_SelNodeWarningMsg); return; } TreeNode node = treeObjects.SelectedNode; _presenterModel.EditVirtualControl(TestObjectNurse.FromTreeNode(node)); }
private void AddButton_Click(object sender, EventArgs e) { TestObjectNurse nurseObject = TestObjectNurse.FromTreeNode((TreeNode)this.Tag); SpyWindowHelper.AddSelectedProperty(propertyGrid, nurseObject); if (EndUpdating != null) { EndUpdating(nurseObject); } this.Dispose(); }
private void treeObjects_DragItemToEditor(object sender, ItemDragEventArgs e) { const string prefix = "UIAManager."; if (e.Item is TreeNode) { TreeNode treeNode = (TreeNode)e.Item; _dragUIAcon = TestObjectNurse.FromTreeNode(treeNode); TestObjectNurse nurseObject = TestObjectNurse.FromTreeNode(treeNode); _dragDataObject.SetData(DataFormats.Text, true, prefix + CodeGenerator.GetFullPathName(nurseObject.TestObject)); ((TreeView)sender).DoDragDrop(_dragDataObject, DragDropEffects.Copy); } }
private void LoadData(object sender, EventArgs e) { if (this.Visible) { _condition = TestObjectNurse.FromTreeNode((TreeNode)this.Tag); int count = LoadProperties(this.propertyGrid, _condition); if (count == 0) { MessageBox.Show("No more properties to add"); this.Dispose(); } } }
private void treeObjects_OnObjectNameChanged(object sender, NodeLabelEditEventArgs e) { if (e.CancelEdit) { return; } if (e.Label == null) { return; } TestObjectNurse nurse = TestObjectNurse.FromTreeNode(e.Node); if (e.Label == nurse.NodeName) { return; } string newName = e.Label; if (e.Label.StartsWith(nurse.ControlTypeString + ":")) { newName = newName.Substring((nurse.ControlTypeString + ":").Length); newName = newName.Trim(); } string nameChecker = SpyWindowHelper.DeriveControlName(nurse.ParentNurse, newName); if (nameChecker == newName) { nurse.NodeName = newName; if (NodeNameChanged != null) { NodeNameChanged(sender, e); } _presenterModel.SetSelectNodeName(newName); AppEnvironment.SetModelChanged(true); return; } else { MessageBox.Show(string.Format(StringResources.LPSpy_SpyMainWindow_SelectobjMsg, newName)); e.CancelEdit = true; e.Node.Text = TestObjectNurse.FromTreeNode(e.Node).NodeName; } }
private void SelectedNodesChanged(TreeNode treeNode) { if (_selectedNode == null && treeNode == null) { return; } if (treeNode != null) { _selectedNode = treeNode; } RaiseSelectNodeChangedEvent(treeNode); _presenterModel.SelectNodeChanged(TestObjectNurse.FromTreeNode(treeNode)); }
private void treeObjects_OnPressDelete(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete) { DeleteSelectedNode(); } if (e.KeyCode == Keys.C && e.Modifiers == Keys.Control) { if (_selectedNode == null) { return; } Clipboard.Clear(); TestObjectNurse testObjectNode = TestObjectNurse.FromTreeNode(_selectedNode); Clipboard.SetText(GetFullPathNameByTreeNode(testObjectNode)); } }
/// <summary> /// /// </summary> /// <param name="newControls"></param> /// <param name="parentNode"></param> /// <returns>return whether virtual controls are changed</returns> public static bool MergeVirtualControlsToTree(VirtualTestObject[] newControls, TreeNode parentNode) { TestObjectNurse parentNurse = TestObjectNurse.FromTreeNode(parentNode); //remove the previously attached nodes. List <ITestObject> oldControls = new List <ITestObject>(parentNurse.Children).FindAll(to => ((TestObjectNurse)to).TestObject is VirtualTestObject); if (oldControls.Count() == newControls.Count()) { int i = 0; foreach (TestObjectNurse oldControl in oldControls) { VirtualTestObject oldObject = (VirtualTestObject)oldControl.TestObject; VirtualTestObject newObject = newControls[i]; if (oldObject != newObject) { break; } ++i; } if (i == newControls.Count()) { return(false); //exactly the same, not update. } } foreach (ITestObject testObject in oldControls) { parentNurse.RemoveChild(testObject); } //Add new virtual nodes foreach (VirtualTestObject testObject in newControls) { parentNurse.AddChild(testObject); } return(true); }
private void mnuHighlight_Click(object sender, EventArgs e) { _presenterModel.Highlight(TestObjectNurse.FromTreeNode(_selectedNode)); }
private void HighlightObjectThread(object param) { try { TestObjectNurse nurseObject = param as TestObjectNurse; if (nurseObject == null) { return; } ITestObject testObject = nurseObject.TestObject; SetStatusText(StringResources.LPSpy_SpyMainWindow_Identifying); //Check whether the WebDriver Host exist or not if (testObject.ControlTypeString.StartsWith("Web")) { SETestObject seTestObject = testObject as SETestObject; if (seTestObject.SEWebElement == null) { //look for WebPage TreeNode parentNode = nurseObject.TreeNode; ITestObject parentObject = null; do { parentObject = TestObjectNurse.FromTreeNode(parentNode).TestObject; if (parentObject.ControlTypeString.Equals("WebPage")) { //seTestObject = parentObject as SETestObject; break; } }while (null != (parentNode = parentNode.Parent)); if (null != parentObject) { //check the WebDriverHost existing if (null == _webDriverHost) { _webDriverHost = new WebDriverHost(); _webDriverHost.GotoUrl(parentObject.Properties[WebControlKeys.URL]); } else { _webDriverHost.SwithToURL(parentObject.Properties[WebControlKeys.URL]); } WebRefreshNodeTag(parentNode); } } Rectangle rc = _webDriverHost.GetElementRectangle(seTestObject); UIAHighlight.HighlightRect(rc); return; } if (!UIAHighlight.SearchAndHighlight(testObject)) { MessageBox.Show(StringResources.LPSpy_SpyMainWindow_CannotFindObjectMsg); } } finally { SetStatusText(""); } }