예제 #1
0
        private void OnBreadcrumbConvertItem(object sender, BreadcrumbConvertItemEventArgs e)
        {
            string path = e.Path;
            var    item = e.Item as BreadcrumbItem;

            if (item == null)
            {
                return;
            }
            ItemCollection items = item.Items;

            items.Clear();
            try
            {
                FileSystemDescription filedesc = Client.Stat(path);
                if (filedesc.IsDirectory)
                {
                    //                    _logger.Debug(string.Format("[LIST]{0}", path));
                    FileSystemDescription[] fileDescriptions = Client.List(path);
                    foreach (FileSystemDescription file in fileDescriptions)
                    {
                        items.Add(new BreadcrumbItem
                        {
                            Header    = file.Name,
                            PathEntry = file.Name,
                        });
                    }
                }
            }
            catch (FaultException)
            {
            }
        }
예제 #2
0
        /// <summary>
        /// Converts the BreadCrumbItems
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="System.Windows.RoutedEventArgs"/> instance containing the event data.</param>
        private void OnBreadcrumbConvertItem(object sender, BreadcrumbConvertItemEventArgs e)
        {
            if (_isloaded)
            {
                if (breadcrumb.SelectedItem is BreadCrumbViewModel)
                {
                    SelectedItems.Insert(0, breadcrumb.SelectedItem);
                    return;
                }
                ConvertItemHelper.ItemTitle = ((WorkspaceItem)(breadcrumb.SelectedItem)).ItemTitle;
                e.Path = ConvertItemHelper.ItemTitle;
                return;
            }

            if (Vm.Treeviewitem != null)
            {
                if ((Vm.Treeviewitem.Header is WorkspaceItem) &&
                    (Vm.Treeviewitem.Header as WorkspaceItem).ItemImage.Length == 0)
                {
                    (Vm.Treeviewitem.Header as WorkspaceItem).ItemImage = GetLocalItemImageForBreadCrumb();
                }
                ConvertItemHelper.Treeviewitem = Vm.Treeviewitem;
                // ConvertItemHelper.HandleConvertItem(sender, e);
            }

            UpdateSelectedItems();
            ConvertItemHelper.GetTrail(breadcrumb.RootItem, breadcrumb.SelectedItem);
            ConvertItemHelper.HandleConvertItem(sender, e);

            #region "need to check"

            //Loads dynamically the child item for the selected breadcrumb menu item
            //if (e.Item.GetType().Name == Constants.WorkspaceItem)
            //{
            //    if (((WorkspaceItem)e.Item).Children != null)
            //    {
            //        foreach (var item in ((WorkspaceItem)e.Item).Children)
            //        {
            //            if (item.Children != null)
            //                foreach (var childitem in item.Children)
            //                {
            //                    if (childitem.Children == null || childitem.Children.Length == 0)
            //                    {
            //                        ChildItem.Add(childitem);

            //                        //Vm.EventBroker.RaiseGetChild(new LoadWorkspaceItemEventArgs
            //                        //{
            //                        //    WorkspaceId = childitem.Id,
            //                        //    ItemId = childitem.ItemId
            //                        //});

            //                    }
            //                }
            //        }
            //        ConvertItemHelper.ChildItem = ChildItem;
            //    }
            //  }
            #endregion
        }
