2009-11-13 Jeffrey Stedfast <fejj@novell.com>
[moon.git] / src / usercontrol.h
blob35b62146eb77ca2b4f12bab9ce6e7251b0db82da
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3 * usercontrol.h:
5 * Copyright 2007 Novell, Inc. (http://www.novell.com)
7 * See the LICENSE file included with the distribution for details.
8 *
9 */
11 #ifndef __MOON_USERCONTROL_H__
12 #define __MOON_USERCONTROL_H__
14 #include <glib.h>
16 #include "control.h"
19 // UserControl
21 /* @ContentProperty="Content" */
22 /* @Namespace=System.Windows.Controls */
23 class UserControl : public Control {
24 protected:
25 virtual ~UserControl ();
27 public:
28 /* @PropertyType=UIElement,ManagedAccess=ProtectedInternal */
29 const static int ContentProperty;
31 /* @GenerateCBinding,GeneratePInvoke */
32 UserControl ();
34 virtual bool IsLayoutContainer () { return true; }
35 virtual void OnPropertyChanged (PropertyChangedEventArgs *args, MoonError *error);
37 virtual Size MeasureOverride (Size availableSize);
38 virtual Size ArrangeOverride (Size finalSize);
41 G_BEGIN_DECLS
43 UIElement *user_control_get_content (UserControl *user_control);
45 G_END_DECLS
47 #endif /* __MOON_USERCONTROL_H__ */