internal void SetPad(PropertyPad pad)
        {
            propertyPad = pad;

            if (propertyPad != null)
            {
                if (lastPadProvider != null)
                {
                    object[] provs = GetProvidersForObject(lastComponent, lastPadProvider.GetProvider());
                    if (provs.Length > 0)
                    {
                        propertyPad.PropertyGrid.SetCurrentObject(lastComponent, provs);
                    }
                    else
                    {
                        propertyPad.BlankPad();
                    }

                    propertyPad.PropertyGrid.Changed += OnPropertyGridChanged;
                }
                else if (lastCustomProvider != null)
                {
                    propertyPad.UseCustomWidget(lastCustomProvider.GetCustomPropertyWidget());
                }
            }
        }
Пример #2
0
		internal void SetPad (PropertyPad pad)
		{
			propertyPad = pad;
			
			if (propertyPad != null) {
				if (lastPadProvider != null) {
					object[] provs = GetProvidersForObject (lastComponent, lastPadProvider.GetProvider ());
					if (provs.Length > 0)
						propertyPad.PropertyGrid.SetCurrentObject (lastComponent, provs);
					else
						propertyPad.BlankPad ();
					
					var customizer = lastPadProvider as IPropertyPadCustomizer;
					if (customizer != null)
						customizer.Customize (pad.PadWindow, pad.PropertyGrid);
					propertyPad.PropertyGrid.Changed += OnPropertyGridChanged;		
				}
				else if (lastCustomProvider != null) {
					propertyPad.UseCustomWidget (lastCustomProvider.GetCustomPropertyWidget ());
					var customizer = lastCustomProvider as IPropertyPadCustomizer;
					if (customizer != null)
						customizer.Customize (pad.PadWindow, null);
				}
			}
		}
Пример #3
0
        internal void SetPad(PropertyPad pad)
        {
            propertyPad = pad;

            if (propertyPad != null)
            {
                if (lastPadProvider != null)
                {
                    object[] provs = GetProvidersForObject(lastComponent, lastPadProvider.GetProvider());
                    if (provs.Length > 0)
                    {
                        propertyPad.PropertyGrid.SetCurrentObject(lastComponent, provs);
                    }
                    else
                    {
                        propertyPad.BlankPad();
                    }

                    var customizer = lastPadProvider as IPropertyPadCustomizer;
                    if (customizer != null)
                    {
                        customizer.Customize(pad.PadWindow, pad.PropertyGrid);
                    }
                    propertyPad.PropertyGrid.Changed += OnPropertyGridChanged;
                }
                else if (lastCustomProvider != null)
                {
                    try {
                        var currentCustomWidget = lastCustomProvider.GetCustomPropertyWidget();
                        if (currentCustomWidget != null)
                        {
                            propertyPad.UseCustomWidget(currentCustomWidget);
                            if (lastCustomProvider is IPropertyPadCustomizer customizer)
                            {
                                customizer.Customize(pad.PadWindow, null);
                            }
                        }
                    } catch (Exception ex) {
                        LoggingService.LogInternalError($"There was an error trying to GetCustomPropertyWidget from '{lastCustomProvider.GetType ()}' provider", ex);
                        ReSetPad();
                    }
                }
            }
        }