11using System ;
22using System . ComponentModel ;
3+ using System . Drawing . Design ;
34using System . Reactive . Disposables ;
45using Bonsai ;
56
@@ -9,7 +10,8 @@ namespace OpenEphys.Onix1
910 /// A class that configures a NeuropixelsV2eBeta device.
1011 /// </summary>
1112 [ Description ( "Configures a NeuropixelsV2eBeta device." ) ]
12- public class ConfigureNeuropixelsV2eBeta : SingleDeviceFactory
13+ [ Editor ( "OpenEphys.Onix1.Design.NeuropixelsV2eEditor, OpenEphys.Onix1.Design" , typeof ( ComponentEditor ) ) ]
14+ public class ConfigureNeuropixelsV2eBeta : SingleDeviceFactory , IConfigureNeuropixelsV2
1315 {
1416 /// <summary>
1517 /// Initialize a new instance of a <see cref="ConfigureNeuropixelsV2eBeta"/> class.
@@ -19,6 +21,23 @@ public ConfigureNeuropixelsV2eBeta()
1921 {
2022 }
2123
24+ /// <summary>
25+ /// Copy constructor for the <see cref="ConfigureNeuropixelsV2e"/> class.
26+ /// </summary>
27+ /// <param name="configureNode">A pre-existing <see cref="ConfigureNeuropixelsV2e"/> object.</param>
28+ public ConfigureNeuropixelsV2eBeta ( ConfigureNeuropixelsV2eBeta configureNode )
29+ : base ( typeof ( NeuropixelsV2eBeta ) )
30+ {
31+ Enable = configureNode . Enable ;
32+ EnableLed = configureNode . EnableLed ;
33+ ProbeConfigurationA = configureNode . ProbeConfigurationA ;
34+ ProbeConfigurationB = configureNode . ProbeConfigurationB ;
35+ GainCalibrationFileA = configureNode . GainCalibrationFileA ;
36+ GainCalibrationFileB = configureNode . GainCalibrationFileB ;
37+ DeviceName = configureNode . DeviceName ;
38+ DeviceAddress = configureNode . DeviceAddress ;
39+ }
40+
2241 /// <summary>
2342 /// Gets or sets the device enable state.
2443 /// </summary>
@@ -43,8 +62,15 @@ public ConfigureNeuropixelsV2eBeta()
4362 /// <summary>
4463 /// Gets or sets the electrode configuration for Probe A.
4564 /// </summary>
65+ /// <remarks>
66+ /// Configuration is accomplished using a GUI to aid in channel selection and relevant configuration properties.
67+ /// To open a probe configuration GUI, select the ellipses next the <see cref="ProbeConfigurationA"/> variable
68+ /// in the property pane, or double-click <see cref="ConfigureNeuropixelsV2eBetaHeadstage"/> to configure both
69+ /// probes and the <see cref="ConfigureNeuropixelsV2eBno055"/> simultaneously.
70+ /// </remarks>
4671 [ Category ( ConfigurationCategory ) ]
4772 [ Description ( "Probe A electrode configuration." ) ]
73+ [ Editor ( "OpenEphys.Onix1.Design.NeuropixelsV2eProbeConfigurationEditor, OpenEphys.Onix1.Design" , typeof ( UITypeEditor ) ) ]
4874 public NeuropixelsV2QuadShankProbeConfiguration ProbeConfigurationA { get ; set ; } = new ( NeuropixelsV2Probe . ProbeA ) ;
4975
5076 /// <summary>
@@ -71,8 +97,15 @@ public ConfigureNeuropixelsV2eBeta()
7197 /// <summary>
7298 /// Gets or sets the electrode configuration for Probe B.
7399 /// </summary>
100+ /// <remarks>
101+ /// Configuration is accomplished using a GUI to aid in channel selection and relevant configuration properties.
102+ /// To open a probe configuration GUI, select the ellipses next the <see cref="ProbeConfigurationB"/> variable
103+ /// in the property pane, or double-click <see cref="ConfigureNeuropixelsV2eBetaHeadstage"/> to configure both
104+ /// probes and the <see cref="ConfigureNeuropixelsV2eBno055"/> simultaneously.
105+ /// </remarks>
74106 [ Category ( ConfigurationCategory ) ]
75107 [ Description ( "Probe B electrode configuration." ) ]
108+ [ Editor ( "OpenEphys.Onix1.Design.NeuropixelsV2eProbeConfigurationEditor, OpenEphys.Onix1.Design" , typeof ( UITypeEditor ) ) ]
76109 public NeuropixelsV2QuadShankProbeConfiguration ProbeConfigurationB { get ; set ; } = new ( NeuropixelsV2Probe . ProbeB ) ;
77110
78111 /// <summary>
0 commit comments