* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / class / ByteFX.Data / Common / SqlCommandTextEditor.cs
1 // ByteFX.Data data access components for .Net
2 // Copyright (C) 2002-2003  ByteFX, Inc.
3 //
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License, or (at your option) any later version.
8 // 
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 // Lesser General Public License for more details.
13 // 
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18 #if WINDOWS
19 using System;
20 using System.Windows.Forms;
21 using System.Drawing.Design;
22
23 namespace ByteFX.Data.Common
24 {
25         /// <summary>
26         /// Summary description for MySqlConnectionDesign.
27         /// </summary>
28         internal class SqlCommandTextEditor : UITypeEditor
29         {
30                 public override System.Drawing.Design.UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context)
31                 {
32                         return System.Drawing.Design.UITypeEditorEditStyle.Modal;
33                 }
34
35                 public override bool GetPaintValueSupported(System.ComponentModel.ITypeDescriptorContext context)
36                 {
37                         return false;
38                 }
39
40                 public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, System.IServiceProvider provider, object value)
41                 {
42                         System.Data.IDbCommand command = (System.Data.IDbCommand)context.Instance;
43
44                         if (command.Connection == null) 
45                         {
46                                 MessageBox.Show("Connection property not set to a valid connection.\n"+
47                                         "Please set and try again", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
48                                 return value;
49                         }
50
51                         SqlCommandEditorDlg dlg = new SqlCommandEditorDlg( command );
52
53                         dlg.SQL = (string)value;
54                         if(dlg.ShowDialog() == DialogResult.OK)
55                         {
56                                 return dlg.SQL;
57                         }
58                         else
59                                 return value;
60                 }
61         }
62 }
63 #endif