internal static Activity GetNextSelectableActivity(Activity currentActivity)
        {
            object                    obj2;
            ActivityDesigner          designer  = ActivityDesigner.GetDesigner(currentActivity);
            CompositeActivityDesigner designer2 = (designer != null) ? designer.ParentDesigner : null;

            if (designer2 == null)
            {
                return(null);
            }
            DesignerNavigationDirection direction = ((designer2 is ParallelActivityDesigner) || (designer2 is ActivityPreviewDesigner)) ? DesignerNavigationDirection.Right : DesignerNavigationDirection.Down;
            Activity activity = null;

            for (obj2 = designer2.GetNextSelectableObject(currentActivity, direction); ((activity == null) && (obj2 != null)) && (obj2 != currentActivity); obj2 = designer2.GetNextSelectableObject(obj2, direction))
            {
                activity = obj2 as Activity;
            }
            if (activity == null)
            {
                direction = ((designer2 is ParallelActivityDesigner) || (designer2 is ActivityPreviewDesigner)) ? DesignerNavigationDirection.Left : DesignerNavigationDirection.Up;
                for (obj2 = designer2.GetNextSelectableObject(currentActivity, direction); ((activity == null) && (obj2 != null)) && (obj2 != currentActivity); obj2 = designer2.GetNextSelectableObject(obj2, direction))
                {
                    activity = obj2 as Activity;
                }
            }
            if (activity == null)
            {
                activity = designer2.Activity;
            }
            return(activity);
        }
        public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
        {
            if (ActiveDesigner != this)
            {
                return(base.GetNextSelectableObject(obj, direction));
            }

            if (direction != DesignerNavigationDirection.Left && direction != DesignerNavigationDirection.Right)
            {
                return(null);
            }

            object nextObject = null;

            ReadOnlyCollection <ActivityDesigner> containedDesigners = ContainedDesigners;
            ActivityDesigner activityDesigner = ActivityDesigner.GetDesigner(obj as Activity);
            int index = (activityDesigner != null) ? containedDesigners.IndexOf(activityDesigner) : -1;

            if (direction == DesignerNavigationDirection.Left && index >= 0 && index < containedDesigners.Count)
            {
                nextObject = ((ActivityDesigner)containedDesigners[(index > 0) ? index - 1 : containedDesigners.Count - 1]).Activity;
            }
            else if (direction == DesignerNavigationDirection.Right && index <= containedDesigners.Count - 1)
            {
                nextObject = ((ActivityDesigner)containedDesigners[(index < containedDesigners.Count - 1) ? index + 1 : 0]).Activity;
            }

            return(nextObject);
        }
Esempio n. 3
0
        public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
        {
            if (base.ActiveDesigner != this)
            {
                return(base.GetNextSelectableObject(obj, direction));
            }
            if ((direction != DesignerNavigationDirection.Left) && (direction != DesignerNavigationDirection.Right))
            {
                return(null);
            }
            object activity = null;
            ReadOnlyCollection <ActivityDesigner> containedDesigners = this.ContainedDesigners;
            ActivityDesigner designer = ActivityDesigner.GetDesigner(obj as Activity);
            int num = (designer != null) ? containedDesigners.IndexOf(designer) : -1;

            if (((direction == DesignerNavigationDirection.Left) && (num >= 0)) && (num < containedDesigners.Count))
            {
                return(containedDesigners[(num > 0) ? (num - 1) : (containedDesigners.Count - 1)].Activity);
            }
            if ((direction == DesignerNavigationDirection.Right) && (num <= (containedDesigners.Count - 1)))
            {
                activity = containedDesigners[(num < (containedDesigners.Count - 1)) ? (num + 1) : 0].Activity;
            }
            return(activity);
        }
Esempio n. 4
0
        public override AccessibleObject Navigate(AccessibleNavigation navdir)
        {
            if (navdir == AccessibleNavigation.Up || navdir == AccessibleNavigation.Previous ||
                navdir == AccessibleNavigation.Down || navdir == AccessibleNavigation.Next)
            {
                DesignerNavigationDirection navigate = default(DesignerNavigationDirection);
                if (navdir == AccessibleNavigation.Up || navdir == AccessibleNavigation.Previous)
                {
                    navigate = DesignerNavigationDirection.Up;
                }
                else
                {
                    navigate = DesignerNavigationDirection.Down;
                }

                CompositeActivityDesigner compositeDesigner = this.ActivityDesigner.ParentDesigner;
                if (compositeDesigner != null)
                {
                    object nextSelectableObj = compositeDesigner.GetNextSelectableObject(this.ActivityDesigner.Activity, navigate);
                    if (nextSelectableObj is ConnectorHitTestInfo)
                    {
                        return(GetChild(((ConnectorHitTestInfo)nextSelectableObj).MapToIndex()));
                    }
                }
            }

            return(base.Navigate(navdir));
        }
