Пример #1
0
        public ExtendedFunctionalityDescriptor CreateExtendedFunctionalityDescriptor(Type extendedFunctionalityDescriptorType, object owner)
        {
            if (this.extendedFunctionalityDescriptor != null)
            {
                this.extendedFunctionalityDescriptor.Dispose();
                this.extendedFunctionalityDescriptor = null;
            }
            this.forRefreshExtendedFunctionalityDescriptorType  = extendedFunctionalityDescriptorType;
            this.forRefreshExtendedFunctionalityDescriptorOwner = owner;
            if (this.jxPropertyGrid.SelectedObjects.Length != 1)
            {
                throw new Exception("propertyGrid1.SelectedObjects.Length != 1");
            }
            this.SplitView.Panel2.Controls.Clear();
            ConstructorInfo constructor = extendedFunctionalityDescriptorType.GetConstructor(new Type[]
            {
                typeof(Control),
                typeof(object)
            });

            this.extendedFunctionalityDescriptor = (ExtendedFunctionalityDescriptor)constructor.Invoke(new object[]
            {
                this.SplitView.Panel2,
                owner
            });
            this.SplitView.Panel2Collapsed = this.SplitView.Panel2.Controls.Count == 0;

            this.UpdateSplitterPosition();
            return(this.extendedFunctionalityDescriptor);
        }
Пример #2
0
 public void DestroyExtendedFunctionalityDescriptor()
 {
     if (this.extendedFunctionalityDescriptor != null)
     {
         this.extendedFunctionalityDescriptor.Dispose();
         this.extendedFunctionalityDescriptor = null;
     }
     this.UpdateSplitterPosition();
 }
Пример #3
0
        public bool SelectObjects(object[] objects, bool updateExtendedFunctionalityDescriptor)
        {
            if (objects != null && objects.Length == 0)
            {
                objects = null;
            }

            if (objects == null && this.jxPropertyGrid.SelectedObject == null)
            {
                return(false);
            }

            if (objects != null && this.jxPropertyGrid.SelectedObjects != null && objects.Length == this.jxPropertyGrid.SelectedObjects.Length)
            {
                int num = 0;
                while (num < objects.Length && objects[num] == this.jxPropertyGrid.SelectedObjects[num])
                {
                    num++;
                }
                if (num == objects.Length)
                {
                    return(false);
                }
            }

            if (updateExtendedFunctionalityDescriptor && this.extendedFunctionalityDescriptor != null)
            {
                this.extendedFunctionalityDescriptor.Dispose();
                this.extendedFunctionalityDescriptor = null;
            }

            if (objects != null)
            {
                this.jxPropertyGrid.SelectedObjects = objects;
            }
            else
            {
                this.jxPropertyGrid.SelectedObject = null;
            }

            if (updateExtendedFunctionalityDescriptor)
            {
                this.SplitView.Panel2.Controls.Clear();
                this.forRefreshExtendedFunctionalityDescriptorType  = null;
                this.forRefreshExtendedFunctionalityDescriptorOwner = null;
                if (objects != null && objects.Length == 1)
                {
                    object obj = objects[0];
                    ExtendedFunctionalityDescriptorCustomTypeDescriptor extendedFunctionalityDescriptorCustomTypeDescriptor = obj as ExtendedFunctionalityDescriptorCustomTypeDescriptor;
                    if (extendedFunctionalityDescriptorCustomTypeDescriptor != null)
                    {
                        object extendedFunctionalityDescriptorObject = extendedFunctionalityDescriptorCustomTypeDescriptor.GetExtendedFunctionalityDescriptorObject();
                        if (extendedFunctionalityDescriptorObject != null)
                        {
                            Type extendedFunctionalityDescriptorType = extendedFunctionalityDescriptorCustomTypeDescriptor.GetExtendedFunctionalityDescriptorType(extendedFunctionalityDescriptorObject);
                            if (extendedFunctionalityDescriptorType != null)
                            {
                                this.CreateExtendedFunctionalityDescriptor(extendedFunctionalityDescriptorType, extendedFunctionalityDescriptorObject);
                            }
                        }
                    }
                }
                this.UpdateSplitterPosition();
            }
            return(true);
        }