public TypeMemberDisplayProperties GetGlueElementRuntimeProperties()
        {
            TypeMemberDisplayProperties properties = new TypeMemberDisplayProperties();

            properties.Type = typeof(ElementRuntime).FullName;
            AdjustPositionedObjectProperties(properties);

            properties.AddIgnore("LastCollisionTangent");
            properties.AddIgnore("AbsoluteVisible");

            properties.AddIgnore("Layer");
            properties.AddIgnore("ReferencedFileRuntimeList");
            properties.AddIgnore("CustomVariables");
            properties.AddIgnore("AssociatedIElement");
            properties.AddIgnore("AssociatedNamedObjectSave");
            properties.AddIgnore("ContainedElements");
            properties.AddIgnore("ElementsInList");
            properties.AddIgnore("EntireScenes");
            properties.AddIgnore("EntireShapeCollections");
            properties.AddIgnore("EntireEmitterLists");
            properties.AddIgnore("EntireNodeNetworks");
            properties.AddIgnore("DirectObjectReference");
            properties.AddIgnore("FieldName");
            properties.AddIgnore("ContainerName");



            //RemoveRotationValues(properties);
            properties.SetCategory("IgnoresParentVisibility", "Attachment");

            return(properties);
        }
        private static void SetPropertiesForHasParent(bool isAaRect, TypeMemberDisplayProperties tmdp)
        {
            tmdp.AddIgnore("X");
            tmdp.AddIgnore("Y");
            tmdp.AddIgnore("Z");

            tmdp.AddIgnore("RotationX");
            tmdp.AddIgnore("RotationY");
            tmdp.AddIgnore("RotationZ");

            tmdp.SetDisplay("RelativeX", "X");
            tmdp.SetDisplay("RelativeY", "Y");
            tmdp.SetDisplay("RelativeZ", "Z");

            tmdp.SetDisplay("RelativeRotationX", "RotationX");
            tmdp.SetDisplay("RelativeRotationY", "RotationY");
            tmdp.SetDisplay("RelativeRotationZ", "RotationZ");


            if (isAaRect)
            {
                tmdp.AddIgnore("Left");
                tmdp.AddIgnore("Right");
                tmdp.AddIgnore("Top");
                tmdp.AddIgnore("Bottom");

                tmdp.SetDisplay("RelativeLeft", "Left");
                tmdp.SetDisplay("RelativeRight", "Right");
                tmdp.SetDisplay("RelativeTop", "Top");
                tmdp.SetDisplay("RelativeBottom", "Bottom");
            }
        }
        public TypeMemberDisplayProperties GetAARectDisplayProperties()
        {
            TypeMemberDisplayProperties properties = new TypeMemberDisplayProperties();

            properties.Type = typeof(FlatRedBall.Math.Geometry.AxisAlignedRectangle).FullName;
            AdjustPositionedObjectProperties(properties);

            properties.AddIgnore("LastCollisionTangent");
            properties.AddIgnore("AbsoluteVisible");
            RemoveRotationValues(properties);
            properties.AddIgnore("BoundingRadius");
            properties.SetCategory("IgnoresParentVisibility", "Attachment");


            properties.SetCategory("Left", "Position");
            properties.SetCategory("Right", "Position");
            properties.SetCategory("Top", "Position");
            properties.SetCategory("Bottom", "Position");

            properties.SetCategory("RelativeLeft", "Position");
            properties.SetCategory("RelativeRight", "Position");
            properties.SetCategory("RelativeTop", "Position");
            properties.SetCategory("RelativeBottom", "Position");

            properties.AddIgnore("Red");
            properties.AddIgnore("Green");
            properties.AddIgnore("Blue");


            return(properties);
        }
 private static void RemoveRotationValues(TypeMemberDisplayProperties properties)
 {
     properties.AddIgnore("RotationX");
     properties.AddIgnore("RotationY");
     properties.AddIgnore("RotationZ");
     properties.AddIgnore("RelativeRotationX");
     properties.AddIgnore("RelativeRotationY");
     properties.AddIgnore("RelativeRotationZ");
 }
        internal void UpdateToSelectedInstance()
        {
            if (ArrowState.Self.CurrentContainedElementRuntime != null)
            {
                if (ArrowState.Self.CurrentContainedElementRuntime.DirectObjectReference != null)
                {
                    mPropertyGrid.Instance = ArrowState.Self.CurrentContainedElementRuntime.DirectObjectReference;

                    string fullName = mPropertyGrid.Instance.GetType().FullName;

                    TypeMemberDisplayProperties foundTmdp;

                    if (mTypeMemberDisplayProperties.ContainsKey(fullName))
                    {
                        foundTmdp = mTypeMemberDisplayProperties[fullName];
                        mPropertyGrid.Apply(mTypeMemberDisplayProperties[fullName]);
                    }
                    else
                    {
                        foundTmdp = new TypeMemberDisplayProperties();
                    }

                    TypeMemberDisplayPropertiesManager.Self.EliminateAbsoluteOrRelativeValuesIfNecessary(
                        mPropertyGrid, foundTmdp);

                    mPropertyGrid.Refresh();
                }
                else if (ArrowState.Self.CurrentInstance is ArrowElementInstance)
                {
                    mPropertyGrid.Instance = ArrowState.Self.CurrentContainedElementRuntime;

                    string fullName = mPropertyGrid.Instance.GetType().FullName;

                    TypeMemberDisplayProperties foundTmdp;

                    if (mTypeMemberDisplayProperties.ContainsKey(fullName))
                    {
                        foundTmdp = mTypeMemberDisplayProperties[fullName];
                        mPropertyGrid.Apply(mTypeMemberDisplayProperties[fullName]);
                    }
                    else
                    {
                        foundTmdp = new TypeMemberDisplayProperties();
                    }

                    TypeMemberDisplayPropertiesManager.Self.EliminateAbsoluteOrRelativeValuesIfNecessary(
                        mPropertyGrid, foundTmdp);

                    mPropertyGrid.Refresh();
                }
            }
            else if (mPropertyGrid != null)
            {
                mPropertyGrid.Instance = null;
            }
        }
        public TypeMemberDisplayProperties GetCircleDisplayProperties()
        {
            TypeMemberDisplayProperties properties = new TypeMemberDisplayProperties();

            properties.Type = typeof(FlatRedBall.Math.Geometry.Circle).FullName;
            AdjustPositionedObjectProperties(properties);

            properties.AddIgnore("LastCollisionTangent");
            properties.AddIgnore("AbsoluteVisible");
            RemoveRotationValues(properties);
            properties.SetCategory("IgnoresParentVisibility", "Attachment");

            return(properties);
        }