Esempio n. 5
0
        public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
        {
            if (ActiveDesigner != this)
            {
                return(base.GetNextSelectableObject(obj, direction));
            }

            if (direction != DesignerNavigationDirection.Left && direction != DesignerNavigationDirection.Right)
            {
                return(null);
            }

            object nextObject = null;

            int index = StripItemIndexFromActivity(obj as Activity);

            if (direction == DesignerNavigationDirection.Left && index >= 0)
            {
                nextObject = this.previewStrip.Items[(index > 0) ? index - 1 : this.previewStrip.Items.Count - 1].UserData[DesignerUserDataKeys.Activity];
            }
            else if (direction == DesignerNavigationDirection.Right && index <= this.previewStrip.Items.Count - 1)
            {
                nextObject = this.previewStrip.Items[(index < this.previewStrip.Items.Count - 1) ? index + 1 : 0].UserData[DesignerUserDataKeys.Activity];
            }

            return(nextObject);
        }
Esempio n. 6
0
 public override AccessibleObject Navigate(AccessibleNavigation navdir)
 {
     if (((navdir == AccessibleNavigation.Up) || (navdir == AccessibleNavigation.Previous)) || ((navdir == AccessibleNavigation.Down) || (navdir == AccessibleNavigation.Next)))
     {
         DesignerNavigationDirection down = DesignerNavigationDirection.Down;
         if ((navdir == AccessibleNavigation.Up) || (navdir == AccessibleNavigation.Previous))
         {
             down = DesignerNavigationDirection.Up;
         }
         else
         {
             down = DesignerNavigationDirection.Down;
         }
         CompositeActivityDesigner parentDesigner = base.ActivityDesigner.ParentDesigner;
         if (parentDesigner != null)
         {
             object nextSelectableObject = parentDesigner.GetNextSelectableObject(base.ActivityDesigner.Activity, down);
             if (nextSelectableObject is ConnectorHitTestInfo)
             {
                 return(this.GetChild(((ConnectorHitTestInfo)nextSelectableObject).MapToIndex()));
             }
         }
     }
     return(base.Navigate(navdir));
 }
Esempio n. 7
0
        public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
        {
            if (base.ActiveDesigner != this)
            {
                return(base.GetNextSelectableObject(obj, direction));
            }
            if ((direction != DesignerNavigationDirection.Down) && (direction != DesignerNavigationDirection.Up))
            {
                return(null);
            }
            object activity = null;
            ReadOnlyCollection <ActivityDesigner> containedDesigners = this.ContainedDesigners;

            if (direction == DesignerNavigationDirection.Down)
            {
                if (obj is ConnectorHitTestInfo)
                {
                    int num = ((ConnectorHitTestInfo)obj).MapToIndex();
                    if ((num >= 0) && (num < containedDesigners.Count))
                    {
                        activity = containedDesigners[num].Activity;
                    }
                    return(activity);
                }
                if (obj is Activity)
                {
                    ActivityDesigner designer = ActivityDesigner.GetDesigner(obj as Activity);
                    int num2 = (designer != null) ? containedDesigners.IndexOf(designer) : -1;
                    if ((num2 >= 0) && ((num2 + 1) < this.GetConnectors().Length))
                    {
                        activity = new ConnectorHitTestInfo(this, HitTestLocations.Designer, num2 + 1);
                    }
                }
                return(activity);
            }
            if (direction == DesignerNavigationDirection.Up)
            {
                if (obj is ConnectorHitTestInfo)
                {
                    int num3 = ((ConnectorHitTestInfo)obj).MapToIndex();
                    if ((num3 > 0) && (num3 < this.GetConnectors().Length))
                    {
                        activity = containedDesigners[num3 - 1].Activity;
                    }
                    return(activity);
                }
                if (obj is Activity)
                {
                    ActivityDesigner designer2 = ActivityDesigner.GetDesigner(obj as Activity);
                    int connector = (designer2 != null) ? containedDesigners.IndexOf(designer2) : -1;
                    if ((connector >= 0) && (connector < this.GetConnectors().Length))
                    {
                        activity = new ConnectorHitTestInfo(this, HitTestLocations.Designer, connector);
                    }
                }
            }
            return(activity);
        }
