public override bool UpdateSettings(IPropertySettings settings)
        {
            var tinyMceSettings = (TinyMCESettings) settings;

            string preUpdate = SerializeValues(tinyMceSettings);
            
            tinyMceSettings.ToolbarRows = new List<ToolbarRow>();
            IEnumerable<string[]> toolbarRowSpecifications = GetToolBarRows();
            foreach (var rowSpecification in toolbarRowSpecifications)
            {
                var row = new ToolbarRow();
                foreach (var buttonName in rowSpecification)
                {
                    row.Buttons.Add(buttonName);
                }
                tinyMceSettings.ToolbarRows.Add(row);
            }

            if (Width == IntegerNotSetValue)
                tinyMceSettings.Width = ((TinyMCESettings)tinyMceSettings.GetDefaultValues()).Width;
            else
                tinyMceSettings.Width = Width;

            if (Height == IntegerNotSetValue)
                tinyMceSettings.Height = ((TinyMCESettings)tinyMceSettings.GetDefaultValues()).Height;
            else
                tinyMceSettings.Height = Height;

            string afterUpdate = SerializeValues(tinyMceSettings);
            
            return !afterUpdate.Equals(preUpdate);
        }
예제 #2
0
 public void InsertPanel(ToolbarRow row, ToolbarPanel panel, int index)
 {
     panel.Parent = row;
     panel.Index  = index;
     for (int i = index; i < row.Panels.Count; ++i)
     {
         row.Panels[i].Index += 1;
     }
     row.Panels.Insert(index, panel);
 }
예제 #3
0
 public void InsertRow(ToolbarRow row, int index)
 {
     row.Parent = this;
     row.Index  = index;
     for (int i = index; i < Rows.Count; ++i)
     {
         Rows[i].Index += 1;
     }
     Rows.Insert(index, row);
 }
예제 #4
0
        public void UpdateSettings(TinyMCESettings settings)
        {
            settings.ToolbarRows.Clear();
            var buttons = new List <string> {
                "bold", "italic", "separator", "epilink", "unlink", "separator", "removeformat", "code"
            };
            var toolbarRow = new ToolbarRow(buttons);

            settings.ToolbarRows.Add(toolbarRow);
            settings.Height = 300;
            settings.Width  = 541;
        }
        public override bool UpdateSettings(IPropertySettings settings)
        {
            var tinyMceSettings = (TinyMCESettings)settings;

            string preUpdate = SerializeValues(tinyMceSettings);

            tinyMceSettings.ToolbarRows = new List <ToolbarRow>();
            IEnumerable <string[]> toolbarRowSpecifications = GetToolBarRows();

            foreach (var rowSpecification in toolbarRowSpecifications)
            {
                var row = new ToolbarRow();
                foreach (var buttonName in rowSpecification)
                {
                    row.Buttons.Add(buttonName);
                }
                tinyMceSettings.ToolbarRows.Add(row);
            }

            if (Width == IntegerNotSetValue)
            {
                tinyMceSettings.Width = ((TinyMCESettings)tinyMceSettings.GetDefaultValues()).Width;
            }
            else
            {
                tinyMceSettings.Width = Width;
            }

            if (Height == IntegerNotSetValue)
            {
                tinyMceSettings.Height = ((TinyMCESettings)tinyMceSettings.GetDefaultValues()).Height;
            }
            else
            {
                tinyMceSettings.Height = Height;
            }

            if (NonVisualPlugins == null)
            {
                tinyMceSettings.NonVisualPlugins =
                    ((TinyMCESettings)tinyMceSettings.GetDefaultValues()).NonVisualPlugins;
            }
            else
            {
                tinyMceSettings.NonVisualPlugins = NonVisualPlugins;
            }

            string afterUpdate = SerializeValues(tinyMceSettings);

            return(!afterUpdate.Equals(preUpdate));
        }
