private static string BuildRequirementsToolTip(KStudioEventStream stream, IEnumerable streams, KStudioEventStreamSelectorRequirementFlags process) { string value = null; process = process &= KStudioEventStreamSelectorRequirementFlags.ProcessMask; if ((stream != null) && (stream.EventStreamSelectorRequirements != null)) { EventStreamState state = (EventStreamState)stream.UserState; StringBuilder sb = new StringBuilder(); KStudioEventStreamIdentifier emptyIdentifier = new KStudioEventStreamIdentifier(); foreach (KStudioEventStreamSelectorRequirement requirement in stream.EventStreamSelectorRequirements) { if ((requirement.Flags & KStudioEventStreamSelectorRequirementFlags.ProcessMask) == process) { switch (requirement.Flags & KStudioEventStreamSelectorRequirementFlags.OperationMask) { case KStudioEventStreamSelectorRequirementFlags.OperationAll: { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier0, emptyIdentifier, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_All_Format, temp); } } { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier1, emptyIdentifier, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_All_Format, temp); } } break; case KStudioEventStreamSelectorRequirementFlags.OperationNone: { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier0, (KStudioEventStreamIdentifier)requirement.Identifier1, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_None_Format, temp); } } break; case KStudioEventStreamSelectorRequirementFlags.OperationOr: { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier0, (KStudioEventStreamIdentifier)requirement.Identifier1, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_Or_Format, temp); } } break; case KStudioEventStreamSelectorRequirementFlags.OperationXor: { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier0, (KStudioEventStreamIdentifier)requirement.Identifier1, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_Xor_Format, temp); } } break; } } } value = sb.ToString(); } return(value); }
private static string BuildRequirementsToolTip(KStudioEventStream stream, IEnumerable streams, KStudioEventStreamSelectorRequirementFlags process) { string value = null; process = process &= KStudioEventStreamSelectorRequirementFlags.ProcessMask; if ((stream != null) && (stream.EventStreamSelectorRequirements != null)) { EventStreamState state = (EventStreamState)stream.UserState; StringBuilder sb = new StringBuilder(); KStudioEventStreamIdentifier emptyIdentifier = new KStudioEventStreamIdentifier(); foreach (KStudioEventStreamSelectorRequirement requirement in stream.EventStreamSelectorRequirements) { if ((requirement.Flags & KStudioEventStreamSelectorRequirementFlags.ProcessMask) == process) { switch (requirement.Flags & KStudioEventStreamSelectorRequirementFlags.OperationMask) { case KStudioEventStreamSelectorRequirementFlags.OperationAll: { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier0, emptyIdentifier, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_All_Format, temp); } } { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier1, emptyIdentifier, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_All_Format, temp); } } break; case KStudioEventStreamSelectorRequirementFlags.OperationNone: { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier0, (KStudioEventStreamIdentifier)requirement.Identifier1, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_None_Format, temp); } } break; case KStudioEventStreamSelectorRequirementFlags.OperationOr: { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier0, (KStudioEventStreamIdentifier)requirement.Identifier1, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_Or_Format, temp); } } break; case KStudioEventStreamSelectorRequirementFlags.OperationXor: { string temp = EventStreamState.GetStreamNames((KStudioEventStreamIdentifier)requirement.Identifier0, (KStudioEventStreamIdentifier)requirement.Identifier1, streams); if (!String.IsNullOrWhiteSpace(temp)) { if (sb.Length > 0) { sb.AppendLine(); } sb.AppendFormat(Strings.StreamRequirement_Xor_Format, temp); } } break; } } } value = sb.ToString(); } return value; }