Esempio n. 8
0
        public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
        {
            if (ActiveDesigner != this)
            {
                return(base.GetNextSelectableObject(obj, direction));
            }

            if (direction != DesignerNavigationDirection.Down && direction != DesignerNavigationDirection.Up)
            {
                return(null);
            }

            object nextObject = null;
            ReadOnlyCollection <ActivityDesigner> containedDesigners = ContainedDesigners;

            if (direction == DesignerNavigationDirection.Down)
            {
                if (obj is ConnectorHitTestInfo)
                {
                    int currentIndex = ((ConnectorHitTestInfo)obj).MapToIndex();
                    if (currentIndex >= 0 && currentIndex < containedDesigners.Count)
                    {
                        nextObject = ((ActivityDesigner)containedDesigners[currentIndex]).Activity;
                    }
                }
                else if (obj is Activity)
                {
                    ActivityDesigner activityDesigner = ActivityDesigner.GetDesigner(obj as Activity);
                    int currentIndex = (activityDesigner != null) ? containedDesigners.IndexOf(activityDesigner) : -1;
                    if (currentIndex >= 0 && (currentIndex + 1) < GetConnectors().Length)
                    {
                        nextObject = new ConnectorHitTestInfo(this, HitTestLocations.Designer, currentIndex + 1);
                    }
                }
            }
            else if (direction == DesignerNavigationDirection.Up)
            {
                if (obj is ConnectorHitTestInfo)
                {
                    int currentIndex = ((ConnectorHitTestInfo)obj).MapToIndex();
                    if (currentIndex > 0 && currentIndex < GetConnectors().Length)
                    {
                        nextObject = ((ActivityDesigner)containedDesigners[currentIndex - 1]).Activity;
                    }
                }
                else if (obj is Activity)
                {
                    ActivityDesigner activityDesigner = ActivityDesigner.GetDesigner(obj as Activity);
                    int currentIndex = (activityDesigner != null) ? containedDesigners.IndexOf(activityDesigner) : -1;
                    if (currentIndex >= 0 && currentIndex < GetConnectors().Length)
                    {
                        nextObject = new ConnectorHitTestInfo(this, HitTestLocations.Designer, currentIndex);
                    }
                }
            }

            return(nextObject);
        }
        public override object GetNextSelectableObject(object current, DesignerNavigationDirection navigate)
        {
            object           activity = null;
            ArrayList        list     = new ArrayList(this.ContainedDesigners);
            ActivityDesigner designer = (current is Activity) ? ActivityDesigner.GetDesigner(current as Activity) : ActivityDesigner.GetParentDesigner(current);
            int num = (designer != null) ? list.IndexOf(designer) : -1;

            if (((navigate == DesignerNavigationDirection.Left) || (navigate == DesignerNavigationDirection.Up)) && ((num >= 0) && (num < list.Count)))
            {
                return(((ActivityDesigner)list[(num > 0) ? (num - 1) : (list.Count - 1)]).Activity);
            }
            if (((navigate == DesignerNavigationDirection.Right) || (navigate == DesignerNavigationDirection.Down)) && (num <= (list.Count - 1)))
            {
                activity = ((ActivityDesigner)list[(num < (list.Count - 1)) ? (num + 1) : 0]).Activity;
            }
            return(activity);
        }
