// Copyright Keysight Technologies 2012-2019
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, you can obtain one at http://mozilla.org/MPL/2.0/.
using System;
namespace OpenTap
{
///
/// Identifies the TestSteps that can be selected for a TestStep property.
///
[AttributeUsage(AttributeTargets.Property)]
public class StepSelectorAttribute : Attribute
{
/// For selecting which steps are available in selection. It's seen relative to the step having the property that is marked with the .
public enum FilterTypes
{
/// All steps in the entire test plan.
All,
/// Show only children of this step.
Children,
/// Show only siblings of this step.
Sibling,
/// All steps in the entire test plan, except for the step itself.
AllExcludingSelf
}
/// Selects the available items for selection on the TestStep property.
/// The filter.
public FilterTypes Filter { get; private set; }
/// Default constructor for StepSelectorAttribute.
public StepSelectorAttribute()
{
Filter = FilterTypes.All;
}
/// Constructor for StepSelectorAttribute.
/// The filter.
public StepSelectorAttribute(FilterTypes filter)
{
Filter = filter;
}
}
}