public void SetPadContent(ICustomPropertyPadProvider provider)
        {
            if (provider != null)
            {
                if (lastCustomProvider == provider)
                {
                    return;
                }

                // If there was a pad provider reset it now.
                DisposePropertyPadProvider();
                DisposeCustomPropertyPadProvider();

                lastCustomProvider = provider;

                if (propertyPad != null)
                {
                    propertyPad.UseCustomWidget(provider.GetCustomPropertyWidget());

                    var customizer = provider as IPropertyPadCustomizer;
                    if (customizer != null)
                    {
                        customizer.Customize(propertyPad.PadWindow, null);
                    }
                }
            }
            else
            {
                ReSetPad();
            }
        }
        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());
                }
            }
        }
Ejemplo n.º 3
0
        public void SetPadContent(ICustomPropertyPadProvider provider, Gtk.Widget commandRouteOrigin)
        {
            if (provider != null)
            {
                if (lastCustomProvider == provider)
                {
                    return;
                }

                // If there was a pad provider reset it now.
                DisposePropertyPadProvider();
                DisposeCustomPropertyPadProvider();

                lastCustomProvider = provider;

                if (propertyPad != null)
                {
                    try {
                        var customWidget = provider.GetCustomPropertyWidget();
                        if (customWidget != null)
                        {
                            propertyPad.UseCustomWidget(customWidget);
                            propertyPad.CommandRouteOrigin = commandRouteOrigin;

                            var customizer = provider as IPropertyPadCustomizer;
                            if (customizer != null)
                            {
                                customizer.Customize(propertyPad.PadWindow, null);
                            }
                        }
                        else
                        {
                            propertyPad?.BlankPad();
                            return;
                        }
                    } catch (Exception ex) {
                        LoggingService.LogInternalError($"There was an error trying to GetCustomPropertyWidget from '{lastCustomProvider.GetType ()}' provider", ex);
                        propertyPad?.BlankPad();
                        return;
                    }
                }
            }
            else
            {
                ReSetPad();
            }
        }
Ejemplo n.º 4
0
        internal void SetPad(IPropertyPad pad)
        {
            propertyPad = pad;

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

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

				// If there was a pad provider reset it now.
				DisposePropertyPadProvider ();
				DisposeCustomPropertyPadProvider ();

				lastCustomProvider = provider;
				
				if (propertyPad != null)
					propertyPad.UseCustomWidget (provider.GetCustomPropertyWidget ());
			}
			else {
				ReSetPad ();
			}
		}
Ejemplo n.º 6
0
		public void SetPadContent (ICustomPropertyPadProvider provider, Gtk.Widget commandRouteOrigin)
		{
			if (provider != null) {
				
				if (lastCustomProvider == provider)
					return;

				// If there was a pad provider reset it now.
				DisposePropertyPadProvider ();
				DisposeCustomPropertyPadProvider ();

				lastCustomProvider = provider;
				
				if (propertyPad != null) {
					propertyPad.UseCustomWidget (provider.GetCustomPropertyWidget ());
					propertyPad.CommandRouteOrigin = commandRouteOrigin;
				
					var customizer = provider as IPropertyPadCustomizer;
					if (customizer != null)
						customizer.Customize (propertyPad.PadWindow, null);
				}
			}
			else {
				ReSetPad ();
			}
		}