AnimatLab  2
Test
Spike2.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using AnimatGUI.Framework;
6 
7 namespace HybridInterfaceGUI
8 {
9  namespace RobotIOControls
10  {
11 
12  public class Spike2 : AnimatGUI.DataObjects.Robotics.RemoteControl
13  {
14  #region " Attributes "
15 
16  protected int m_iPortNumber = 3;
17 
18  #endregion
19 
20  #region " Properties "
21 
22  public override string Description {get {return "Gets spike inputs from a spike2 data system.";} set { }}
23  public override string ButtonImageName { get { return "HybridInterfaceGUI.Graphics.Spike2_Large.gif"; } }
24  public override string WorkspaceImageName { get { return "HybridInterfaceGUI.Graphics.Spike2_Small.gif"; } }
25  public override string PartType {get { return "Spike2"; }}
26  public override string ModuleName { get { return "HybridInterfaceSim"; } }
27 
28  public virtual int PortNumber
29  {
30  get
31  {
32  return m_iPortNumber;
33  }
34  set
35  {
36  SetSimData("PortNumber", value.ToString(), true);
37  m_iPortNumber = value;
38  }
39  }
40 
41  #endregion
42 
43  #region " Methods "
44 
45  public Spike2(AnimatGUI.Framework.DataObject doParent)
46  : base(doParent)
47  {
48  m_strName = "Spike2";
49 
50  m_thDataTypes.DataTypes.Add(new AnimatGUI.DataObjects.DataType("Data", "Data", "", "", 0, 1));
51  }
52 
53  public override AnimatGUI.Framework.DataObject Clone(AnimatGUI.Framework.DataObject doParent, bool bCutData, AnimatGUI.Framework.DataObject doRoot)
54  {
55  Spike2 doInterface = new Spike2(doParent);
56  return doInterface;
57  }
58 
59  protected override void CloneInternal(DataObject doOriginal, bool bCutData, DataObject doRoot)
60  {
61  base.CloneInternal(doOriginal, bCutData, doRoot);
62 
63  Spike2 doOrig = (Spike2)doOriginal;
64 
65  if (doOrig != null)
66  {
67  m_iPortNumber = doOrig.m_iPortNumber;
68  }
69  }
70 
71  public override void BuildProperties(ref AnimatGuiCtrls.Controls.PropertyTable propTable)
72  {
73  base.BuildProperties(ref propTable);
74 
75  propTable.Properties.Add(new AnimatGuiCtrls.Controls.PropertySpec("Com Port", this.PortNumber.GetType(), "PortNumber", "Properties", "Com port number", this.PortNumber));
76  }
77 
78  public override void LoadData(ManagedAnimatInterfaces.IStdXml oXml)
79  {
80  base.LoadData(oXml);
81 
82  oXml.IntoElem();
83 
84  m_iPortNumber = oXml.GetChildInt("PortNumber", m_iPortNumber);
85 
86  oXml.OutOfElem();
87  }
88 
89  public override void SaveData(ManagedAnimatInterfaces.IStdXml oXml)
90  {
91  base.SaveData(oXml);
92 
93  oXml.IntoElem();
94 
95  oXml.AddChildElement("PortNumber", m_iPortNumber);
96 
97  oXml.OutOfElem();
98  }
99 
100  public override void SaveSimulationXml(ManagedAnimatInterfaces.IStdXml oXml, ref DataObject nmParentControl, string strName = "")
101  {
102  base.SaveSimulationXml(oXml, ref nmParentControl, strName);
103 
104  oXml.IntoElem();
105 
106  oXml.AddChildElement("PortNumber", m_iPortNumber);
107 
108  oXml.OutOfElem();
109  }
110 
111  #endregion
112 
113  }
114  }
115 }