* XplatUIX11.cs: Removed unused hwnd var in SetBorderStyle.
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / SelectionRange.cs
1 //
2 // Permission is hereby granted, free of charge, to any person obtaining
3 // a copy of this software and associated documentation files (the
4 // "Software"), to deal in the Software without restriction, including
5 // without limitation the rights to use, copy, modify, merge, publish,
6 // distribute, sublicense, and/or sell copies of the Software, and to
7 // permit persons to whom the Software is furnished to do so, subject to
8 // the following conditions:
9 // 
10 // The above copyright notice and this permission notice shall be
11 // included in all copies or substantial portions of the Software.
12 // 
13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
14 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
15 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
17 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
18 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
19 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 //
21 // Copyright (c) 2004-2005 Novell, Inc.
22 //
23 // Authors:
24 //      John BouAntoun  jba-mono@optusnet.com.au
25 //
26
27 using System.ComponentModel;
28
29 namespace System.Windows.Forms {
30         [TypeConverter(typeof(SelectionRangeConverter))]
31         public sealed class SelectionRange {
32                 #region local members 
33         
34                 DateTime end;
35                 DateTime start; 
36
37                 #endregion // local members 
38
39                 #region public constructors
40
41                 // default parameterless construcor, use default values
42                 public SelectionRange () {
43                 }       
44         
45                 // constructor that receives another range, copies it's Start and End values
46                 public SelectionRange (SelectionRange selectionRange) {
47                         end = selectionRange.End;
48                         start = selectionRange.Start;
49                 }
50
51                 // constructor that receives two dates, uses the lower of the two as start
52                 public SelectionRange (DateTime lower, DateTime upper) {
53                         if (lower <= upper) {
54                                 end = upper;
55                                 start = lower;
56                         } else {
57                                 end = lower;
58                                 start = upper;
59                         }
60                 }
61
62                 #endregion // public constructors
63
64                 #region public properties
65
66                 // end date of this range
67                 public DateTime End {
68                         set {
69                                 if (end != value) {
70                                         end = value;
71                                 }
72                         }
73                         get {
74                                 return end;
75                         }
76                 }
77
78                 // start date of this range
79                 public DateTime Start {
80                         set {
81                                 if (start != value) {
82                                         start = value;
83                                 }
84                         }
85                         get {
86                                 return start;
87                         }
88                 }
89                         
90                 #endregion // public properties
91
92                 #region public methods
93
94                 public override string ToString() {
95                         return "SelectionRange: Start: " + Start.ToString() + ", End: " + End.ToString();
96                 }
97
98                 #endregion // public methods
99         }
100 }