コード例 #1
0
ファイル: TreeView.cs プロジェクト: sebxwolf/ApsimX
 /// <summary>User has selected a node. Raise event for presenter.</summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param>
 private void OnAfterSelect(object sender, EventArgs e)
 {
     try
     {
         if (SelectedNodeChanged != null)
         {
             treeview1.CursorChanged -= OnAfterSelect;
             NodeSelectedArgs selectionChangedData = new NodeSelectedArgs();
             selectionChangedData.OldNodePath = previouslySelectedNodePath;
             TreePath       selPath;
             TreeViewColumn selCol;
             treeview1.GetCursor(out selPath, out selCol);
             selectionChangedData.NewNodePath = GetFullPath(selPath);
             if (selectionChangedData.NewNodePath != selectionChangedData.OldNodePath)
             {
                 SelectedNodeChanged.Invoke(this, selectionChangedData);
             }
             previouslySelectedNodePath = selectionChangedData.NewNodePath;
             treeview1.CursorChanged   += OnAfterSelect;
         }
         else
         {
             // Presenter is ignoring the SelectedNodeChanged event.
             // We should scroll to the newly selected node so the user
             // can actually see what they've selected.
             treeview1.GetCursor(out TreePath path, out _);
             treeview1.ScrollToCell(path, null, false, 0, 1);
         }
     }
     catch (Exception err)
     {
         ShowError(err);
     }
 }
コード例 #2
0
 /// <summary>User has selected a node. Raise event for presenter.</summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param>
 private void OnAfterSelect(object sender, EventArgs e)
 {
     try
     {
         if (SelectedNodeChanged != null)
         {
             treeview1.CursorChanged -= OnAfterSelect;
             NodeSelectedArgs selectionChangedData = new NodeSelectedArgs();
             selectionChangedData.OldNodePath = previouslySelectedNodePath;
             TreePath       selPath;
             TreeViewColumn selCol;
             treeview1.GetCursor(out selPath, out selCol);
             selectionChangedData.NewNodePath = GetFullPath(selPath);
             if (selectionChangedData.NewNodePath != selectionChangedData.OldNodePath)
             {
                 SelectedNodeChanged.Invoke(this, selectionChangedData);
             }
             previouslySelectedNodePath = selectionChangedData.NewNodePath;
             treeview1.CursorChanged   += OnAfterSelect;
         }
     }
     catch (Exception err)
     {
         ShowError(err);
     }
 }
コード例 #3
0
        /// <summary>A node has been selected (whether by user or undo/redo)</summary>
        /// <param name="sender">Sending object</param>
        /// <param name="e">Node arguments</param>
        private void OnNodeSelected(object sender, NodeSelectedArgs e)
        {
            this.HideRightHandPanel();
            this.ShowRightHandPanel();
            this.PopulateContextMenu(e.NewNodePath);

            Commands.SelectNodeCommand selectCommand = new SelectNodeCommand(e.OldNodePath, e.NewNodePath, this.view);
            CommandHistory.Add(selectCommand, false);
        }
コード例 #4
0
ファイル: ExplorerView.cs プロジェクト: kiwiroy/ApsimX
 /// <summary>User has selected a node. Raise event for presenter.</summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param>
 private void OnAfterSelect(object sender, TreeViewEventArgs e)
 {
     if (SelectedNodeChanged != null)
     {
         NodeSelectedArgs selectionChangedData = new NodeSelectedArgs();
         selectionChangedData.OldNodePath = previouslySelectedNodePath;
         selectionChangedData.NewNodePath = FullPath(e.Node);
         SelectedNodeChanged.Invoke(this, selectionChangedData);
         previouslySelectedNodePath = selectionChangedData.NewNodePath;
     }
 }
コード例 #5
0
 /// <summary>User has selected a node. Raise event for presenter.</summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param>
 private void OnAfterSelect(object sender, EventArgs e)
 {
     if (SelectedNodeChanged != null)
     {
         NodeSelectedArgs selectionChangedData = new NodeSelectedArgs();
         selectionChangedData.OldNodePath = previouslySelectedNodePath;
         TreePath       selPath;
         TreeViewColumn selCol;
         treeview1.GetCursor(out selPath, out selCol);
         selectionChangedData.NewNodePath = FullPath(selPath);
         SelectedNodeChanged.Invoke(this, selectionChangedData);
         previouslySelectedNodePath = selectionChangedData.NewNodePath;
     }
 }
