Ejemplo n.º 1
0
        public string Execute([NotNull] string databaseName)
        {
            Assert.ArgumentNotNull(databaseName, nameof(databaseName));

            var database = Factory.GetDatabase(databaseName);

            if (database == null)
            {
                throw new Exception("Database not found");
            }

            var selected = GutterManager.GetActiveRendererIDs();

            var root = database.GetItem("/sitecore/content/Applications/Content Editor/Gutters");

            if (root == null)
            {
                return(string.Empty);
            }

            var result = new StringBuilder();

            foreach (Item child in root.Children)
            {
                result.Append(child.ID);

                result.Append(selected.Contains(child.ID) ? "1" : "0");

                result.AppendLine(child.DisplayName);
            }

            return(result.ToString());
        }
Ejemplo n.º 2
0
        public string Execute([NotNull] string id)
        {
            Assert.ArgumentNotNull(id, nameof(id));

            GutterManager.ToggleActiveRendererID(new ID(id));

            return(string.Empty);
        }
Ejemplo n.º 3
0
        private void WriteGutter([NotNull] XmlTextWriter output, [NotNull] Item item, [NotNull] MethodInfo method)
        {
            Debug.ArgumentNotNull(output, nameof(output));
            Debug.ArgumentNotNull(item, nameof(item));
            Debug.ArgumentNotNull(method, nameof(method));

            var instance = new object[]
            {
                item
            };

            var list = new List <GutterIconDescriptor>();

            foreach (var gutter in GutterManager.GetRenderers())
            {
                GutterIconDescriptor descriptor;
                try
                {
                    descriptor = method.Invoke(gutter, instance) as GutterIconDescriptor;
                }
                catch
                {
                    descriptor = null;
                }

                if (descriptor == null)
                {
                    continue;
                }

                list.Add(descriptor);
            }

            if (list.Count == 0)
            {
                return;
            }

            output.WriteStartElement("item");

            output.WriteAttributeString("id", item.ID.ToString());

            foreach (var descriptor in list)
            {
                output.WriteStartElement("gutter");

                output.WriteAttributeString("icon", Images.GetThemedImageSource(descriptor.Icon, ImageDimension.id16x16));
                output.WriteAttributeString("tooltip", descriptor.Tooltip);

                output.WriteEndElement();
            }

            output.WriteEndElement();
        }
        private void ItemRenamed([NotNull] object sender, [NotNull] ItemUri renamedItemUri, [NotNull] string newName)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(renamedItemUri, nameof(renamedItemUri));
            Debug.ArgumentNotNull(newName, nameof(newName));

            if (Item.ItemUri == renamedItemUri)
            {
                ItemHeader.Text = newName;
                GutterManager.UpdateGutter(renamedItemUri);
            }
        }
Ejemplo n.º 5
0
        protected virtual void UpdateGutter([NotNull] List <BaseTreeViewItem> items)
        {
            Debug.ArgumentNotNull(items, nameof(items));

            var gutterItems = new List <ItemUri>();

            foreach (var item in items)
            {
                var i = item as ItemTreeViewItem;
                if (i != null)
                {
                    gutterItems.Add(i.ItemUri);
                }
            }

            GutterManager.UpdateGutter(gutterItems);
        }
Ejemplo n.º 6
0
        private void ItemSaved([NotNull] object sender, [NotNull] ContentModel contentModel)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(contentModel, nameof(contentModel));

            var list = new List <ItemUri>();

            foreach (var field in contentModel.Fields)
            {
                foreach (var fieldUri in field.FieldUris)
                {
                    if (list.Contains(fieldUri.ItemVersionUri.ItemUri))
                    {
                        list.Add(fieldUri.ItemVersionUri.ItemUri);
                    }
                }
            }

            GutterManager.UpdateGutter(list);
        }