Esempio n. 10
0
            public override AccessibleObject Navigate(AccessibleNavigation navdir)
            {
                if (navdir == AccessibleNavigation.FirstChild || navdir == AccessibleNavigation.LastChild)
                {
                    return(base.Navigate(navdir));
                }

                DesignerNavigationDirection navigate = default(DesignerNavigationDirection);

                if (navdir == AccessibleNavigation.Left)
                {
                    navigate = DesignerNavigationDirection.Left;
                }
                else if (navdir == AccessibleNavigation.Right)
                {
                    navigate = DesignerNavigationDirection.Right;
                }
                else if (navdir == AccessibleNavigation.Up || navdir == AccessibleNavigation.Previous)
                {
                    navigate = DesignerNavigationDirection.Up;
                }
                else if (navdir == AccessibleNavigation.Down || navdir == AccessibleNavigation.Next)
                {
                    navigate = DesignerNavigationDirection.Down;
                }

                object nextSelectableObj = ((CompositeActivityDesigner)this.connectorHitInfo.AssociatedDesigner).GetNextSelectableObject(this.connectorHitInfo, navigate);

                if (nextSelectableObj is ConnectorHitTestInfo)
                {
                    ConnectorHitTestInfo nextConnector = nextSelectableObj as ConnectorHitTestInfo;
                    return(new SequentialConnectorAccessibleObject(nextConnector.AssociatedDesigner as SequentialActivityDesigner, nextConnector.MapToIndex()));
                }
                else if (nextSelectableObj is Activity)
                {
                    ActivityDesigner activityDesigner = ActivityDesigner.GetDesigner(nextSelectableObj as Activity);
                    if (activityDesigner != null)
                    {
                        return(activityDesigner.AccessibilityObject);
                    }
                }

                return(base.Navigate(navdir));
            }
        public override object GetNextSelectableObject(object current, DesignerNavigationDirection direction)
        {
            object           nextSelectableObject = null;
            ActivityDesigner activeDesigner       = this.ActiveDesigner;

            if (activeDesigner == null)
            {
                return(nextSelectableObject);
            }
            if (activeDesigner != this)
            {
                if ((current != activeDesigner.Activity) && (activeDesigner is CompositeActivityDesigner))
                {
                    nextSelectableObject = ((CompositeActivityDesigner)activeDesigner).GetNextSelectableObject(current, direction);
                }
                return(nextSelectableObject);
            }
            return(base.GetNextSelectableObject(current, direction));
        }
        public override AccessibleObject Navigate(AccessibleNavigation navdir)
        {
            if (navdir == AccessibleNavigation.FirstChild)
            {
                return(GetChild(0));
            }
            else if (navdir == AccessibleNavigation.LastChild)
            {
                return(GetChild(GetChildCount() - 1));
            }
            else
            {
                CompositeActivityDesigner compositeDesigner = this.activityDesigner.ParentDesigner;
                if (compositeDesigner != null)
                {
                    DesignerNavigationDirection navigate = default(DesignerNavigationDirection);
                    if (navdir == AccessibleNavigation.Left)
                    {
                        navigate = DesignerNavigationDirection.Left;
                    }
                    else if (navdir == AccessibleNavigation.Right)
                    {
                        navigate = DesignerNavigationDirection.Right;
                    }
                    else if (navdir == AccessibleNavigation.Up || navdir == AccessibleNavigation.Previous)
                    {
                        navigate = DesignerNavigationDirection.Up;
                    }
                    else if (navdir == AccessibleNavigation.Down || navdir == AccessibleNavigation.Next)
                    {
                        navigate = DesignerNavigationDirection.Down;
                    }

                    ActivityDesigner activityDesigner = ActivityDesigner.GetDesigner(compositeDesigner.GetNextSelectableObject(this.activityDesigner.Activity, navigate) as Activity);
                    if (activityDesigner != null)
                    {
                        return(activityDesigner.AccessibilityObject);
                    }
                }
            }

            return(base.Navigate(navdir));
        }
        public override AccessibleObject Navigate(AccessibleNavigation navdir)
        {
            if (navdir == AccessibleNavigation.FirstChild)
            {
                return(this.GetChild(0));
            }
            if (navdir == AccessibleNavigation.LastChild)
            {
                return(this.GetChild(this.GetChildCount() - 1));
            }
            CompositeActivityDesigner parentDesigner = this.activityDesigner.ParentDesigner;

            if (parentDesigner != null)
            {
                DesignerNavigationDirection down = DesignerNavigationDirection.Down;
                if (navdir == AccessibleNavigation.Left)
                {
                    down = DesignerNavigationDirection.Left;
                }
                else if (navdir == AccessibleNavigation.Right)
                {
                    down = DesignerNavigationDirection.Right;
                }
                else if ((navdir == AccessibleNavigation.Up) || (navdir == AccessibleNavigation.Previous))
                {
                    down = DesignerNavigationDirection.Up;
                }
                else if ((navdir == AccessibleNavigation.Down) || (navdir == AccessibleNavigation.Next))
                {
                    down = DesignerNavigationDirection.Down;
                }
                System.Workflow.ComponentModel.Design.ActivityDesigner designer = System.Workflow.ComponentModel.Design.ActivityDesigner.GetDesigner(parentDesigner.GetNextSelectableObject(this.activityDesigner.Activity, down) as Activity);
                if (designer != null)
                {
                    return(designer.AccessibilityObject);
                }
            }
            return(base.Navigate(navdir));
        }
Esempio n. 14
0
 public override AccessibleObject Navigate(AccessibleNavigation navdir)
 {
     if ((navdir != AccessibleNavigation.FirstChild) && (navdir != AccessibleNavigation.LastChild))
     {
         DesignerNavigationDirection down = DesignerNavigationDirection.Down;
         if (navdir == AccessibleNavigation.Left)
         {
             down = DesignerNavigationDirection.Left;
         }
         else if (navdir == AccessibleNavigation.Right)
         {
             down = DesignerNavigationDirection.Right;
         }
         else if ((navdir == AccessibleNavigation.Up) || (navdir == AccessibleNavigation.Previous))
         {
             down = DesignerNavigationDirection.Up;
         }
         else if ((navdir == AccessibleNavigation.Down) || (navdir == AccessibleNavigation.Next))
         {
             down = DesignerNavigationDirection.Down;
         }
         object nextSelectableObject = ((CompositeActivityDesigner)this.connectorHitInfo.AssociatedDesigner).GetNextSelectableObject(this.connectorHitInfo, down);
         if (nextSelectableObject is ConnectorHitTestInfo)
         {
             ConnectorHitTestInfo info = nextSelectableObject as ConnectorHitTestInfo;
             return(new SequenceDesignerAccessibleObject.SequentialConnectorAccessibleObject(info.AssociatedDesigner as SequentialActivityDesigner, info.MapToIndex()));
         }
         if (nextSelectableObject is Activity)
         {
             ActivityDesigner designer = ActivityDesigner.GetDesigner(nextSelectableObject as Activity);
             if (designer != null)
             {
                 return(designer.AccessibilityObject);
             }
         }
     }
     return(base.Navigate(navdir));
 }
