summaryrefslogtreecommitdiff
path: root/src/Option.cs
blob: c9f761247093ecbf9d372c5aa1427137bd9d3826 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// Copyright 2006 Alp Toker <alp@atoker.com>
// This software is made available under the MIT License
// See COPYING for details

using System;

namespace Compiz
{
	public enum OptionType
	{
		Bool,
			Int,
			Float,
			String,
			Color,
			Binding,
			List,
	}

	public enum BindingType
	{
		None,
			Key,
			Button,
	}

	[AttributeUsage (AttributeTargets.Field, Inherited=true)]
	public class Option : Attribute
	{
		public string name;
		public string shortDesc;
		public string longDesc;

		/*
    CompOptionType	  type;

		//default value
    CompOptionValue	  value;

    CompOptionRestriction rest;
		*/

		public Option (string name)
		{
		}
	}

	/*
	[AttributeUsage (AttributeTargets.Field, Inherited=true)]
	public class Restriction : Attribute
	{
	}

	public class IntRestriction : Restriction
	{
		public int Min;
		public int Max;
	}

	public class FloatRestriction : Restriction
	{
		public int Min;
		public int Max;
	}

	public class StringRestriction : Restriction
	{
		public StringRestriction (string regex)
		{
		}
	}
	*/
}