//Enumerates through documents and returns the view at the same position public NuGenDocument GetDocument(NuGenView view) { IEnumerator<NuGenDocument> iDocs = docs.GetEnumerator(); IEnumerator<NuGenView> iViews = views.GetEnumerator(); while(iViews.MoveNext() & iDocs.MoveNext()) { if (iViews.Current == view) { return iDocs.Current; } } return null; }
public void Remove(NuGenView v) { docs.Remove(GetDocument(v)); views.Remove(v); }
//Removes a document and its corresponding view private void RemoveDocument(NuGenDocument doc) { if (doc != null) { if (docViewMap.GetView(doc) != null) { if (docViewMap.GetView(doc).Visible) docViewMap.GetView(doc).Close(); docViewMap.Remove(doc); if (docViewMap.Count < 1) { activeView = null; } } } }
public void Add(NuGenDocument doc, NuGenView view) { docs.Add(doc); views.Add(view); doc.RegisterListener(view); }
//Creates a new document by copying an old document public NuGenDocument NewDocument(NuGenDocument doc) { if (docViewMap.Count == 0) { form.EnableControls(); } NuGenView view = new NuGenView(form, doc, this.SendStatusMessage); activeView = view; activeView.Focus(); view.Activate(); view.FormClosing += new FormClosingEventHandler(View_Closing); docViewMap.Add(doc, view); form.StatusPermanentMessage("Three axis points or the scale bar must be defined."); return doc; }
//Initializes a new document and its corresponding view when importing or opening a document public NuGenDocument NewDocument() { NuGenDocument doc = null; if (docViewMap.Count == 0) { form.EnableControls(); } if (ActiveDocument != null) { // this document is not the first so start up in same state as previous document for continuity doc = new NuGenDocument(ActiveDocument.DigitizeState); } else { doc = new NuGenDocument(NuGenDefaultSettings.GetInstance().SessionsSettings.initialDigitizeState); } NuGenView view = new NuGenView(form, doc, this.SendStatusMessage); activeView = view; activeView.Focus(); view.Activate(); view.FormClosing += new FormClosingEventHandler(View_Closing); docViewMap.Add(doc, view); doc.UpdateListeners(); form.StatusPermanentMessage("Three axis points or the scale bar must be defined."); activeView.ShowCoordinates += new NuGenView.Show_Coordinates(this.Show_Coordinates); return doc; }
public void View_Activated(object sender, System.EventArgs args) { activeView = (NuGenView)sender; foreach (Form f in form.MdiChildren) { f.Text = "Inactive"; } if (activeView != null) { activeView.Text = "Active"; } }