1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
5 * Copyright 2009 Novell, Inc. (http://www.novell.com)
7 * See the LICENSE file included with the distribution for details.
19 /* @ContentProperty="Child" */
20 /*@Namespace=System.Windows.Controls.Primitives*/
22 class Popup
: public FrameworkElement
{
24 /* @PropertyType=UIElement,GenerateAccessors,Validator=ContentControlContentValidator */
25 const static int ChildProperty
;
26 /* @PropertyType=double,GenerateAccessors,DefaultValue=0.0 */
27 const static int HorizontalOffsetProperty
;
28 /* @PropertyType=bool,GenerateAccessors,DefaultValue=false */
29 const static int IsOpenProperty
;
30 /* @PropertyType=double,GenerateAccessors,DefaultValue=0.0 */
31 const static int VerticalOffsetProperty
;
33 /* @GenerateCBinding,GeneratePInvoke */
35 virtual void Dispose ();
40 void SetChild (UIElement
*element
);
41 UIElement
*GetChild ();
43 void SetHorizontalOffset (double offset
);
44 double GetHorizontalOffset ();
46 void SetIsOpen (bool open
);
49 void SetVerticalOffset (double offset
);
50 double GetVerticalOffset ();
52 virtual void HitTest (cairo_t
*cr
, Point p
, List
*uielement_list
);
53 virtual void OnPropertyChanged (PropertyChangedEventArgs
*args
, MoonError
*error
);
55 const static int OpenedEvent
;
56 const static int ClosedEvent
;
58 EVENTHANDLER (Popup
, ShuttingDown
, Deployment
, EventArgs
);
59 void Hide (UIElement
*child
);
60 void Show (UIElement
*child
);
61 void PropagateIsEnabledState (UIElement
*child
, bool enabled_parent
);
67 #endif /* __POPUP_H__ */