예제 #6
0
 public void RemoveRow(ToolbarRow row)
 {
     if (row.Index > 0)
     {
         var newRow = Rows[row.Index - 1];
         foreach (var panel in row.Panels)
         {
             InsertPanel(newRow, panel, newRow.Panels.Count);
         }
     }
     Rows.RemoveAt(row.Index);
     for (int i = row.Index; i < Rows.Count; ++i)
     {
         Rows[i].Index -= 1;
     }
 }
예제 #7
0
        public override TinyMCESettings GetPropertySettings()
        {
            var settings = new TinyMCESettings();

            var mainToolbar = new ToolbarRow(new List <string>()
            {
                "bold"
            });

            settings.ToolbarRows.Add(mainToolbar);

            settings.Height = 20;
            settings.Width  = 200;

            return(settings);
        }
예제 #8
0
        public override TinyMCESettings GetPropertySettings()
        {
            var settings     = new TinyMCESettings();
            var firstToolbar = new ToolbarRow(new List <string>()
            {
                TinyMCEButtons.EPiServerLink,
                TinyMCEButtons.Unlink,
                TinyMCEButtons.Separator,
                TinyMCEButtons.Image,
                TinyMCEButtons.EPiServerImageEditor,
                TinyMCEButtons.Media,
                TinyMCEButtons.EPiServerPersonalizedContent,
                TinyMCEButtons.Separator,
                TinyMCEButtons.Cut,
                TinyMCEButtons.Copy,
                TinyMCEButtons.Paste,
                TinyMCEButtons.PasteText,
                TinyMCEButtons.PasteWord,
                TinyMCEButtons.Separator,
                //TinyMCEButtons.TableButtons.Controls,
            });
            var secondToolbar = new ToolbarRow(new List <string>()
            {
                TinyMCEButtons.Bold,
                TinyMCEButtons.Italic,
                TinyMCEButtons.Separator,
                TinyMCEButtons.NumericList,
                TinyMCEButtons.BulletedList,
                TinyMCEButtons.Separator,
                TinyMCEButtons.StyleSelect,
                TinyMCEButtons.Undo,
                TinyMCEButtons.Redo,
                TinyMCEButtons.Separator,
                TinyMCEButtons.Search,
                TinyMCEButtons.Separator,
                TinyMCEButtons.Code,
                TinyMCEButtons.Fullscreen
            });

            settings.ToolbarRows.Add(firstToolbar);
            settings.ToolbarRows.Add(secondToolbar);
            return(settings);
        }
예제 #9
0
        public override TinyMCESettings GetPropertySettings()
        {
            var settings = new TinyMCESettings();

            var mainToolbar = new ToolbarRow(new List <string>()
            {
                "bold"
            });

            if (PrincipalInfo.CurrentPrincipal.IsInRole("administrators"))
            {
                //Chance to personalize.
                mainToolbar.Buttons.Add("italic");
            }

            settings.ToolbarRows.Add(mainToolbar);

            settings.Height = 20;
            settings.Width  = 200;

            return(settings);
        }
예제 #10
0
        public override TinyMCESettings GetPropertySettings()
        {
            var settings = new TinyMCESettings();

            var firstToolbar = new ToolbarRow(new List <string>
            {
                TinyMCEButtons.BulletedList,
                TinyMCEButtons.NumericList,
                TinyMCEButtons.StyleSelect,
                TinyMCEButtons.CleanUp,
                TinyMCEButtons.RemoveFormat,
                TinyMCEButtons.Separator,
                TinyMCEButtons.Cut,
                TinyMCEButtons.Copy,
                TinyMCEButtons.Paste,
                TinyMCEButtons.PasteWord
            });

            settings.ToolbarRows.Add(firstToolbar);

            if (PrincipalInfo.CurrentPrincipal.IsInRole("WebAdmins"))
            {
                var secondToolbar = new ToolbarRow(new List <string>
                {
                    TinyMCEButtons.Code
                });

                settings.ToolbarRows.Add(secondToolbar);
            }

            settings.Height = 300;
            settings.Width  = 600;

            settings.NonVisualPlugins.Add("paste_auto_cleanup_on_paste");

            return(settings);
        }