コード例 #6
0
        /// <summary>A node has been selected (whether by user or undo/redo)</summary>
        /// <param name="sender">Sending object</param>
        /// <param name="e">Node arguments</param>
        private void OnNodeSelected(object sender, NodeSelectedArgs e)
        {
            try
            {
                this.HideRightHandPanel();
                this.ShowRightHandPanel();
            }
            catch (Exception err)
            {
                MainPresenter.ShowError(err);
            }

            // If an exception is thrown while loding the view, this
            // shouldn't interfere with the context menu.
            this.PopulateContextMenu(e.NewNodePath);
        }
コード例 #7
0
ファイル: ExplorerView.cs プロジェクト: hut104/ApsimX
        /* TBI
        /// <summary>
        /// Override the process command key method so that we can implement global keyboard
        /// shortcuts.
        /// </summary>
        /// <param name="msg">The windows message to process</param>
        /// <param name="keyData">The key to process</param>
        /// <returns>True if command key was processed.</returns>
        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (ShortcutKeyPressed != null && ShortcutKeys != null)
            {
                KeysConverter kc = new KeysConverter();
                string keyName = kc.ConvertToString(keyData);
                if (ShortcutKeys.Contains(keyName))
                {
                    ShortcutKeyPressed.Invoke(this, new KeysArgs() { Keys = keyData });
                    return true;
                }
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }

        #endregion

        #region Events
        */
        /// <summary>User has selected a node. Raise event for presenter.</summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param>
        private void OnAfterSelect(object sender, EventArgs e)
        {
            if (SelectedNodeChanged != null)
            {
                NodeSelectedArgs selectionChangedData = new NodeSelectedArgs();
                selectionChangedData.OldNodePath = previouslySelectedNodePath;
                TreePath selPath;
                TreeViewColumn selCol;
                treeview1.GetCursor(out selPath, out selCol);
                selectionChangedData.NewNodePath = FullPath(selPath);
                SelectedNodeChanged.Invoke(this, selectionChangedData);
                previouslySelectedNodePath = selectionChangedData.NewNodePath;
            }
        }
コード例 #8
0
 /// <summary>A node has been selected (whether by user or undo/redo)</summary>
 /// <param name="sender">Sending object</param>
 /// <param name="e">Node arguments</param>
 private void OnNodeSelected(object sender, NodeSelectedArgs e)
 {
     this.HideRightHandView();
     this.ShowRightHandView();
 }
