AnimatLab  2
Test
C884Controller.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using AnimatGUI.Framework;
6 
8 {
9  namespace RobotIOControls
10  {
11 
12  public class C884Controller : AnimatGUI.DataObjects.Robotics.RobotIOControl
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 "Performs IO with the C884 Piezo motor controller.";} set { }}
23  public override string ButtonImageName { get { return "HybridInterfaceGUI.Graphics.C884_Large.gif"; } }
24  public override string WorkspaceImageName { get { return "HybridInterfaceGUI.Graphics.C884_Small.gif"; } }
25  public override string PartType { get { return "C884Controller"; } }
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 C884Controller(AnimatGUI.Framework.DataObject doParent)
46  : base(doParent)
47  {
48  m_strName = "C884 Controller";
49 
50  //Setup the parts that are available for this type of controller.
51  m_aryAvailablePartTypes.Add(new M110Actuator(this));
52  }
53 
54  public override AnimatGUI.Framework.DataObject Clone(AnimatGUI.Framework.DataObject doParent, bool bCutData, AnimatGUI.Framework.DataObject doRoot)
55  {
56  C884Controller doInterface = new C884Controller(doParent);
57  return doInterface;
58  }
59 
60  protected override void CloneInternal(DataObject doOriginal, bool bCutData, DataObject doRoot)
61  {
62  base.CloneInternal(doOriginal, bCutData, doRoot);
63 
64  C884Controller doOrig = (C884Controller)doOriginal;
65 
66  if (doOrig != null)
67  {
68  m_iPortNumber = doOrig.m_iPortNumber;
69  }
70  }
71 
72  public override void BuildProperties(ref AnimatGuiCtrls.Controls.PropertyTable propTable)
73  {
74  base.BuildProperties(ref propTable);
75 
76  propTable.Properties.Add(new AnimatGuiCtrls.Controls.PropertySpec("Com Port", this.PortNumber.GetType(), "PortNumber", "Properties", "Com port number", this.PortNumber));
77  }
78 
79  public override void LoadData(ManagedAnimatInterfaces.IStdXml oXml)
80  {
81  base.LoadData(oXml);
82 
83  oXml.IntoElem();
84 
85  m_iPortNumber = oXml.GetChildInt("PortNumber", m_iPortNumber);
86 
87  oXml.OutOfElem();
88  }
89 
90  public override void SaveData(ManagedAnimatInterfaces.IStdXml oXml)
91  {
92  base.SaveData(oXml);
93 
94  oXml.IntoElem();
95 
96  oXml.AddChildElement("PortNumber", m_iPortNumber);
97 
98  oXml.OutOfElem();
99  }
100 
101  public override void SaveSimulationXml(ManagedAnimatInterfaces.IStdXml oXml, ref DataObject nmParentControl, string strName = "")
102  {
103  base.SaveSimulationXml(oXml, ref nmParentControl, strName);
104 
105  oXml.IntoElem();
106 
107  oXml.AddChildElement("PortNumber", m_iPortNumber);
108 
109  oXml.OutOfElem();
110  }
111 
112  #endregion
113 
114  }
115  }
116 }