1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
6 * Moonlight List (moonlight-list@lists.ximian.com)
8 * Copyright 2008 Novell, Inc. (http://www.novell.com)
10 * See the LICENSE file included with the distribution for details.
17 #include "namescope.h"
19 FrameworkTemplate::FrameworkTemplate ()
21 SetObjectType (Type::FRAMEWORKTEMPLATE
);
27 FrameworkTemplate::~FrameworkTemplate ()
38 FrameworkTemplate::SetXamlBuffer (XamlContext
*xaml_context
, const char *xaml_buffer
)
40 // printf ("%p setting xaml buffer to %s\n", this, xaml_buffer);
41 this->xaml_buffer
= g_strdup (xaml_buffer
);
42 this->xaml_context
= xaml_context
;
46 FrameworkTemplate::GetVisualTree (FrameworkElement
*templateBindingSource
)
49 XamlLoader
*loader
= new XamlLoader (GetResourceBase(), NULL
, xaml_buffer
, GetSurface(), xaml_context
);
52 loader
->SetExpandingTemplate (true);
53 loader
->SetImportDefaultXmlns (true);
55 xaml_context
->SetTemplateBindingSource (templateBindingSource
);
57 DependencyObject
*result
= loader
->CreateDependencyObjectFromString (xaml_buffer
, true, &dummy
);
67 ControlTemplate::ControlTemplate ()
69 SetObjectType (Type::CONTROLTEMPLATE
);
73 ControlTemplate::Apply (Control
*control
)
75 return (FrameworkElement
*)GetVisualTree (control
);
78 DataTemplate::DataTemplate ()
80 SetObjectType (Type::DATATEMPLATE
);
84 DataTemplate::LoadContentWithError (MoonError
*error
)
86 printf ("%p: LoadContentWithError (buffer = %s)\n", this, xaml_buffer
);
88 return GetVisualTree (NULL
);