2007-01-05 Chris Toshok <toshok@ximian.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms.RTF / RTFException.cs
1 // Permission is hereby granted, free of charge, to any person obtaining
2 // a copy of this software and associated documentation files (the
3 // "Software"), to deal in the Software without restriction, including
4 // without limitation the rights to use, copy, modify, merge, publish,
5 // distribute, sublicense, and/or sell copies of the Software, and to
6 // permit persons to whom the Software is furnished to do so, subject to
7 // the following conditions:
8 // 
9 // The above copyright notice and this permission notice shall be
10 // included in all copies or substantial portions of the Software.
11 // 
12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
13 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
14 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
15 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
16 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
17 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
18 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19 //
20 // Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
21 //
22 // Authors:
23 //      Peter Bartok    (pbartok@novell.com)
24 //
25 //
26
27 // COMPLETE
28
29 using System;
30 using System.Text;
31
32 namespace System.Windows.Forms.RTF {
33         internal class RTFException : ApplicationException {
34                 #region Local Variables
35                 private int             pos;
36                 private int             line;
37                 private TokenClass      token_class;
38                 private Major           major;
39                 private Minor           minor;
40                 private int             param;
41                 private string          text;
42                 private string          error_message;
43                 #endregion      // Local Variables
44
45                 #region Constructors
46                 public RTFException(RTF rtf, string error_message) {
47                         this.pos = rtf.LinePos;
48                         this.line = rtf.LineNumber;
49                         this.token_class = rtf.TokenClass;
50                         this.major = rtf.Major;
51                         this.minor = rtf.Minor;
52                         this.param = rtf.Param;
53                         this.text = rtf.Text;
54                         this.error_message = error_message;
55                 }
56                 #endregion      // Constructors
57
58                 #region Properties
59                 public override string Message {
60                         get {
61                                 StringBuilder   sb;
62
63                                 sb = new StringBuilder();
64                                 sb.Append(error_message);
65                                 sb.Append("\n");
66
67                                 sb.Append("RTF Stream Info: Pos:" + pos + " Line:" + line);
68                                 sb.Append("\n");
69
70                                 sb.Append("TokenClass:" + token_class + ", ");
71                                 sb.Append("Major:" + String.Format("{0}", (int)major) + ", ");
72                                 sb.Append("Minor:" + String.Format("{0}", (int)minor) + ", ");
73                                 sb.Append("Param:" + String.Format("{0}", param) + ", ");
74                                 sb.Append("Text:" + text);
75
76                                 return sb.ToString();
77                         }
78                 }
79                 #endregion      // Properties
80         }
81 }