Example #1
0
 public static void InitializeEventBindingProvider(object designerContext, PythonFileNode codeNode)
 {
     if (_designerContextType != null)
     {
         InitializeEventBindingProviderNoInline(designerContext, codeNode);
     }
 }
Example #2
0
        public override int QueryService(ref Guid guidService, out object result)
        {
            var model           = ProjectMgr.GetService(typeof(SComponentModel)) as IComponentModel;
            var designerSupport = model?.GetService <IXamlDesignerSupport>();

            if (designerSupport != null &&
                guidService == designerSupport.DesignerContextTypeGuid &&
                Path.GetExtension(Url).Equals(".xaml", StringComparison.OrdinalIgnoreCase))
            {
                // Create a DesignerContext for the XAML designer for this file
                if (_designerContext == null)
                {
                    _designerContext = designerSupport.CreateDesignerContext();
                    var child = (
                        // look for spam.py
                        ProjectMgr.FindNodeByFullPath(Path.ChangeExtension(Url, PythonConstants.FileExtension)) ??
                        // then look for spam.pyw
                        ProjectMgr.FindNodeByFullPath(Path.ChangeExtension(Url, PythonConstants.WindowsFileExtension))
                        ) as CommonFileNode;

                    if (child != null)
                    {
                        PythonFileNode pythonNode = child as PythonFileNode;
                        if (pythonNode != null)
                        {
                            designerSupport.InitializeEventBindingProvider(
                                _designerContext,
                                new XamlCallback(pythonNode)
                                );
                        }
                    }
                }
                result = _designerContext;
                return(VSConstants.S_OK);
            }

            return(base.QueryService(ref guidService, out result));
        }
Example #3
0
 private static void InitializeEventBindingProviderNoInline(object designerContext, PythonFileNode codeNode)
 {
     Debug.Assert(designerContext is DesignerContext);
     ((DesignerContext)designerContext).EventBindingProvider = new WpfEventBindingProvider(codeNode as PythonFileNode);
 }
Example #4
0
 public XamlCallback(PythonFileNode node) {
     _node = node;
 }
Example #5
0
 public XamlCallback(PythonFileNode node)
 {
     _node = node;
 }
Example #6
0
 private static void InitializeEventBindingProviderNoInline(object designerContext, PythonFileNode codeNode) {
     Debug.Assert(designerContext is DesignerContext);
     ((DesignerContext)designerContext).EventBindingProvider = new WpfEventBindingProvider(codeNode as PythonFileNode);
 }
Example #7
0
 public static void InitializeEventBindingProvider(object designerContext, PythonFileNode codeNode) {
     if (_designerContextType != null) {
         InitializeEventBindingProviderNoInline(designerContext, codeNode);
     }
 }