Esempio n. 15
0
        public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
        {
            if (base.ActiveDesigner != this)
            {
                return(base.GetNextSelectableObject(obj, direction));
            }
            if ((direction != DesignerNavigationDirection.Left) && (direction != DesignerNavigationDirection.Right))
            {
                return(null);
            }
            object obj2 = null;
            int    num  = this.StripItemIndexFromActivity(obj as Activity);

            if ((direction == DesignerNavigationDirection.Left) && (num >= 0))
            {
                return(this.previewStrip.Items[(num > 0) ? (num - 1) : (this.previewStrip.Items.Count - 1)].UserData[DesignerUserDataKeys.Activity]);
            }
            if ((direction == DesignerNavigationDirection.Right) && (num <= (this.previewStrip.Items.Count - 1)))
            {
                obj2 = this.previewStrip.Items[(num < (this.previewStrip.Items.Count - 1)) ? (num + 1) : 0].UserData[DesignerUserDataKeys.Activity];
            }
            return(obj2);
        }
Esempio n. 16
0
        public override object GetNextSelectableObject(object current, DesignerNavigationDirection direction)
        {
            object nextObject = null;

            ActivityDesigner activeDesigner = ActiveDesigner;

            if (activeDesigner != null)
            {
                if (activeDesigner != this)
                {
                    if (current != activeDesigner.Activity && activeDesigner is CompositeActivityDesigner)
                    {
                        nextObject = ((CompositeActivityDesigner)activeDesigner).GetNextSelectableObject(current, direction);
                    }
                }
                else
                {
                    nextObject = base.GetNextSelectableObject(current, direction);
                }
            }

            return(nextObject);
        }
        public override object GetNextSelectableObject(object current, DesignerNavigationDirection direction)
        {
            object nextObject = null;

            ActivityDesigner activeDesigner = ActiveDesigner;
            if (activeDesigner != null)
            {
                if (activeDesigner != this)
                {
                    if (current != activeDesigner.Activity && activeDesigner is CompositeActivityDesigner)
                        nextObject = ((CompositeActivityDesigner)activeDesigner).GetNextSelectableObject(current, direction);
                }
                else
                {
                    nextObject = base.GetNextSelectableObject(current, direction);
                }
            }

            return nextObject;
        }
 /// <summary>
 /// Gets the object which is next in the order of navigation
 /// </summary>
 /// <param name="current">Current object in the navigation order</param>
 /// <param name="navigate">Navigation direction</param>
 /// <returns></returns>
 public virtual object GetNextSelectableObject(object current, DesignerNavigationDirection direction)
 {
     return null;
 }
 public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
 {
     if (base.ActiveDesigner != this)
     {
         return base.GetNextSelectableObject(obj, direction);
     }
     if ((direction != DesignerNavigationDirection.Left) && (direction != DesignerNavigationDirection.Right))
     {
         return null;
     }
     object obj2 = null;
     int num = this.StripItemIndexFromActivity(obj as Activity);
     if ((direction == DesignerNavigationDirection.Left) && (num >= 0))
     {
         return this.previewStrip.Items[(num > 0) ? (num - 1) : (this.previewStrip.Items.Count - 1)].UserData[DesignerUserDataKeys.Activity];
     }
     if ((direction == DesignerNavigationDirection.Right) && (num <= (this.previewStrip.Items.Count - 1)))
     {
         obj2 = this.previewStrip.Items[(num < (this.previewStrip.Items.Count - 1)) ? (num + 1) : 0].UserData[DesignerUserDataKeys.Activity];
     }
     return obj2;
 }
 public override object GetNextSelectableObject(object current, DesignerNavigationDirection direction)
 {
     object nextSelectableObject = null;
     ActivityDesigner activeDesigner = this.ActiveDesigner;
     if (activeDesigner == null)
     {
         return nextSelectableObject;
     }
     if (activeDesigner != this)
     {
         if ((current != activeDesigner.Activity) && (activeDesigner is CompositeActivityDesigner))
         {
             nextSelectableObject = ((CompositeActivityDesigner) activeDesigner).GetNextSelectableObject(current, direction);
         }
         return nextSelectableObject;
     }
     return base.GetNextSelectableObject(current, direction);
 }
 public override object GetNextSelectableObject(object current, DesignerNavigationDirection direction)
 {
     Activity activity = current as Activity;
     if (activity != null)
     {
         this.SetParentTreeEnsuringVisible(false);
         ActivityDesigner item = GetDesigner(activity);
         List<ActivityDesigner> ordered = this.DesignersParser.Ordered;
         int index = ordered.IndexOf(item);
         if (index < 0)
         {
             return null;
         }
         if (((current is EventDrivenActivity) || (current is StateInitializationActivity)) || (current is StateFinalizationActivity))
         {
             if ((direction != DesignerNavigationDirection.Left) && (direction != DesignerNavigationDirection.Right))
             {
                 if (direction == DesignerNavigationDirection.Down)
                 {
                     if (index < (ordered.Count - 1))
                     {
                         return ordered[index + 1].Activity;
                     }
                     return null;
                 }
                 if (index > 0)
                 {
                     return ordered[index - 1].Activity;
                 }
             }
             return null;
         }
         StateActivity state = current as StateActivity;
         if (StateMachineHelpers.IsLeafState(state))
         {
             if (direction != DesignerNavigationDirection.Right)
             {
                 if (direction != DesignerNavigationDirection.Up)
                 {
                     if ((direction == DesignerNavigationDirection.Down) && (index < (ordered.Count - 1)))
                     {
                         return ordered[index + 1].Activity;
                     }
                 }
                 else if (index > 0)
                 {
                     return ordered[index - 1].Activity;
                 }
             }
             else if (this.DesignersParser.StateDesigners.Count > 0)
             {
                 return this.DesignersParser.StateDesigners[0].Activity;
             }
         }
         else if ((direction == DesignerNavigationDirection.Left) || (direction == DesignerNavigationDirection.Up))
         {
             if (index > 0)
             {
                 return ordered[index - 1].Activity;
             }
         }
         else if (index < (ordered.Count - 1))
         {
             return ordered[index + 1].Activity;
         }
     }
     return null;
 }
        public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
        {
            if (ActiveDesigner != this)
                return base.GetNextSelectableObject(obj, direction);

            if (direction != DesignerNavigationDirection.Left && direction != DesignerNavigationDirection.Right)
                return null;

            object nextObject = null;

            ReadOnlyCollection<ActivityDesigner> containedDesigners = ContainedDesigners;
            ActivityDesigner activityDesigner = ActivityDesigner.GetDesigner(obj as Activity);
            int index = (activityDesigner != null) ? containedDesigners.IndexOf(activityDesigner) : -1;
            if (direction == DesignerNavigationDirection.Left && index >= 0 && index < containedDesigners.Count)
                nextObject = ((ActivityDesigner)containedDesigners[(index > 0) ? index - 1 : containedDesigners.Count - 1]).Activity;
            else if (direction == DesignerNavigationDirection.Right && index <= containedDesigners.Count - 1)
                nextObject = ((ActivityDesigner)containedDesigners[(index < containedDesigners.Count - 1) ? index + 1 : 0]).Activity;

            return nextObject;
        }
 public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
 {
     if (base.ActiveDesigner != this)
     {
         return base.GetNextSelectableObject(obj, direction);
     }
     if ((direction != DesignerNavigationDirection.Down) && (direction != DesignerNavigationDirection.Up))
     {
         return null;
     }
     object activity = null;
     ReadOnlyCollection<ActivityDesigner> containedDesigners = this.ContainedDesigners;
     if (direction == DesignerNavigationDirection.Down)
     {
         if (obj is ConnectorHitTestInfo)
         {
             int num = ((ConnectorHitTestInfo) obj).MapToIndex();
             if ((num >= 0) && (num < containedDesigners.Count))
             {
                 activity = containedDesigners[num].Activity;
             }
             return activity;
         }
         if (obj is Activity)
         {
             ActivityDesigner designer = ActivityDesigner.GetDesigner(obj as Activity);
             int num2 = (designer != null) ? containedDesigners.IndexOf(designer) : -1;
             if ((num2 >= 0) && ((num2 + 1) < this.GetConnectors().Length))
             {
                 activity = new ConnectorHitTestInfo(this, HitTestLocations.Designer, num2 + 1);
             }
         }
         return activity;
     }
     if (direction == DesignerNavigationDirection.Up)
     {
         if (obj is ConnectorHitTestInfo)
         {
             int num3 = ((ConnectorHitTestInfo) obj).MapToIndex();
             if ((num3 > 0) && (num3 < this.GetConnectors().Length))
             {
                 activity = containedDesigners[num3 - 1].Activity;
             }
             return activity;
         }
         if (obj is Activity)
         {
             ActivityDesigner designer2 = ActivityDesigner.GetDesigner(obj as Activity);
             int connector = (designer2 != null) ? containedDesigners.IndexOf(designer2) : -1;
             if ((connector >= 0) && (connector < this.GetConnectors().Length))
             {
                 activity = new ConnectorHitTestInfo(this, HitTestLocations.Designer, connector);
             }
         }
     }
     return activity;
 }
 public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
 {
     if (base.ActiveDesigner != this)
     {
         return base.GetNextSelectableObject(obj, direction);
     }
     if ((direction != DesignerNavigationDirection.Left) && (direction != DesignerNavigationDirection.Right))
     {
         return null;
     }
     object activity = null;
     ReadOnlyCollection<ActivityDesigner> containedDesigners = this.ContainedDesigners;
     ActivityDesigner designer = ActivityDesigner.GetDesigner(obj as Activity);
     int num = (designer != null) ? containedDesigners.IndexOf(designer) : -1;
     if (((direction == DesignerNavigationDirection.Left) && (num >= 0)) && (num < containedDesigners.Count))
     {
         return containedDesigners[(num > 0) ? (num - 1) : (containedDesigners.Count - 1)].Activity;
     }
     if ((direction == DesignerNavigationDirection.Right) && (num <= (containedDesigners.Count - 1)))
     {
         activity = containedDesigners[(num < (containedDesigners.Count - 1)) ? (num + 1) : 0].Activity;
     }
     return activity;
 }
 public override object GetNextSelectableObject(object current, DesignerNavigationDirection navigate)
 {
     object activity = null;
     ArrayList list = new ArrayList(this.ContainedDesigners);
     ActivityDesigner designer = (current is Activity) ? ActivityDesigner.GetDesigner(current as Activity) : ActivityDesigner.GetParentDesigner(current);
     int num = (designer != null) ? list.IndexOf(designer) : -1;
     if (((navigate == DesignerNavigationDirection.Left) || (navigate == DesignerNavigationDirection.Up)) && ((num >= 0) && (num < list.Count)))
     {
         return ((ActivityDesigner) list[(num > 0) ? (num - 1) : (list.Count - 1)]).Activity;
     }
     if (((navigate == DesignerNavigationDirection.Right) || (navigate == DesignerNavigationDirection.Down)) && (num <= (list.Count - 1)))
     {
         activity = ((ActivityDesigner) list[(num < (list.Count - 1)) ? (num + 1) : 0]).Activity;
     }
     return activity;
 }
        public override object GetNextSelectableObject(object current, DesignerNavigationDirection navigate)
        {
            object nextObject = null;

            ArrayList activityDesigners = new ArrayList(ContainedDesigners);
            ActivityDesigner activityDesigner = (current is Activity) ? ActivityDesigner.GetDesigner(current as Activity) : ActivityDesigner.GetParentDesigner(current);
            int index = (activityDesigner != null) ? activityDesigners.IndexOf(activityDesigner) : -1;
            if ((navigate == DesignerNavigationDirection.Left || navigate == DesignerNavigationDirection.Up) && index >= 0 && index < activityDesigners.Count)
                nextObject = ((ActivityDesigner)activityDesigners[(index > 0) ? index - 1 : activityDesigners.Count - 1]).Activity;
            else if ((navigate == DesignerNavigationDirection.Right || navigate == DesignerNavigationDirection.Down) && index <= activityDesigners.Count - 1)
                nextObject = ((ActivityDesigner)activityDesigners[(index < activityDesigners.Count - 1) ? index + 1 : 0]).Activity;

            return nextObject;
        }
