예제 #1
0
        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);
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
파일: Form1.cs 프로젝트: GUrbiola/Ez_SQL
        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);
        }
예제 #4
0
        /// <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);
            }
        }
예제 #5
0
        /// <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;
            }
        }
예제 #6
0
파일: Form1.cs 프로젝트: GUrbiola/Ez_SQL
 private void AdBar_SelectionChange(object sender, NodeChangedArgs nca)
 {
     this.rtb_path.Text = (String)nca.OUniqueID;
 }