* RichTextBox.cs: Handle some special chars better, and don't
authorJackson Harper <jackson@novell.com>
Fri, 20 Oct 2006 07:57:44 +0000 (07:57 -0000)
committerJackson Harper <jackson@novell.com>
Fri, 20 Oct 2006 07:57:44 +0000 (07:57 -0000)
        * skip
        the entire group when we encounter a special char that we don't
        handle correctly.

svn path=/trunk/mcs/; revision=66827

mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/System.Windows.Forms/RichTextBox.cs

index 44aecdc41bb4ecd7f3d88320ff2779aa4f044ea7..62f062b98cbe615c954ab47ce6622d0c249066ae 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-20  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: Handle some special chars better, and don't skip
+       the entire group when we encounter a special char that we don't
+       handle correctly.
+
 2006-10-18  Chris Toshok  <toshok@ximian.com>
 
        * XplatUIX11.cs (SystrayAdd): a rather convoluted change, but the
index 5d20bfd5fc76c6edb5b409e7e3574acd7bfdcbd2..22e9d7da1085cb7e427980866e4521115019bec4 100644 (file)
@@ -1164,6 +1164,7 @@ namespace System.Windows.Forms {
 
                #region Private Methods
                private void HandleControl(RTF.RTF rtf) {
+//                     Console.WriteLine ("HANDLING MAJOR:  {0}      MINOR:  {1}", rtf.Major, rtf.Minor);
                        switch(rtf.Major) {
                                case RTF.Major.Unicode: {
                                        switch(rtf.Minor) {
@@ -1182,7 +1183,7 @@ namespace System.Windows.Forms {
                                }
 
                                case RTF.Major.Destination: {
-                                       Console.Write("[Got Destination control {0}]", rtf.Minor);
+//                                     Console.Write("[Got Destination control {0}]", rtf.Minor);
                                        rtf.SkipGroup();
                                        break;
                                }
@@ -1306,30 +1307,36 @@ namespace System.Windows.Forms {
                                }
 
                                case Minor.Tab: {
-                                       Console.Write("\t");
+                                       rtf_line.Append ("\t");
+//                                     FlushText (rtf, false);
                                        break;
                                }
 
+                               case Minor.NoReqHyphen:
                                case Minor.NoBrkHyphen: {
-                                       Console.Write("-");
+                                       rtf_line.Append ("-");
+//                                     FlushText (rtf, false);
                                        break;
                                }
 
                                case Minor.Bullet: {
-                                       Console.Write("*");
+                                       Console.WriteLine("*");
                                        break;
                                }
 
+                       case Minor.WidowCtrl:
+                               break;
+
                                case Minor.EmDash: {
-                                       Console.Write("\u2014");
+                               rtf_line.Append ("\u2014");
                                        break;
                                }
 
                                case Minor.EnDash: {
-                                       Console.Write("\u2013");
+                                       rtf_line.Append ("\u2013");
                                        break;
                                }
-
+/*
                                case Minor.LQuote: {
                                        Console.Write("\u2018");
                                        break;
@@ -1349,9 +1356,10 @@ namespace System.Windows.Forms {
                                        Console.Write("\u201D");
                                        break;
                                }
-
+*/
                                default: {
-                                       rtf.SkipGroup();
+//                                     Console.WriteLine ("skipped special char:   {0}", rtf.Minor);
+//                                     rtf.SkipGroup();
                                        break;
                                }
                        }