Esempio n. 27
0
        public override object GetNextSelectableObject(object current, DesignerNavigationDirection direction)
        {
            Activity activity = current as Activity;
            if (activity == null)
                return null;

            // Workaround: there is a special case code in
            // WorkflowView.EnsureVisible that calls EnsureVisible
            // in the wrong order, causing the EnsureVisible flag
            // to be in the wrong state
            SetParentTreeEnsuringVisible(false);

            ActivityDesigner designer = GetDesigner(activity);

            List<ActivityDesigner> ordered = this.DesignersParser.Ordered;
            int indexOf = ordered.IndexOf(designer);
            if (indexOf < 0)
                return null;

            if (current is EventDrivenActivity ||
                current is StateInitializationActivity ||
                current is StateFinalizationActivity)
            {
                if (direction == DesignerNavigationDirection.Left || direction == DesignerNavigationDirection.Right)
                    return null;

                if (direction == DesignerNavigationDirection.Down)
                {
                    if (indexOf < (ordered.Count - 1))
                        return ordered[indexOf + 1].Activity;
                    else
                        return null;
                }
                else
                {
                    if (indexOf > 0)
                        return ordered[indexOf - 1].Activity;
                    else
                        return null;
                }
            }
            else
            {
                StateActivity currentState = current as StateActivity;
                Debug.Assert(currentState != null);
                if (StateMachineHelpers.IsLeafState(currentState))
                {
                    if (direction == DesignerNavigationDirection.Right)
                    {
                        if (this.DesignersParser.StateDesigners.Count > 0)
                            return this.DesignersParser.StateDesigners[0].Activity;
                    }
                    else if (direction == DesignerNavigationDirection.Up)
                    {
                        if (indexOf > 0)
                            return ordered[indexOf - 1].Activity;
                    }
                    else if (direction == DesignerNavigationDirection.Down)
                    {
                        if (indexOf < (ordered.Count - 1))
                            return ordered[indexOf + 1].Activity;
                    }
                }
                else
                {
                    if (direction == DesignerNavigationDirection.Left || direction == DesignerNavigationDirection.Up)
                    {
                        if (indexOf > 0)
                            return ordered[indexOf - 1].Activity;
                    }
                    else
                    {
                        if (indexOf < (ordered.Count - 1))
                            return ordered[indexOf + 1].Activity;
                    }
                }
            }

            return null;
        }
        public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
        {
            if (ActiveDesigner != this)
                return base.GetNextSelectableObject(obj, direction);

            if (direction != DesignerNavigationDirection.Left && direction != DesignerNavigationDirection.Right)
                return null;

            object nextObject = null;

            int index = StripItemIndexFromActivity(obj as Activity);
            if (direction == DesignerNavigationDirection.Left && index >= 0)
                nextObject = this.previewStrip.Items[(index > 0) ? index - 1 : this.previewStrip.Items.Count - 1].UserData[DesignerUserDataKeys.Activity];
            else if (direction == DesignerNavigationDirection.Right && index <= this.previewStrip.Items.Count - 1)
                nextObject = this.previewStrip.Items[(index < this.previewStrip.Items.Count - 1) ? index + 1 : 0].UserData[DesignerUserDataKeys.Activity];

            return nextObject;
        }
        public override object GetNextSelectableObject(object obj, DesignerNavigationDirection direction)
        {
            if (ActiveDesigner != this)
                return base.GetNextSelectableObject(obj, direction);

            if (direction != DesignerNavigationDirection.Down && direction != DesignerNavigationDirection.Up)
                return null;

            object nextObject = null;
            ReadOnlyCollection<ActivityDesigner> containedDesigners = ContainedDesigners;
            if (direction == DesignerNavigationDirection.Down)
            {
                if (obj is ConnectorHitTestInfo)
                {
                    int currentIndex = ((ConnectorHitTestInfo)obj).MapToIndex();
                    if (currentIndex >= 0 && currentIndex < containedDesigners.Count)
                        nextObject = ((ActivityDesigner)containedDesigners[currentIndex]).Activity;
                }
                else if (obj is Activity)
                {
                    ActivityDesigner activityDesigner = ActivityDesigner.GetDesigner(obj as Activity);
                    int currentIndex = (activityDesigner != null) ? containedDesigners.IndexOf(activityDesigner) : -1;
                    if (currentIndex >= 0 && (currentIndex + 1) < GetConnectors().Length)
                        nextObject = new ConnectorHitTestInfo(this, HitTestLocations.Designer, currentIndex + 1);
                }
            }
            else if (direction == DesignerNavigationDirection.Up)
            {
                if (obj is ConnectorHitTestInfo)
                {
                    int currentIndex = ((ConnectorHitTestInfo)obj).MapToIndex();
                    if (currentIndex > 0 && currentIndex < GetConnectors().Length)
                        nextObject = ((ActivityDesigner)containedDesigners[currentIndex - 1]).Activity;
                }
                else if (obj is Activity)
                {
                    ActivityDesigner activityDesigner = ActivityDesigner.GetDesigner(obj as Activity);
                    int currentIndex = (activityDesigner != null) ? containedDesigners.IndexOf(activityDesigner) : -1;
                    if (currentIndex >= 0 && currentIndex < GetConnectors().Length)
                        nextObject = new ConnectorHitTestInfo(this, HitTestLocations.Designer, currentIndex);
                }
            }

            return nextObject;
        }