public void AddConnector(lmDatasets.ActivityConfig.ACDependencyRow acd) { if (!myConnectors.ContainsKey(acd.ACDependencyId)) { Step s1 = mySteps[GetCurrentStepKey(acd)]; Step s2 = mySteps[GetNextStepKey(acd)]; Connector c = null; switch ((atriumBE.ConnectorType)acd.LinkType) { case atriumBE.ConnectorType.Auto: c = new Auto(this, acd); break; case atriumBE.ConnectorType.NextStep: c = new NextStep(this, acd); break; case atriumBE.ConnectorType.Transfer: c = new Transfer(this, acd); break; case atriumBE.ConnectorType.Enable: c = new Enable(this, acd); break; case atriumBE.ConnectorType.Disable: c = new Disable(this, acd); break; case atriumBE.ConnectorType.BFOnly: c = new BFOnly(this, acd); break; case atriumBE.ConnectorType.Answer: c = new Answer(this, acd); break; case atriumBE.ConnectorType.Reply: c = new Reply(this, acd); break; case atriumBE.ConnectorType.ReplyAll: c = new ReplyAll(this, acd); break; case atriumBE.ConnectorType.Forward: c = new Forward(this, acd); break; case atriumBE.ConnectorType.Obsolete: c = new Obsolete(this, acd); break; } c.Draw(s1, s2); if (SelectedConnector != null) { if (SelectedConnector.myACD.ACDependencyId == acd.ACDependencyId) { SelectConnector(c); } } myConnectors.Add(acd.ACDependencyId, c); } }