Exemplo n.º 7
0
        public TypeMemberDisplayProperties GetTypedMemberDisplayProperties()
        {
            TypeMemberDisplayProperties toReturn = new TypeMemberDisplayProperties();

            AddPropertyHiddenDelegate("IsFileRequirement", IsHiddenDelegate, toReturn);

            AddPropertyHiddenDelegate("RequiredExtension", IsFilePropertyHidden, toReturn);
            AddPropertyHiddenDelegate("LoadedOnlyWhenReferenced", IsFilePropertyHidden, toReturn);


            toReturn.AddIgnore("UiDisplayName");


            return(toReturn);
        }
        private static void AdjustPositionedObjectProperties(TypeMemberDisplayProperties properties)
        {
            properties.AddIgnore("Children");
            properties.AddIgnore("HierarchyDepth");
            properties.AddIgnore("TopParent");

            properties.AddIgnore("KeepTrackOfReal");
            properties.AddIgnore("Drag");
            properties.AddIgnore("Instructions");

            properties.SetCategory("X", "Position");
            properties.SetCategory("Y", "Position");
            properties.SetCategory("Z", "Position");

            properties.SetCategory("RelativeX", "Position");
            properties.SetCategory("RelativeY", "Position");
            properties.SetCategory("RelativeZ", "Position");

            properties.SetCategory("RotationX", "Rotation");
            properties.SetCategory("RotationY", "Rotation");
            properties.SetCategory("RotationZ", "Rotation");

            properties.SetCategory("RelativeRotationX", "Rotation");
            properties.SetCategory("RelativeRotationY", "Rotation");
            properties.SetCategory("RelativeRotationZ", "Rotation");



            properties.AddIgnore("ChildrenAsIAttachables");
            properties.AddIgnore("ListsBelongingTo");
            properties.AddIgnore("Parent");
            properties.AddIgnore("ParentAsIAttachable");
            properties.AddIgnore("ParentBone");

            properties.SetCategory("IgnoreParentPosition", "Attachment");
            properties.SetCategory("ParentRotationChangesPosition", "Attachment");
            properties.SetCategory("ParentRotationChangesRotation", "Attachment");

            properties.SetPreferredDisplayer("RotationX", typeof(WpfDataUi.Controls.AngleSelectorDisplay));
            properties.SetPreferredDisplayer("RotationY", typeof(WpfDataUi.Controls.AngleSelectorDisplay));
            properties.SetPreferredDisplayer("RotationZ", typeof(WpfDataUi.Controls.AngleSelectorDisplay));

            properties.SetPreferredDisplayer("RelativeRotationX", typeof(WpfDataUi.Controls.AngleSelectorDisplay));
            properties.SetPreferredDisplayer("RelativeRotationY", typeof(WpfDataUi.Controls.AngleSelectorDisplay));
            properties.SetPreferredDisplayer("RelativeRotationZ", typeof(WpfDataUi.Controls.AngleSelectorDisplay));

            properties.AddIgnore("LastDependencyUpdate");
        }
Exemplo n.º 9
0
        public void Apply(TypeMemberDisplayProperties properties)
        {
            foreach (var property in properties.DisplayProperties)
            {
                // does this member exist?
                InstanceMember member;
                MemberCategory category;

                bool found = TryGetInstanceMember(property.Name, out member, out category);

                if (member != null)
                {
                    ApplyDisplayPropertyToInstanceMember(property, member, category);
                }
            }

            RefreshDelegateBasedElementVisibility();
        }
        public void EliminateAbsoluteOrRelativeValuesIfNecessary(DataUiGrid dataGrid, TypeMemberDisplayProperties tmdp)
        {
            PositionedObject asPositionedObject = dataGrid.Instance as PositionedObject;

            if (asPositionedObject != null)
            {
                bool hasParent = asPositionedObject.Parent != null;

                bool isAaRect = asPositionedObject is AxisAlignedRectangle;

                TypeMemberDisplayProperties clone = tmdp.Clone();

                if (hasParent)
                {
                    SetPropertiesForHasParent(isAaRect, clone);
                }
                else
                {
                    SetPropertiesForNoParent(isAaRect, clone);
                }

                dataGrid.Apply(clone);
            }
        }
Exemplo n.º 11
0
        void AddPropertyHiddenDelegate(string property, Func <InstanceMember, bool> hiddenDelegate, TypeMemberDisplayProperties allProperties)
        {
            InstanceMemberDisplayProperties imdp = new InstanceMemberDisplayProperties();

            imdp.Name             = property;
            imdp.IsHiddenDelegate = hiddenDelegate;

            allProperties.DisplayProperties.Add(imdp);
        }