コード例 #9
0
        void value_OnSelectedNodeByCode(object sender, NodeSelectedArgs e)
        {
            if (tvProperties.IsVirtualizing)
            {
                return;
            }
            //throw new NotImplementedException();
            var rtuid = e.RtuIdSelected;

            if (!Wlst.Sr.EquipmentInfoHolding.Services.EquipmentIdAssignRang.IsRtuIsRtuLight(rtuid))
            {
                return;
            }
            var itemsControlOne = tvProperties as  ItemsControl;

            if (itemsControlOne == null)
            {
                return;
            }

            foreach (var g in itemsControlOne.Items)
            {
                var tmps = g as Wlst.Ux.LdEquipemntTree.GrpComSingleMuliViewModel.TreeNodeBaseNode;
                //  var tvssssii = (RadTreeView)tvProperties.ItemContainerGenerator.ContainerFromItem(g);
                var tvifsdfsdfi = (RadTreeViewItem)tvProperties.ItemContainerGenerator.ContainerFromItem(g);


                if (tmps == null || tvifsdfsdfi == null)
                {
                    continue;
                }
                if (tmps.NodeType == TypeOfTabTreeNode.IsAll)
                {
                    tvifsdfsdfi.IsSelected = true;
                    tvifsdfsdfi.IsExpanded = true;
                    //tvifsdfsdfi.Focus();
                    // tvifsdfsdfi.MoveFocus()
                    if (tvifsdfsdfi.ItemContainerGenerator.Status != System.Windows.Controls.Primitives.GeneratorStatus.ContainersGenerated)
                    {
                        tvifsdfsdfi.UpdateLayout();
                    }
                    //var tvi = (ItemsControl)tvProperties.ItemContainerGenerator.ContainerFromItem(g);

                    //if (tvi == null) continue;
                    foreach (var hhh in tvifsdfsdfi.Items)
                    {
                        var rtutmps = hhh as Wlst.Ux.LdEquipemntTree.GrpComSingleMuliViewModel.TreeNodeBaseNode;
                        if (rtutmps == null)
                        {
                            continue;
                        }
                        if (rtutmps.NodeId == rtuid)
                        {
                            //var ssss = FindVisualChild(tvifsdfsdfi,rtuid );
                            //if (ssss != null)
                            //{
                            //    var gggsd = ssss.DataContext  as Wlst.Ux.EquipemntTree.GrpComSingleMuliViewModel.TreeNodeBaseNode;
                            //    if(gggsd ==null )
                            //    {
                            //        return;
                            //    }
                            //    ssss.IsSelected = true;
                            //    ssss.Focus();
                            //    ssss.IsExpanded = true;
                            //    return;
                            //}
                            var tvii = (RadTreeViewItem)tvifsdfsdfi.ItemContainerGenerator.ContainerFromItem(hhh);
                            //   var tvisssi = tvProperties.ItemContainerGenerator.ContainerFromItem(hhh);
                            if (tvii == null)
                            {
                                return;
                            }
                            //tvii.IsSelected = true;
                            //tvii.IsExpanded = true;

                            //tvii.Focus();
                            var tmlVm = hhh as Wlst.Ux.LdEquipemntTree.GrpComSingleMuliViewModel.TreeNodeItemTmlViewModel;
                            if (tmlVm != null)
                            {
                                tmlVm.IsSelectedByCode = true;
                            }


                            tvProperties.SelectedItem = tvii;
                            tvii.EnsureVisible();
                            tvii.Focus();
                            tvii.IsSelected = true;
                            tvii.IsExpanded = true;

                            if (tmlVm != null)
                            {
                                tmlVm.IsSelectedByCode = false;
                            }

                            //tvii.IsSelected = true;
                            //tvii.IsExpanded = true;

                            //   tvii.Focus();


                            // Creating a FocusNavigationDirection object and setting it to a
                            // local field that contains the direction selected.
                            //FocusNavigationDirection focusDirection = FocusNavigationDirection.Up ;

                            // MoveFocus takes a TraveralReqest as its argument.
                            //TraversalRequest request = new TraversalRequest(focusDirection);
                            //tvii.MoveFocus(request);

                            //// Gets the element with keyboard focus.
                            //UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;

                            //// Change keyboard focus.
                            //if (elementWithFocus != null)
                            //{
                            //    elementWithFocus.MoveFocus(request);
                            //}

                            return;
                        }
                    }
                    //foreach (var mmm in )

                    break;
                }
            }
        }
コード例 #10
0
 void value_OnClearSerchTest(object sender, NodeSelectedArgs e)
 {
     //throw new NotImplementedException();
     sr = e.SearchText;
 }
コード例 #11
0
ファイル: ExplorerPresenter.cs プロジェクト: hol353/ApsimX
        /// <summary>A node has been selected (whether by user or undo/redo)</summary>
        /// <param name="sender">Sending object</param>
        /// <param name="e">Node arguments</param>
        private void OnNodeSelected(object sender, NodeSelectedArgs e)
        {
            this.HideRightHandPanel();
            this.ShowRightHandPanel();
            PopulateContextMenu(e.NewNodePath);

            Commands.SelectNodeCommand selectCommand = new SelectNodeCommand(e.OldNodePath, e.NewNodePath, this.view);
            CommandHistory.Add(selectCommand);
        }
コード例 #12
0
ファイル: ExplorerView.cs プロジェクト: hol353/ApsimX
 /// <summary>User has selected a node. Raise event for presenter.</summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param>
 private void OnAfterSelect(object sender, TreeViewEventArgs e)
 {
     if (SelectedNodeChanged != null)
     {
         NodeSelectedArgs selectionChangedData = new NodeSelectedArgs();
         selectionChangedData.OldNodePath = previouslySelectedNodePath;
         selectionChangedData.NewNodePath = FullPath(e.Node);
         SelectedNodeChanged.Invoke(this, selectionChangedData);
         previouslySelectedNodePath = selectionChangedData.NewNodePath;
     }
 }