From e26a58ea0ea1f273d62dbb1ef367d64e64593255 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Sat, 27 Dec 2014 02:28:17 -0500 Subject: [PATCH] Implemented font size/paragraph commands for RTF --- .../Text/Formatted/RichText/RTFDataFormat.cs | 21 ++++++++++++++ .../Items/FormattedTextItemFontSize.cs | 29 +++++++++++++++++++ .../Items/FormattedTextItemParagraph.cs | 20 +++++++++++++ .../UniversalEditor.Essential.csproj | 2 ++ 4 files changed, 72 insertions(+) create mode 100644 CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Text/Formatted/Items/FormattedTextItemFontSize.cs create mode 100644 CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Text/Formatted/Items/FormattedTextItemParagraph.cs diff --git a/CSharp/Plugins/UniversalEditor.Essential/DataFormats/Text/Formatted/RichText/RTFDataFormat.cs b/CSharp/Plugins/UniversalEditor.Essential/DataFormats/Text/Formatted/RichText/RTFDataFormat.cs index 9fb8d270..d9cd89d4 100644 --- a/CSharp/Plugins/UniversalEditor.Essential/DataFormats/Text/Formatted/RichText/RTFDataFormat.cs +++ b/CSharp/Plugins/UniversalEditor.Essential/DataFormats/Text/Formatted/RichText/RTFDataFormat.cs @@ -150,6 +150,27 @@ namespace UniversalEditor.DataFormats.Text.Formatted.RichText { parent.Items.Add(new RichTextMarkupItemLiteral((item as FormattedTextItemLiteral).Text)); } + else if (item is FormattedTextItemParagraph) + { + RichTextMarkupItemGroup group = new RichTextMarkupItemGroup(new RichTextMarkupItemTag("pard")); + FormattedTextItemParagraph itm = (item as FormattedTextItemParagraph); + foreach (FormattedTextItem item1 in itm.Items) + { + RenderItem(group, item1); + } + group.Items.Add(new RichTextMarkupItemTag("par")); + parent.Items.Add(group); + } + else if (item is FormattedTextItemFontSize) + { + FormattedTextItemFontSize itm = (item as FormattedTextItemFontSize); + RichTextMarkupItemGroup group = new RichTextMarkupItemGroup(new RichTextMarkupItemTag("fs" + (itm.Value * 2).ToString())); + foreach (FormattedTextItem item1 in itm.Items) + { + RenderItem(group, item1); + } + parent.Items.Add(group); + } } } } diff --git a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Text/Formatted/Items/FormattedTextItemFontSize.cs b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Text/Formatted/Items/FormattedTextItemFontSize.cs new file mode 100644 index 00000000..66d17556 --- /dev/null +++ b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Text/Formatted/Items/FormattedTextItemFontSize.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace UniversalEditor.ObjectModels.Text.Formatted.Items +{ + public class FormattedTextItemFontSize : FormattedTextItemContainer + { + private int mvarValue = 0; + public int Value { get { return mvarValue; } set { mvarValue = value; } } + + public FormattedTextItemFontSize(int value = 0, params FormattedTextItem[] items) + { + mvarValue = value; + foreach (FormattedTextItem item in items) + { + base.Items.Add(item); + } + } + + public override object Clone() + { + FormattedTextItemFontSize clone = new FormattedTextItemFontSize(); + clone.Value = mvarValue; + return clone; + } + } +} diff --git a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Text/Formatted/Items/FormattedTextItemParagraph.cs b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Text/Formatted/Items/FormattedTextItemParagraph.cs new file mode 100644 index 00000000..9b1704ac --- /dev/null +++ b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Text/Formatted/Items/FormattedTextItemParagraph.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace UniversalEditor.ObjectModels.Text.Formatted.Items +{ + public class FormattedTextItemParagraph : FormattedTextItemContainer + { + public override object Clone() + { + FormattedTextItemParagraph clone = new FormattedTextItemParagraph(); + foreach (FormattedTextItem item in Items) + { + clone.Items.Add(item.Clone() as FormattedTextItem); + } + return clone; + } + } +} diff --git a/CSharp/Plugins/UniversalEditor.Essential/UniversalEditor.Essential.csproj b/CSharp/Plugins/UniversalEditor.Essential/UniversalEditor.Essential.csproj index d6d99e70..19cc20c2 100644 --- a/CSharp/Plugins/UniversalEditor.Essential/UniversalEditor.Essential.csproj +++ b/CSharp/Plugins/UniversalEditor.Essential/UniversalEditor.Essential.csproj @@ -118,8 +118,10 @@ + +