private void editAddressBar_SelectionChange(object sender, NodeChangedArgs e) { if (_layersRoot.UniqueID.Equals(e.OUniqueID)) { SetPropertyGridObject(_room); SelectLayer(null); return; } RoomEditNode node = _layersRoot.GetChild(e.OUniqueID, true) as RoomEditNode; if (node == null) { SelectLayer(null); return; } RoomEditNode layerNode = node; while (layerNode != null && layerNode.Layer == null) { layerNode = layerNode.Parent as RoomEditNode; } if (layerNode == null) { SelectLayer(null); return; } layerNode.IsVisible = true; SelectLayer(layerNode.Layer); layerNode.Layer.SelectItem(node == layerNode ? null : node.RoomItemID); }
private void editAddressBar_SelectionChange(object sender, NodeChangedArgs e) { if (_layersRoot.UniqueID.Equals(e.OUniqueID)) { Factory.GUIController.SetPropertyGridObject(_room); return; } RoomEditNode node = _layersRoot.GetChild(e.OUniqueID, true) as RoomEditNode; if (node == null) { return; } RoomEditNode layerNode = node; while (layerNode != null && layerNode.Layer == null) { layerNode = layerNode.Parent as RoomEditNode; } if (layerNode == null) { return; } layerNode.IsVisible = true; SelectLayer(layerNode.Layer); // only select the item if the room editor is the active tab; this could // be a refresh from another tab e.g. changing a character's starting room if (Factory.GUIController.ActivePane.Control == this) { layerNode.Layer.SelectItem(node == layerNode ? null : node.RoomItemID); } }
private void AdBar_NodeDoubleClick(object sender, NodeChangedArgs nca) { this.rtb_path.Text = (String)nca.OUniqueID; System.Diagnostics.ProcessStartInfo exploreTest = new System.Diagnostics.ProcessStartInfo(); exploreTest.FileName = "explorer.exe"; exploreTest.Arguments = (String)nca.OUniqueID; System.Diagnostics.Process.Start(exploreTest); }
/// <summary> /// Method to handle when a mode is double clicked /// </summary> /// <param name="sender">Sender of this event</param> /// <param name="e">Event arguments</param> private void NodeDoubleClickHandler(Object sender, EventArgs e) { //check we are handlign the double click event if (NodeDoubleClick != null && sender.GetType() == typeof(ShengAddressBarButton)) { //get the node from the tag _currentNode = ((ShengAddressBarDropDownItem)sender).AddressNode; //create the node changed event arguments NodeChangedArgs nca = new NodeChangedArgs(_currentNode.UniqueID); //fire the event NodeDoubleClick(this, nca); } }
/// <summary> /// Method to handle when a child has been selected from a node /// </summary> /// <param name="sender">Sender of this Event</param> /// <param name="e">Event Arguments</param> private void NodeButtonClicked(Object sender, EventArgs e) { if (sender.GetType() == typeof(ShengAddressBarDropDownItem) || sender.GetType() == typeof(ShengAddressBarButton)) { IShengAddressNode addressNode; if (sender.GetType() == typeof(ShengAddressBarDropDownItem)) { ShengAddressBarDropDownItem tsb = (ShengAddressBarDropDownItem)sender; addressNode = tsb.AddressNode; } else { ShengAddressBarButton tsb = (ShengAddressBarButton)sender; addressNode = tsb.AddressNode; } //set the current node _currentNode = addressNode; //cxs //用不着整个都重新加载,在当前最后一个Item后面加上点的这个就行了 //但是要额外考虑点击的是哪个下拉按钮,如果是中间的,还是要整个刷 ResetBar(); //if (sender.GetType().Equals(typeof(SEAddressBarButton))) //{ // UpdateBar(); //} //else //{ // AddToolStripItemUpdate(ref _currentNode,ButtonPosition.Behind); //} //if the selection changed event is handled if (SelectionChange != null) { NodeChangedArgs args = new NodeChangedArgs(_currentNode.UniqueID); SelectionChange(this, args); } return; } }
private void AdBar_SelectionChange(object sender, NodeChangedArgs nca) { this.rtb_path.Text = (String)nca.OUniqueID; }