public void Copy(GPIBGroup copyMe) { GroupName = "Copy of " + copyMe.GroupName; UserGPIBGroup = copyMe.UserGPIBGroup; GroupDescription = copyMe.GroupDescription; foreach (int channelID in copyMe.getChannelIDs()) { if (!channelExists(channelID)) { addChannel(channelID); } ChannelDatas[channelID].Enabled = copyMe.ChannelDatas[channelID].Enabled; ChannelDatas[channelID].DataType = copyMe.ChannelDatas[channelID].DataType; if (ChannelDatas[channelID].DataType == GPIBGroupChannelData.GpibChannelDataType.voltage_frequency_waveform) { ChannelDatas[channelID].volts.DeepCopyWaveform(copyMe.ChannelDatas[channelID].volts); ChannelDatas[channelID].frequency.DeepCopyWaveform(copyMe.ChannelDatas[channelID].frequency); } else if (ChannelDatas[channelID].DataType == GPIBGroupChannelData.GpibChannelDataType.raw_string) { ChannelDatas[channelID].RawString = copyMe.ChannelDatas[channelID].RawString; } else if (ChannelDatas[channelID].DataType == GPIBGroupChannelData.GpibChannelDataType.string_param_string) { List <StringParameterString> parameters = new List <StringParameterString>(); foreach (StringParameterString param in copyMe.ChannelDatas[channelID].StringParameterStrings) { parameters.Add(param); } ChannelDatas[channelID].StringParameterStrings = parameters; } } }
/// <summary> /// Outputs a single gpib group. (evaluated at the beginning of the group.) /// </summary> /// <param name="gpibGroup"></param> /// <param name="settings"></param> /// <returns></returns> public abstract bool outputGPIBGroup(GPIBGroup gpibGroup, SettingsData settings);
private static bool CompareGpibGroups(string preString, GPIBGroup a, GPIBGroup b, List <SequenceDifference> ans) { return(CompareGroups <GPIBGroupChannelData>(preString, a, b, ans, CompareGpibChannelData)); }
public ServerActionStatus outputGPIBGroupOnConnectedServers(GPIBGroup gpibGroup, SettingsData settings, EventHandler <MessageEvent> messageLog) { return(runNamedMethodOnConnectedServers("outputGPIBGroup", new object[] { gpibGroup, settings }, 4000, messageLog)); }