예제 #1
0
        private void DisplayCurrentInstance(List <InstanceSavePropertyDescriptor> pdc, InstanceSave instanceSave)
        {
            ElementSave elementSave = instanceSave.GetBaseElementSave();

            StateSave stateToDisplay;

            if (elementSave != null)
            {
                if (elementSave is StandardElementSave)
                {
                    // if we use the standard elements manager, we don't get any custom categories, so we need to add those:
                    stateToDisplay = StandardElementsManager.Self.GetDefaultStateFor(elementSave.Name).Clone();
                    foreach (var category in elementSave.Categories)
                    {
                        var expectedName = category.Name + "State";

                        var variable = elementSave.GetVariableFromThisOrBase(expectedName);
                        if (variable != null)
                        {
                            stateToDisplay.Variables.Add(variable);
                        }
                    }
                }
                else
                {
                    stateToDisplay = GetRecursiveStateFor(elementSave);
                }
            }
            else
            {
                stateToDisplay = new StateSave();
            }

            DisplayCurrentElement(pdc, elementSave, instanceSave, stateToDisplay, instanceSave.Name, AmountToDisplay.ElementAndExposedOnly);
        }
예제 #2
0
        private PropertyDescriptorCollection DisplayCurrentInstance(PropertyDescriptorCollection pdc, InstanceSave instanceSave)
        {
            ElementSave elementSave = instanceSave.GetBaseElementSave();

            StateSave stateToDisplay;

            if (elementSave != null)
            {
                stateToDisplay = elementSave.States[0];
            }
            else
            {
                stateToDisplay = new StateSave();
            }

            pdc = DisplayCurrentElement(pdc, elementSave, instanceSave, stateToDisplay, instanceSave.Name, AmountToDisplay.ElementAndExposedOnly);

            return(pdc);
        }
예제 #3
0
 public StandardElementSave GetRootStandardElementSave(InstanceSave instanceSave)
 {
     return(GetRootStandardElementSave(instanceSave.GetBaseElementSave()));
 }