3
using System.ComponentModel;
8
public class Expander: Widget
10
EventHandler expandChanged;
13
protected new class WidgetBackendHost: Widget.WidgetBackendHost, IExpandEventSink
15
public void ExpandChanged ()
17
((Expander)Parent).OnExpandChanged (EventArgs.Empty);
21
protected override BackendHost CreateBackendHost ()
23
return new WidgetBackendHost ();
26
IExpanderBackend Backend {
27
get { return (IExpanderBackend)BackendHost.Backend; }
39
Backend.Label = value;
43
public bool Expanded {
45
return Backend.Expanded;
48
Backend.Expanded = value;
52
public new Widget Content {
56
UnregisterChild (child);
59
RegisterChild (child);
60
Backend.SetContent ((IWidgetBackend)GetBackend (child));
61
OnPreferredSizeChanged ();
65
protected void OnExpandChanged (EventArgs args)
67
if (expandChanged != null)
68
expandChanged (this, args);
71
public event EventHandler ExpandChanged {
73
BackendHost.OnBeforeEventAdd (ExpandEvent.ExpandChanged, expandChanged);
74
expandChanged += value;
77
expandChanged -= value;
78
BackendHost.OnAfterEventRemove (ExpandEvent.ExpandChanged, expandChanged);