//Copyright 2012-2019 Keysight Technologies // //Licensed under the Apache License, Version 2.0 (the "License"); //you may not use this file except in compliance with the License. //You may obtain a copy of the License at // //http://www.apache.org/licenses/LICENSE-2.0 // //Unless required by applicable law or agreed to in writing, software //distributed under the License is distributed on an "AS IS" BASIS, //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //See the License for the specific language governing permissions and //limitations under the License. namespace OpenTap.Plugins.PluginDevelopment { [Display("EnabledIf Attribute Example", Groups: new[] { "Examples", "Plugin Development", "Attributes" }, Description: "Example step that uses the EnabledIf attribute.")] public class EnabledIfAttributeExample : TestStep { // Radio Standard to set DUT to transmit. [Display("Radio Standard", Group: "DUT Setup", Order: 1)] public RadioStandard Standard { get; set; } // This setting is only enabled when Standard == LTE || Standard == WCDMA. [Display("Measurement Bandwidth", Group: "DUT Setup", Order: 2.1)] [EnabledIf("Standard", RadioStandard.Lte, RadioStandard.Wcdma)] public double Bandwidth { get; set; } // Only enabled and visible when the Standard is set to GSM. [Display("Override Bandwidth", Group: "Advanced DUT Setup", Order: 3.1)] [EnabledIf("Standard", RadioStandard.Gsm, HideIfDisabled = true)] public bool BandwidthOverride { get; set; } // In this case, the setting will be enabled when Standard=GSM and BandwidthOverride=true. [Display("Actual Bandwidth", Group: "Advanced DUT Setup", Order: 3.2)] [EnabledIf("Standard", RadioStandard.Gsm, HideIfDisabled = true)] [EnabledIf("BandwidthOverride", true, HideIfDisabled = true)] public double ActualBandwidth { get; set; } public enum RadioStandard { Gsm, Wcdma, Lte } public override void Run() { // Do nothing } } }