public void OpenDocument(DocumentBase document) { if(document == null) return; DocumentBase doc = GetOpenDocument(document); //HACK if (doc != null) CurrentDocument = doc; else { Documents.Add(document); CurrentDocument = document; } OnDocumentOpened(this, new DataEventArgs<DocumentBase>(document)); }
DocumentBase GetOpenDocument(DocumentBase document) { if (document == null || this.Documents == null || this.Documents.Count <= 0) return null; foreach (DocumentBase doc in this.Documents) { if (doc.DocumentTitle.Equals(document.DocumentTitle)) return doc; } return null; }
public DocumentClosingEventArgs(DocumentBase doc, bool cancel) : base(cancel) { this.Document = doc; }
public void CloseDocument(DocumentBase document) { if (Documents.Contains(document)) { DocumentClosingEventArgs closeArgs = new DocumentClosingEventArgs(document); OnDocumentClosing(this, closeArgs); if (closeArgs.Cancel) { return; } if (document.Equals(CurrentDocument)) { CurrentDocument = null; } Documents.Remove(document); document.Dispose(); OnDocumentClosed(this, new DataEventArgs<DocumentBase>(document)); } }
public DocumentClosingEventArgs(DocumentBase doc) : this(doc, false) { }