ShowExpandedMultiValueConverter.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / ShowExpandedMultiValueConverter.cs / 1305376 / ShowExpandedMultiValueConverter.cs

                            //---------------------------------------------------------------- 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//---------------------------------------------------------------

namespace System.Activities.Presentation 
{
    using System.Diagnostics; 
    using System.Diagnostics.CodeAnalysis; 
    using System.Globalization;
    using System.Windows.Data; 
    using System.Activities.Presentation.Model;
    using System.Activities.Presentation.Internal.PropertyEditing.Model;
    using System.Windows;
    using System.Activities.Presentation.View; 
    using System.Runtime;
 
    [SuppressMessage(FxCop.Category.Naming, FxCop.Rule.IdentifiersShouldBeSpelledCorrectly, 
        Justification = "Following the naming of IMultiValueConverter")]
    internal sealed class ShowExpandedMultiValueConverter : IMultiValueConverter 
    {

 	//Calculates whether ShowExpanded for a given WorklfowViewElement should be true or false.
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) 
        {
            ModelItem modelItem = (ModelItem)values[0]; 
            bool isRootDesigner = (bool)values[1]; 
            bool shouldExpandAll = (bool)values[2];
            bool shouldCollapseAll = (bool)values[3]; 
            bool expandState = (bool)values[4];
            bool pinState = (bool)values[5];
            WorkflowViewElement viewElement = (WorkflowViewElement)values[6];
 
            //Pinstate should be false in following cases (Designer should be unpinned in following cases):
            //1. ExpandAll is not enabled. 
            //2. ExpandAll is enabled and ExpandState is true. 
            //Similarly for Collapse All.
            if ((!shouldExpandAll || expandState) 
                && (!shouldCollapseAll || !expandState) )
            {
                viewElement.PinState = false;
            } 
            if (viewElement.IsAncestorOfRootDesigner)
            { 
                return true; 
            }
            return ViewUtilities.ShouldShowExpanded(isRootDesigner, viewElement.DoesParentAlwaysExpandChild(), 
                viewElement.DoesParentAlwaysCollapseChildren(), expandState, shouldExpandAll, shouldCollapseAll, viewElement.PinState);
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) 
        {
            throw FxTrace.Exception.AsError(new NotSupportedException()); 
        } 

    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//---------------------------------------------------------------- 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//---------------------------------------------------------------

namespace System.Activities.Presentation 
{
    using System.Diagnostics; 
    using System.Diagnostics.CodeAnalysis; 
    using System.Globalization;
    using System.Windows.Data; 
    using System.Activities.Presentation.Model;
    using System.Activities.Presentation.Internal.PropertyEditing.Model;
    using System.Windows;
    using System.Activities.Presentation.View; 
    using System.Runtime;
 
    [SuppressMessage(FxCop.Category.Naming, FxCop.Rule.IdentifiersShouldBeSpelledCorrectly, 
        Justification = "Following the naming of IMultiValueConverter")]
    internal sealed class ShowExpandedMultiValueConverter : IMultiValueConverter 
    {

 	//Calculates whether ShowExpanded for a given WorklfowViewElement should be true or false.
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) 
        {
            ModelItem modelItem = (ModelItem)values[0]; 
            bool isRootDesigner = (bool)values[1]; 
            bool shouldExpandAll = (bool)values[2];
            bool shouldCollapseAll = (bool)values[3]; 
            bool expandState = (bool)values[4];
            bool pinState = (bool)values[5];
            WorkflowViewElement viewElement = (WorkflowViewElement)values[6];
 
            //Pinstate should be false in following cases (Designer should be unpinned in following cases):
            //1. ExpandAll is not enabled. 
            //2. ExpandAll is enabled and ExpandState is true. 
            //Similarly for Collapse All.
            if ((!shouldExpandAll || expandState) 
                && (!shouldCollapseAll || !expandState) )
            {
                viewElement.PinState = false;
            } 
            if (viewElement.IsAncestorOfRootDesigner)
            { 
                return true; 
            }
            return ViewUtilities.ShouldShowExpanded(isRootDesigner, viewElement.DoesParentAlwaysExpandChild(), 
                viewElement.DoesParentAlwaysCollapseChildren(), expandState, shouldExpandAll, shouldCollapseAll, viewElement.PinState);
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) 
        {
            throw FxTrace.Exception.AsError(new NotSupportedException()); 
        } 

    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK