示例#1
0
        protected override void Initialize()
        {
            base.Initialize();

            //PLEASE NOTE THE FOLLOWING CODE IS ADDED TO MAKE THE SPECIFIC DESIGNER TYPE INTERNAL
            //This is a work around for invoke workflow so that the ActivityHostDesignerType does not become public
            //Please refer to file WorkflowInlining.cs
            Type invokeWorkflowType = Type.GetType(InvokeWorkflowDesigner.InvokeWorkflowRef);

            if (invokeWorkflowType != null)
            {
                TypeDescriptor.AddAttributes(invokeWorkflowType, new DesignerAttribute(typeof(InvokeWorkflowDesigner), typeof(IDesigner)));
            }

            //Add all the services, it is important to make sure that if user pushes the services then we honor
            //those services
            LoaderHost.AddService(typeof(WorkflowDesignerLoader), this);

            ServiceCreatorCallback callback = new ServiceCreatorCallback(OnCreateService);

            if (LoaderHost.GetService(typeof(IWorkflowCompilerOptionsService)) == null)
            {
                LoaderHost.AddService(typeof(IWorkflowCompilerOptionsService), callback);
            }

            if (LoaderHost.GetService(typeof(IIdentifierCreationService)) == null)
            {
                LoaderHost.AddService(typeof(IIdentifierCreationService), callback);
            }

            if (LoaderHost.GetService(typeof(ComponentSerializationService)) == null)
            {
                LoaderHost.AddService(typeof(ComponentSerializationService), callback);
            }

            LoaderHost.RemoveService(typeof(IReferenceService));
            if (LoaderHost.GetService(typeof(IReferenceService)) == null)
            {
                LoaderHost.AddService(typeof(IReferenceService), callback);
            }

            if (LoaderHost.GetService(typeof(IDesignerVerbProviderService)) == null)
            {
                LoaderHost.AddService(typeof(IDesignerVerbProviderService), callback);
            }

            //Add all the extenders, the extenders are responsible to add the extended properties which are not
            //actual properties on activity
            IExtenderProviderService extenderProviderService = GetService(typeof(IExtenderProviderService)) as IExtenderProviderService;

            if (extenderProviderService != null)
            {
                foreach (IExtenderProvider extender in ComponentDispenser.Extenders)
                {
                    extenderProviderService.AddExtenderProvider(extender);
                }
            }

            this.customActivityDesignerAdapter = new CustomActivityDesignerAdapter(LoaderHost);
        }
示例#2
0
 protected override void Initialize( )
 {
     base.Initialize();
     if (this.TypeResolutionService != null && LoaderHost.GetService(typeof(ITypeResolutionService)) == null)
     {
         LoaderHost.AddService(typeof(ITypeResolutionService), this.TypeResolutionService);
     }
 }
示例#3
0
            protected override void Initialize()
            {
                base.Initialize();

                ServiceCreatorCallback callback = new ServiceCreatorCallback(OnCreateService);

                LoaderHost.RemoveService(typeof(IReferenceService));
                LoaderHost.AddService(typeof(IReferenceService), callback);
            }
示例#4
0
        protected override void Initialize()
        {
            base.Initialize();
            base.LoaderHost.AddService(typeof(IDesignerSerializationService), this);
            base.LoaderHost.AddService(typeof(INameCreationService), this);
            base.LoaderHost.AddService(typeof(ComponentSerializationService), new
                                       CodeDomComponentSerializationService(base.LoaderHost));
            if (this.TypeResolutionService != null &&
                LoaderHost.GetService(typeof(ITypeResolutionService)) == null)
            {
                LoaderHost.AddService(typeof(ITypeResolutionService), this.TypeResolutionService);
            }
            IDesignerSerializationManager manager = base.LoaderHost.GetService(typeof(IDesignerSerializationManager)) as IDesignerSerializationManager;

            if (manager != null)
            {
                manager.AddSerializationProvider(CodeDomSerializationProvider.Instance);
            }
        }