예제 #3
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////
        // NON-PUBLIC PROCEDURES
        /////////////////////////////////////////////////////////////////////////////////////////////////////

        /// <summary>
        /// Handles the ConvertItem event of the breadcrumb control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="ActiproSoftware.Windows.Controls.Navigation.BreadcrumbConvertItemEventArgs"/> instance containing the event data.</param>
        private void OnBreadcrumbConvertItem(object sender, BreadcrumbConvertItemEventArgs e)
        {
            // If here and the trail is null, then the default conversion handling has failed.
            if (BreadcrumbConvertItemTargetType.Trail == e.TargetType && null == e.Trail)
            {
                MessageBox.Show("The specified path could not be found.", "Breadcrumb Sample", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
예제 #4
0
        /// <summary>
        /// Handles the ConvertItem event of a Breadcrumb control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="BreadcrumbConvertItemEventArgs"/> instance containing the event data.</param>
        /// <exception cref="NotImplementedException"></exception>
        public static void HandleConvertItem(object sender, BreadcrumbConvertItemEventArgs e)
        {
            if (BreadcrumbConvertItemTargetType.Path == e.TargetType)
            {
                // Convert either the item or the trail to a path
                object item = e.Item;
                if (null == item && null != e.Trail && 0 != e.Trail.Count)
                {
                    item = e.Trail[e.Trail.Count - 1];
                }

                //  e.Path = GetPath(item);
                //if (TreeViewItemPath == null)
                //  TreeViewItemPath = "Root";
                e.Path = TreeViewItemPath ?? GetPath(item);
            }
            else if (BreadcrumbConvertItemTargetType.Trail == e.TargetType)
            {
                IList trail = null;
                if (null != e.Path)
                {
                    trail = GetTrail(e.RootItem, e.Path);
                }
                else if (null != e.Item)
                {
                    trail = GetTrail(e.RootItem, e.Item);
                }

                if (null == trail)
                {
                    ReportError("The specified path could not be found.");
                    return;
                }
                e.Trail = null;
                e.Trail = trail;
            }
            else
            {
                ReportError("Unsupported Breadcrumb target type.");
                return;
            }
        }
        /// <summary>
        /// Handles the ConvertItem event of a Breadcrumb control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="BreadcrumbConvertItemEventArgs"/> instance containing the event data.</param>
        public static void HandleConvertItem(object sender, BreadcrumbConvertItemEventArgs e)
        {
            if (BreadcrumbConvertItemTargetType.Path == e.TargetType)
            {
                Breadcrumb breadCrumb = sender as Breadcrumb;
                if (null != breadCrumb)
                {
                    // Convert either the item or the trail to a path
                    object item = e.Item;
                    if (null == item && null != e.Trail && 0 != e.Trail.Count)
                    {
                        item = e.Trail[e.Trail.Count - 1];
                    }

                    e.Path = GetPath(breadCrumb.RootItem, item);
                }
            }
            else if (BreadcrumbConvertItemTargetType.Trail == e.TargetType)
            {
                IList trail = null;
                if (null != e.Path)
                {
                    trail = GetTrail(e.RootItem, e.Path);
                }
                else if (null != e.Item)
                {
                    trail = GetTrail(e.RootItem, e.Item);
                }

                if (null == trail)
                {
                    return;
                }

                e.Trail = trail;
            }
            else
            {
                throw new NotImplementedException("Unsupported Breadcrumb target type");
            }
        }
예제 #6
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////
        // NON- PUBLIC PROCEDURES
        /////////////////////////////////////////////////////////////////////////////////////////////////////

        /// <summary>
        /// Handles the ConvertItem event of the breadcrumb control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="BreadcrumbConvertItemEventArgs"/> instance containing the event data.</param>
        private void OnBreadcrumbConvertItem(object sender, BreadcrumbConvertItemEventArgs e)
        {
            ConvertItemHelper.HandleConvertItem(sender, e);
        }
예제 #7
0
 private void OnBreadcrumbConvertItem(object sender, BreadcrumbConvertItemEventArgs e)
 {
     string path = e.Path;
     var item = e.Item as BreadcrumbItem;
     if (item == null) return;
     ItemCollection items = item.Items;
     items.Clear();
     try
     {
         FileSystemDescription filedesc = Client.Stat(path);
         if (filedesc.IsDirectory)
         {
             //                    _logger.Debug(string.Format("[LIST]{0}", path));
             FileSystemDescription[] fileDescriptions = Client.List(path);
             foreach (FileSystemDescription file in fileDescriptions)
             {
                 items.Add(new BreadcrumbItem
                     {
                         Header = file.Name,
                         PathEntry = file.Name,
                     });
             }
         }
     }
     catch (FaultException)
     {
     }
 }