2004-05-25 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / mcs / nunit20 / util / OptionSettings.cs
1 #region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
2 /************************************************************************************
3 '
4 ' Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
5 ' Copyright  2000-2002 Philip A. Craig
6 '
7 ' This software is provided 'as-is', without any express or implied warranty. In no 
8 ' event will the authors be held liable for any damages arising from the use of this 
9 ' software.
10
11 ' Permission is granted to anyone to use this software for any purpose, including 
12 ' commercial applications, and to alter it and redistribute it freely, subject to the 
13 ' following restrictions:
14 '
15 ' 1. The origin of this software must not be misrepresented; you must not claim that 
16 ' you wrote the original software. If you use this software in a product, an 
17 ' acknowledgment (see the following) in the product documentation is required.
18 '
19 ' Portions Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
20 ' or Copyright  2000-2002 Philip A. Craig
21 '
22 ' 2. Altered source versions must be plainly marked as such, and must not be 
23 ' misrepresented as being the original software.
24 '
25 ' 3. This notice may not be removed or altered from any source distribution.
26 '
27 '***********************************************************************************/
28 #endregion
29
30 using System;
31
32 namespace NUnit.Util
33 {
34         /// <summary>
35         /// Summary description for OptionSettings.
36         /// </summary>
37         public class OptionSettings : SettingsGroup
38         {
39                 private static readonly string NAME = "Options";
40
41                 public OptionSettings( ) : base( NAME, UserSettings.GetStorageImpl( NAME ) ) { }
42
43                 public OptionSettings( SettingsStorage storage ) : base( NAME, storage ) { }
44
45                 public OptionSettings( SettingsGroup parent ) : base( NAME, parent ) { }
46
47                 public bool LoadLastProject
48                 {
49                         get { return LoadIntSetting( "LoadLastProject", 1 ) != 0; }
50                         set { SaveIntSetting( "LoadLastProject", value ? 1 : 0 ); }
51                 }
52
53                 public int InitialTreeDisplay
54                 {
55                         get { return LoadIntSetting( "InitialTreeDisplay", 0 ); }
56                         set { SaveIntSetting( "InitialTreeDisplay", value ); }
57                 }
58
59                 public bool ReloadOnRun
60                 {
61                         get { return LoadIntSetting( "ReloadOnRun", 1 ) != 0; }
62                         set { SaveIntSetting( "ReloadOnRun", value ? 1 : 0 ); }
63                 }
64
65                 public bool ShowCheckBoxes
66                 {
67                         get { return LoadIntSetting( "ShowCheckBoxes", 0 ) != 0; }
68                         set { SaveIntSetting( "ShowCheckBoxes", value ? 1 : 0 ); }
69                 }
70
71                 public bool ReloadOnChange
72                 {
73                         get
74                         {
75                                 if ( Environment.OSVersion.Platform != System.PlatformID.Win32NT )
76                                         return false;
77
78                                 return LoadIntSetting( "ReloadOnChange", 1 ) != 0; 
79                         }
80
81                         set 
82                         {
83                                 if ( Environment.OSVersion.Platform != System.PlatformID.Win32NT )
84                                         return;
85
86                                 SaveIntSetting( "ReloadOnChange", value ? 1 : 0 ); 
87                         }
88                 }
89
90                 public bool ClearResults
91                 {
92                         get { return LoadIntSetting( "ClearResults", 1 ) != 0; }
93                         set { SaveIntSetting( "ClearResults", value ? 1 : 0 ); }
94                 }
95
96                 public bool TestLabels
97                 {
98                         get { return LoadIntSetting( "TestLabels", 0 ) != 0; }
99                         set { SaveIntSetting( "TestLabels", value ? 1 : 0 ); }
100                 }
101
102                 public bool VisualStudioSupport
103                 {
104                         get { return LoadIntSetting( "VisualStudioSupport", 0 ) != 0; }
105                         set { SaveIntSetting( "VisualStudioSupport", value ? 1 : 0 ); }
106                 }
107         }
108 }