public void Process(RenderContentEditorArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            if (args.Item != null)
            {
                GetContentEditorSkinArgs args2 = new GetContentEditorSkinArgs(args.Item, args.Sections);
                using (new LongRunningOperationWatcher(Settings.Profiling.RenderFieldThreshold, "GetContentEditorSkin pipeline", new string[0]))
                {
                    CorePipeline.Run("getContentEditorSkin", args2);
                }

                string skin = args2.Skin;
                if (!string.IsNullOrEmpty(skin))
                {
                    XmlDocument document = XmlUtil.LoadXml(skin);
                    if (document.DocumentElement != null)
                    {
                        this._args     = args;
                        this._item     = args.Item;
                        this._sections = args.Sections;
                        this.Render(document);
                        args.AbortPipeline();
                    }
                }
            }
        }
        public void RenderSections(Control parent, Editor.Sections sections, bool readOnly)
        {
            Context.ClientPage.ClientResponse.DisableOutput();
            AddLiteralControl(parent, "<div class=\"scEditorSections\">");

            for (var index = 0; index < sections.Count; ++index)
            {
                RenderSection(sections[index], parent, readOnly);
            }

            AddLiteralControl(parent, "</div>");
            Context.ClientPage.ClientResponse.EnableOutput();
        }
 protected void NavigatorMenu_DropDown()
 {
     Item item;
     Item item2;
     this.ContentEditorDataContext.GetState(out item2, out item);
     if (item != null)
     {
         Hashtable fieldInfo = this.FieldInfo;
         Editor.Sections sections = new Editor.Sections();
         GetContentEditorFieldsArgs args = new GetContentEditorFieldsArgs(item)
         {
             Sections = sections,
             FieldInfo = new Hashtable(),
             ShowDataFieldsOnly = !UserOptions.ContentEditor.ShowSystemFields
         };
         using (new LongRunningOperationWatcher(Settings.Profiling.RenderFieldThreshold, "getContentEditorFields pipeline[id={0}]", new string[] { item.ID.ToString() }))
         {
             CorePipeline.Run("getContentEditorFields", args);
         }
         HtmlTextWriter writer = new HtmlTextWriter(new StringWriter());
         writer.Write("<table class=\"scEditorHeaderNavigatorMenu\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" onclick=\"javascript:return scForm.Content.scrollTo(this, event);\">");
         foreach (Editor.Section section in sections)
         {
             writer.Write("<tr><td><a id=\"Nav_" + section.ControlID + "\" href=\"#\" class=\"scEditorHeaderNavigatorSection\">" + section.DisplayName + "<a></td></tr>");
             foreach (Editor.Field field in section.Fields)
             {
                 string controlID = field.ControlID;
                 foreach (FieldInfo info in fieldInfo.Values)
                 {
                     if (info.FieldID == field.TemplateField.ID)
                     {
                         controlID = info.ID;
                         break;
                     }
                 }
                 string str2 = WebUtil.SafeEncode(StringUtil.GetString(new string[] { field.TemplateField.GetTitle(Context.Language), field.TemplateField.Name }));
                 writer.Write("<tr><td><a id=\"Nav_" + controlID + "\" href=\"#\" class=\"scEditorHeaderNavigatorField\">" + str2 + "<a></td></tr>");
             }
         }
         writer.Write("</table>");
         SheerResponse.ShowPopup("ContentEditorNavigator", "below", writer.InnerWriter.ToString());
     }
 }