2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System.Design / System.Web.UI.Design.WebControls / BaseDataListPageInternal.cs
1
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
10 // 
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
13 // 
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 /**
23  * Namespace:   System.Web.UI.Design.WebControls
24  * Class:       BaseDataListPageInternal
25  *
26  * Author:      Gaurav Vaish
27  * Maintainer:  mastergaurav AT users DOT sf DOT net
28  *
29  * (C) Gaurav Vaish (2002)
30  */
31
32 using System;
33 using System.ComponentModel;
34 using System.ComponentModel.Design;
35 using System.Web.UI.Design;
36 using System.Windows.Forms.Design;
37 using System.Web.UI.WebControls;
38
39 namespace System.Web.UI.Design.WebControls
40 {
41         abstract class BaseDataListPageInternal : ComponentEditorPage
42         {
43                 private bool isDataGridMode;
44
45                 public BaseDataListPageInternal()
46                 {
47                 }
48
49                 protected abstract string HelpKeyword { get; }
50
51                 protected bool IsDataGridMode
52                 {
53                         get
54                         {
55                                 return isDataGridMode;
56                         }
57                 }
58
59                 public override void ShowHelp()
60                 {
61                         ISite site = GetSelectedComponent().Site;
62                         IHelpService service = (IHelpService)site.GetService(
63                                                                   typeof(IHelpService));
64                         if(service != null)
65                         {
66                                 service.ShowHelpFromKeyword(HelpKeyword);
67                         }
68                 }
69
70                 public override bool SupportsHelp()
71                 {
72                         return true;
73                 }
74
75                 public override void SetComponent(IComponent component)
76                 {
77                         base.SetComponent(component);
78                         isDataGridMode = (GetBaseControl() is DataGrid);
79                 }
80
81                 protected BaseDataList GetBaseControl()
82                 {
83                         return (BaseDataList)GetSelectedComponent();
84                 }
85
86                 protected BaseDataListDesigner GetBaseDesigner()
87                 {
88                         BaseDataListDesigner retVal = null;
89                         ISite site = GetSelectedComponent().Site;
90                         IDesignerHost designer = (IDesignerHost)site.GetService(
91                                                               typeof(IDesignerHost));
92                         if(designer != null)
93                         {
94                                 retVal = (BaseDataListDesigner)designer.GetDesigner(
95                                                                 GetSelectedComponent());
96                         }
97                         return retVal;
98                 }
99         }
100 }