Example #1
0
        public override bool CanExecute(object parameter)
        {
            var context = parameter as ContentTreeContext;

            if (context == null)
            {
                return(false);
            }

            if (context.SelectedItems.Count() != 1)
            {
                return(false);
            }

            var item = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem;

            if (item == null)
            {
                return(false);
            }

            if (ActiveContext.ActiveContentTree == null)
            {
                return(false);
            }

            Context = context;

            return(true);
        }
        public override bool CanExecute(object parameter)
        {
            var context = parameter as ContentTreeContext;

            if (context == null)
            {
                return(false);
            }

            if (context.SelectedItems.Count() != 1)
            {
                return(false);
            }

            var item = context.SelectedItems.FirstOrDefault() as SiteTreeViewItem;

            if (item == null)
            {
                return(false);
            }

            if ((item.Site.DataService.FeatureCapabilities & DataServiceFeatureCapabilities.Execute) != DataServiceFeatureCapabilities.Execute)
            {
                return(false);
            }

            Context = context;

            return(true);
        }
Example #3
0
 public override bool CanExecute(object parameter)
 {
     ContentTreeContext contentTreeContext = parameter as ContentTreeContext;
     if (contentTreeContext == null || Enumerable.Count<BaseTreeViewItem>(contentTreeContext.SelectedItems) != 1)
         return false;
     SiteTreeViewItem siteTreeViewItem = Enumerable.FirstOrDefault<BaseTreeViewItem>(contentTreeContext.SelectedItems) as SiteTreeViewItem;
     return siteTreeViewItem != null;
 }
Example #4
0
        public static bool CanExecute(object parameter)
        {
            ContentTreeContext contentTreeContext = parameter as ContentTreeContext;

            if (contentTreeContext == null || Enumerable.Count <BaseTreeViewItem>(contentTreeContext.SelectedItems) != 1)
            {
                return(false);
            }
            SiteTreeViewItem siteTreeViewItem = Enumerable.FirstOrDefault <BaseTreeViewItem>(contentTreeContext.SelectedItems) as SiteTreeViewItem;

            return(siteTreeViewItem != null);
        }
        protected override void ExecuteInner(ContentTreeContext context)
        {
            var itemTree = context.GetSelectedAsItemTree();

            if (itemTree.IsTemplate)
            {
                ExecuteInner(
                    new SitecoreTemplateBuilder(
                        new SitecoreDataService(context.GetSite().DataService),
                        new SitecoreItemBuilder(new SitecoreDataService(context.GetSite().DataService))).Build(itemTree.ItemUri));
            }
            else
            {
                ExecuteInner(new SitecoreItemBuilder(new SitecoreDataService(context.GetSite().DataService)).Build(itemTree.ItemUri));
            }
        }        
Example #6
0
        public override void Execute(object parameter)
        {
            if (!(parameter is ShellContext))
            {
                return;
            }

            var tree = ActiveContext.ActiveContentTree;

            if (tree == null)
            {
                return;
            }

            var context = new ContentTreeContext(tree.ItemTreeView, tree.ItemTreeView.SelectedItems);

            AppHost.Usage.ReportCommand(Command, context);
            Command.Execute(context);
        }
Example #7
0
        private void HandleKeyDown([NotNull] object sender, [NotNull] KeyEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            if (e.Key == Key.F2)
            {
                SetCurrentItemInEditMode(true);
                return;
            }

            if (e.Key != Key.Enter || Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl) || Keyboard.IsKeyDown(Key.LeftAlt) || Keyboard.IsKeyDown(Key.RightAlt) || Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift))
            {
                return;
            }

            var context  = new ContentTreeContext(this, TreeView.GetSelectedItems(null));
            var pipeline = DefaultActionPipeline.Run().WithParameters(context);

            e.Handled = pipeline.Handled;
        }
Example #8
0
        private void OpenContextMenu([NotNull] object sender, [NotNull] ContextMenuEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            if (!AllowContextMenu)
            {
                return;
            }

            ContextMenu = null;

            object context;

            var point = ((UIElement)e.Source).TranslatePoint(new Point(e.CursorLeft, e.CursorTop), this);

            if (point.X < 20 && e.CursorLeft != -1 && e.CursorTop != -1)
            {
                var control = TreeView.GetBaseTreeViewItem(e.Source);
                if (control == null)
                {
                    e.Handled = true;
                    return;
                }

                context = new GutterContext(this, TreeView.GetSelectedItems(control));
            }
            else
            {
                var control = TreeView.GetBaseTreeViewItem(e.Source);
                if (control == null)
                {
                    if (!AllowEmptyContextMenu)
                    {
                        return;
                    }

                    context = new ContentTreeContext(this, Enumerable.Empty <BaseTreeViewItem>());
                }
                else if (GetContext != null)
                {
                    context = GetContext(e.Source);
                }
                else
                {
                    context = new ContentTreeContext(this, TreeView.GetSelectedItems(control));
                }
            }

            var commands = Commands.CommandManager.GetCommands(context).ToList();

            if (!commands.Any())
            {
                return;
            }

            var contextMenu = new ContextMenu();

            contextMenu.Build(commands, context);

            ContextMenu = contextMenu;
        }
 protected abstract void ExecuteInner(ContentTreeContext context);
 protected abstract bool CanExecuteInner(ContentTreeContext parameter);
 protected override bool CanExecuteInner(ContentTreeContext context)
 {
     return context.OneItemSelected() && context.GetSelectedAsItemTree() != null;
 }
Example #12
0
 public override void ContextMenuClosed()
 {
     Context = null;
 }