1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
5 * Copyright 2008 Novell, Inc. (http://www.novell.com)
7 * See the LICENSE file included with the distribution for details.
11 #ifndef __MOON_TEMPLATE_H__
12 #define __MOON_TEMPLATE_H__
17 #include "dependencyobject.h"
25 /* @Namespace=System.Windows */
26 class FrameworkTemplate
: public DependencyObject
{
28 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Protected */
31 /* @GenerateCBinding,GeneratePInvoke */
32 virtual DependencyObject
*GetVisualTree (FrameworkElement
*templateBindingSource
= NULL
);
34 void SetXamlBuffer (XamlContext
*context
, const char *buffer
);
37 virtual ~FrameworkTemplate ();
40 XamlContext
*xaml_context
;
46 /* @Namespace=System.Windows.Controls */
47 class ControlTemplate
: public FrameworkTemplate
{
49 /* @PropertyType=ManagedTypeInfo,ManagedPropertyType=System.Type,Access=Internal,ManagedAccessorAccess=Public,ManagedFieldAccess=Private */
50 const static int TargetTypeProperty
;
52 /* @GenerateCBinding,GeneratePInvoke */
56 virtual ~ControlTemplate () {}
62 /* @Namespace=System.Windows */
63 class DataTemplate
: public FrameworkTemplate
{
65 /* @GenerateCBinding,GeneratePInvoke */
68 virtual DependencyObject
*GetVisualTree (FrameworkElement
*templateBindingSource
);
70 virtual ~DataTemplate () {}
73 #endif /* __MOON_TEMPLATE_H__ */