public override void OnLogout() { lifelines.Clear(); GoDocument doc = goView1.Document; doc.AllowLink = false; doc.AllowEdit = false; doc.AllowResize = false; doc.Clear(); }
void DisplaySequence() { lifelines.Clear(); GoDocument doc = goView1.Document; doc.AllowLink = false; doc.AllowEdit = false; doc.AllowResize = false; doc.Clear(); goView1.Invoke(new Action(() => { int i = 0; foreach (var transaction in source) { var s = CreateOrGetLifeLine(doc, transaction.Source); var t = CreateOrGetLifeLine(doc, transaction.Target); var m = new Message(++i, s, t, "Buy (" + transaction.State.ToString().Remove(0, transaction.State.ToString().LastIndexOf('.') + 1) + ")", 2, transaction); m.OnMessageClicked += message => { foreach (var transactionControl in Registry.GetControls <ITransactionControl>()) { transactionControl.Changed(message); } }; doc.Add(m); } var margin = 300; foreach (var lifeline in lifelines) { lifeline.Value.Left = margin; margin *= 2; } doc.Bounds = doc.ComputeBounds(); goView1.DocPosition = doc.TopLeft; goView1.GridUnboundedSpots = GoObject.BottomLeft | GoObject.BottomRight; goView1.Grid.Top = Lifeline.LineStart; goView1.GridOriginY = Lifeline.LineStart; goView1.GridCellSizeHeight = Lifeline.MessageSpacing; // support undo/redo doc.UndoManager = new GoUndoManager(); })); }
public void CreateDiagramFor(TestInformationGeneratedMessage message) { seq = 0; _lifelines.Clear(); _doc = _view.Document; _doc.Clear(); _doc.AllowLink = false; _doc.AllowEdit = false; _doc.AllowResize = false; RecurseElements(message.Test, null, false, false, false); _label1.Text = "Sequence diagram for " + message.Item; _doc.Bounds = _doc.ComputeBounds(); _view.DocPosition = _doc.TopLeft; _view.GridUnboundedSpots = GoObject.BottomLeft | GoObject.BottomRight; _view.Grid.Top = Lifeline.LineStart; _view.GridOriginY = Lifeline.LineStart; _view.GridCellSizeHeight = Lifeline.MessageSpacing; // support undo/redo _doc.UndoManager = new GoUndoManager(); }
private void buttonX1_Click(object sender, EventArgs ea) { if (Events != null && Events.Count > 0) { if (start.Value >= end.Value) { MessageBoxEx.Show("Start event id should always be les than end event id", "Events", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } lifelines.Clear(); GoDocument doc = goView1.Document; doc.AllowLink = false; doc.AllowEdit = false; doc.AllowResize = false; doc.Clear(); for (int i = start.Value; i <= end.Value; i++) { var e = Events[i]; Lifeline lf = null; Lifeline s = null, t = null; if (e.Unknow && !lifelines.ContainsKey("Unknown")) { lf = new Lifeline("Unknown"); doc.Add(lf); lifelines.Add(lf.Text, lf); } if (e.Source != null && !lifelines.ContainsKey(e.Source.Name)) { lf = new Lifeline(e.Source.Name); doc.Add(lf); lifelines.Add(lf.Text, lf); } if (e.Target != null && !lifelines.ContainsKey(e.Target.Name)) { lf = new Lifeline(e.Target.Name); doc.Add(lf); lifelines.Add(lf.Text, lf); } if (e.Unknow) { if (e.Source == null) { s = lifelines["Unknown"]; t = lifelines[e.Target.Name]; } else if (e.Target == null) { t = lifelines["Unknown"]; s = lifelines[e.Source.Name]; } else { continue; } } else { t = lifelines[e.Target.Name]; s = lifelines[e.Source.Name]; } var m = new Message(i - start.Value, s, t, e.Message.GetType().Name, 2, e.Message); m.OnMessageClicked += message => Program.MainInstance.DisplayMessageInfo(message); doc.Add(m); } int margin = integerInput1.Value; foreach (var lifeline in lifelines) { lifeline.Value.Left = margin; margin *= 2; } doc.Bounds = doc.ComputeBounds(); goView1.DocPosition = doc.TopLeft; goView1.GridUnboundedSpots = GoObject.BottomLeft | GoObject.BottomRight; goView1.Grid.Top = Lifeline.LineStart; goView1.GridOriginY = Lifeline.LineStart; goView1.GridCellSizeHeight = Lifeline.MessageSpacing; // support undo/redo doc.UndoManager = new GoUndoManager(); } }