/[RomCheater]/trunk/deps/WeifenLuo.WinFormsUI.Docking/WinFormsUI/Docking/DockContent.cs
ViewVC logotype

Annotation of /trunk/deps/WeifenLuo.WinFormsUI.Docking/WinFormsUI/Docking/DockContent.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 677 - (hide annotations) (download)
Mon Jun 17 06:53:33 2013 UTC (8 years, 4 months ago) by william
File size: 8363 byte(s)
+ modify OnActived/OnDeactived to accept a generic eventargs type

1 william 140 using System;
2     using System.ComponentModel;
3     using System.Drawing;
4     using System.Windows.Forms;
5     using System.Runtime.InteropServices;
6     using System.Diagnostics.CodeAnalysis;
7    
8     namespace WeifenLuo.WinFormsUI.Docking
9     {
10     public class DockContent : Form, IDockContent
11     {
12     public DockContent()
13     {
14     m_dockHandler = new DockContentHandler(this, new GetPersistStringCallback(GetPersistString));
15     m_dockHandler.DockStateChanged += new EventHandler(DockHandler_DockStateChanged);
16     //Suggested as a fix by bensty regarding form resize
17     this.ParentChanged += new EventHandler(DockContent_ParentChanged);
18     }
19    
20     //Suggested as a fix by bensty regarding form resize
21     private void DockContent_ParentChanged(object Sender, EventArgs e)
22     {
23     if (this.Parent != null)
24     this.Font = this.Parent.Font;
25     }
26    
27     private DockContentHandler m_dockHandler = null;
28     [Browsable(false)]
29     public DockContentHandler DockHandler
30     {
31     get { return m_dockHandler; }
32     }
33    
34     [LocalizedCategory("Category_Docking")]
35     [LocalizedDescription("DockContent_AllowEndUserDocking_Description")]
36     [DefaultValue(true)]
37     public bool AllowEndUserDocking
38     {
39     get { return DockHandler.AllowEndUserDocking; }
40     set { DockHandler.AllowEndUserDocking = value; }
41     }
42    
43     [LocalizedCategory("Category_Docking")]
44     [LocalizedDescription("DockContent_DockAreas_Description")]
45     [DefaultValue(DockAreas.DockLeft|DockAreas.DockRight|DockAreas.DockTop|DockAreas.DockBottom|DockAreas.Document|DockAreas.Float)]
46     public DockAreas DockAreas
47     {
48     get { return DockHandler.DockAreas; }
49     set { DockHandler.DockAreas = value; }
50     }
51    
52     [LocalizedCategory("Category_Docking")]
53     [LocalizedDescription("DockContent_AutoHidePortion_Description")]
54     [DefaultValue(0.25)]
55     public double AutoHidePortion
56     {
57     get { return DockHandler.AutoHidePortion; }
58     set { DockHandler.AutoHidePortion = value; }
59     }
60    
61     [Localizable(true)]
62     [LocalizedCategory("Category_Docking")]
63     [LocalizedDescription("DockContent_TabText_Description")]
64     [DefaultValue(null)]
65     private string m_tabText = null;
66     public string TabText
67     {
68     get { return m_tabText; }
69     set { DockHandler.TabText = m_tabText = value; }
70     }
71     private bool ShouldSerializeTabText()
72     {
73     return (m_tabText != null);
74     }
75    
76     [LocalizedCategory("Category_Docking")]
77     [LocalizedDescription("DockContent_CloseButton_Description")]
78     [DefaultValue(true)]
79     public bool CloseButton
80     {
81     get { return DockHandler.CloseButton; }
82     set { DockHandler.CloseButton = value; }
83     }
84    
85     [LocalizedCategory("Category_Docking")]
86     [LocalizedDescription("DockContent_CloseButtonVisible_Description")]
87     [DefaultValue(true)]
88     public bool CloseButtonVisible
89     {
90     get { return DockHandler.CloseButtonVisible; }
91     set { DockHandler.CloseButtonVisible = value; }
92     }
93    
94     [Browsable(false)]
95     public DockPanel DockPanel
96     {
97     get { return DockHandler.DockPanel; }
98     set { DockHandler.DockPanel = value; }
99     }
100    
101     [Browsable(false)]
102     public DockState DockState
103     {
104     get { return DockHandler.DockState; }
105     set { DockHandler.DockState = value; }
106     }
107    
108     [Browsable(false)]
109     public DockPane Pane
110     {
111     get { return DockHandler.Pane; }
112     set { DockHandler.Pane = value; }
113     }
114    
115     [Browsable(false)]
116     public bool IsHidden
117     {
118     get { return DockHandler.IsHidden; }
119     set { DockHandler.IsHidden = value; }
120     }
121    
122     [Browsable(false)]
123     public DockState VisibleState
124     {
125     get { return DockHandler.VisibleState; }
126     set { DockHandler.VisibleState = value; }
127     }
128    
129     [Browsable(false)]
130     public bool IsFloat
131     {
132     get { return DockHandler.IsFloat; }
133     set { DockHandler.IsFloat = value; }
134     }
135    
136     [Browsable(false)]
137     public DockPane PanelPane
138     {
139     get { return DockHandler.PanelPane; }
140     set { DockHandler.PanelPane = value; }
141     }
142    
143     [Browsable(false)]
144     public DockPane FloatPane
145     {
146     get { return DockHandler.FloatPane; }
147     set { DockHandler.FloatPane = value; }
148     }
149    
150     [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
151     protected virtual string GetPersistString()
152     {
153     return GetType().ToString();
154     }
155    
156     [LocalizedCategory("Category_Docking")]
157     [LocalizedDescription("DockContent_HideOnClose_Description")]
158     [DefaultValue(false)]
159     public bool HideOnClose
160     {
161     get { return DockHandler.HideOnClose; }
162     set { DockHandler.HideOnClose = value; }
163     }
164    
165     [LocalizedCategory("Category_Docking")]
166     [LocalizedDescription("DockContent_ShowHint_Description")]
167     [DefaultValue(DockState.Unknown)]
168     public DockState ShowHint
169     {
170     get { return DockHandler.ShowHint; }
171     set { DockHandler.ShowHint = value; }
172     }
173    
174     [Browsable(false)]
175     public bool IsActivated
176     {
177     get { return DockHandler.IsActivated; }
178     }
179    
180     public bool IsDockStateValid(DockState dockState)
181     {
182     return DockHandler.IsDockStateValid(dockState);
183     }
184    
185     [LocalizedCategory("Category_Docking")]
186     [LocalizedDescription("DockContent_TabPageContextMenu_Description")]
187     [DefaultValue(null)]
188     public ContextMenu TabPageContextMenu
189     {
190     get { return DockHandler.TabPageContextMenu; }
191     set { DockHandler.TabPageContextMenu = value; }
192     }
193    
194     [LocalizedCategory("Category_Docking")]
195     [LocalizedDescription("DockContent_TabPageContextMenuStrip_Description")]
196     [DefaultValue(null)]
197     public ContextMenuStrip TabPageContextMenuStrip
198     {
199     get { return DockHandler.TabPageContextMenuStrip; }
200     set { DockHandler.TabPageContextMenuStrip = value; }
201     }
202    
203     [Localizable(true)]
204     [Category("Appearance")]
205     [LocalizedDescription("DockContent_ToolTipText_Description")]
206     [DefaultValue(null)]
207     public string ToolTipText
208     {
209     get { return DockHandler.ToolTipText; }
210     set { DockHandler.ToolTipText = value; }
211     }
212    
213     public new void Activate()
214     {
215     DockHandler.Activate();
216     }
217    
218     public new void Hide()
219     {
220     DockHandler.Hide();
221     }
222    
223     public new void Show()
224     {
225     DockHandler.Show();
226     }
227    
228     public void Show(DockPanel dockPanel)
229     {
230     DockHandler.Show(dockPanel);
231     }
232    
233     public void Show(DockPanel dockPanel, DockState dockState)
234     {
235     DockHandler.Show(dockPanel, dockState);
236     }
237    
238     [SuppressMessage("Microsoft.Naming", "CA1720:AvoidTypeNamesInParameters")]
239     public void Show(DockPanel dockPanel, Rectangle floatWindowBounds)
240     {
241     DockHandler.Show(dockPanel, floatWindowBounds);
242     }
243    
244     public void Show(DockPane pane, IDockContent beforeContent)
245     {
246     DockHandler.Show(pane, beforeContent);
247     }
248    
249     public void Show(DockPane previousPane, DockAlignment alignment, double proportion)
250     {
251     DockHandler.Show(previousPane, alignment, proportion);
252     }
253    
254     [SuppressMessage("Microsoft.Naming", "CA1720:AvoidTypeNamesInParameters")]
255     public void FloatAt(Rectangle floatWindowBounds)
256     {
257     DockHandler.FloatAt(floatWindowBounds);
258     }
259    
260     public void DockTo(DockPane paneTo, DockStyle dockStyle, int contentIndex)
261     {
262     DockHandler.DockTo(paneTo, dockStyle, contentIndex);
263     }
264    
265     public void DockTo(DockPanel panel, DockStyle dockStyle)
266     {
267     DockHandler.DockTo(panel, dockStyle);
268     }
269    
270     #region IDockContent Members
271 william 677 void IDockContent.OnActivated<T>(T e)
272 william 140 {
273     this.OnActivated(e);
274     }
275 william 677 void IDockContent.OnDeactivate<T>(T e)
276 william 140 {
277     this.OnDeactivate(e);
278     }
279     #endregion
280    
281     #region Events
282     private void DockHandler_DockStateChanged(object sender, EventArgs e)
283     {
284     OnDockStateChanged(e);
285     }
286    
287     private static readonly object DockStateChangedEvent = new object();
288     [LocalizedCategory("Category_PropertyChanged")]
289     [LocalizedDescription("Pane_DockStateChanged_Description")]
290     public event EventHandler DockStateChanged
291     {
292     add { Events.AddHandler(DockStateChangedEvent, value); }
293     remove { Events.RemoveHandler(DockStateChangedEvent, value); }
294     }
295     protected virtual void OnDockStateChanged(EventArgs e)
296     {
297     EventHandler handler = (EventHandler)Events[DockStateChangedEvent];
298     if (handler != null)
299     handler(this, e);
300     }
301     #endregion
302     }
303     }

  ViewVC Help
Powered by ViewVC 1.1.22