2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System.Design / System.ComponentModel.Design / ObjectSelectorEditor.cs
1 //
2 // System.ComponentModel.Design.ObjectSelectorEditor
3 //
4 // Authors:
5 //      Gert Driesen (drieseng@users.sourceforge.net)
6 //
7 // (C) 2004 Novell
8 //
9
10 //
11 // Permission is hereby granted, free of charge, to any person obtaining
12 // a copy of this software and associated documentation files (the
13 // "Software"), to deal in the Software without restriction, including
14 // without limitation the rights to use, copy, modify, merge, publish,
15 // distribute, sublicense, and/or sell copies of the Software, and to
16 // permit persons to whom the Software is furnished to do so, subject to
17 // the following conditions:
18 // 
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
21 // 
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30
31 using System.Drawing.Design;
32 using System.Windows.Forms;
33 using System.Windows.Forms.Design;
34
35 namespace System.ComponentModel.Design
36 {
37         public abstract class ObjectSelectorEditor : UITypeEditor
38         {
39                 public ObjectSelectorEditor ()
40                 {
41                 }
42
43                 public ObjectSelectorEditor (bool subObjectSelector)
44                 {
45                         SubObjectSelector = subObjectSelector;
46                 }
47
48                 [MonoTODO]
49                 public override object EditValue (ITypeDescriptorContext context, IServiceProvider provider, object value)
50                 {
51                         throw new NotImplementedException ();
52                 }
53
54                 public bool EqualsToValue (object value)
55                 {
56                         return (currValue == value);
57                 }
58
59                 [MonoTODO]
60                 protected virtual void FillTreeWithData (Selector selector, ITypeDescriptorContext context, IServiceProvider provider)
61                 {
62                         throw new NotImplementedException ();
63                 }
64
65                 public override UITypeEditorEditStyle GetEditStyle (ITypeDescriptorContext context)
66                 {
67                         return UITypeEditorEditStyle.DropDown;
68                 }
69
70                 public virtual void SetValue (object value)
71                 {
72                         currValue = value;
73                 }
74
75                 protected object currValue;
76                 protected object prevValue;
77                 public bool SubObjectSelector;
78
79                 public class Selector : TreeView
80                 {
81                         [MonoTODO]
82                         public Selector (ObjectSelectorEditor editor)
83                         {
84                                 throw new NotImplementedException ();
85                         }
86
87                         [MonoTODO]
88                         public SelectorNode AddNode (string label, object value, SelectorNode parent)
89                         {
90                                 throw new NotImplementedException ();
91                         }
92
93                         [MonoTODO]
94                         public void Clear ()
95                         {
96                                 throw new NotImplementedException ();
97                         }
98
99                         [MonoTODO]
100                         protected void OnAfterSelect (object sender, TreeViewEventArgs e)
101                         {
102                                 throw new NotImplementedException ();
103                         }
104
105                         [MonoTODO]
106                         protected override void OnKeyDown (KeyEventArgs e)
107                         {
108                                 throw new NotImplementedException ();
109                         }
110
111                         [MonoTODO]
112                         protected override void OnKeyPress (KeyPressEventArgs e)
113                         {
114                                 throw new NotImplementedException ();
115                         }
116
117                         [MonoTODO]
118                         public bool SetSelection (object value, TreeNodeCollection nodes)
119                         {
120                                 throw new NotImplementedException ();
121                         }
122
123                         [MonoTODO]
124                         public void Start (IWindowsFormsEditorService edSvc, object value)
125                         {
126                                 throw new NotImplementedException ();
127                         }
128
129                         [MonoTODO]
130                         public void Stop ()
131                         {
132                                 throw new NotImplementedException ();
133                         }
134
135                         [MonoTODO]
136                         protected override void WndProc (ref Message m)
137                         {
138                                 throw new NotImplementedException ();
139                         }
140
141                         [MonoTODO]
142                         public bool clickSeen;
143                 }
144
145                 public class SelectorNode : TreeNode
146                 {
147                         public SelectorNode (string label, object value) : base (label)
148                         {
149                                 this.value = value;
150                         }
151
152                         public object value;
153                 }
154
155         }
156 }