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()); } } }
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); } } }
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(); } } } }