} // RtfInterpreterBase // ---------------------------------------------------------------------- public void AddInterpreterListener(IRtfInterpreterListener listener) { if (listener == null) { throw new ArgumentNullException("listener"); } if (listeners == null) { listeners = new ArrayList(); } if (!listeners.Contains(listener)) { listeners.Add(listener); } } // AddInterpreterListener
// ---------------------------------------------------------------------- public void AddInterpreterListener( IRtfInterpreterListener listener ) { if ( listener == null ) { throw new ArgumentNullException( "listener" ); } if ( listeners == null ) { listeners = new ArrayList(); } if ( !listeners.Contains( listener ) ) { listeners.Add( listener ); } }
// ---------------------------------------------------------------------- public static IRtfDocument BuildDoc( IRtfGroup rtfDocument, params IRtfInterpreterListener[] listeners ) { RtfInterpreterListenerDocumentBuilder docBuilder = new RtfInterpreterListenerDocumentBuilder(); IRtfInterpreterListener[] allListeners; if ( listeners == null ) { allListeners = new IRtfInterpreterListener[] { docBuilder }; } else { allListeners = new IRtfInterpreterListener[ listeners.Length + 1 ]; allListeners[ 0 ] = docBuilder; listeners.CopyTo( allListeners, 1 ); } Interpret( rtfDocument, allListeners ); return docBuilder.Document; }
} // AddInterpreterListener // ---------------------------------------------------------------------- public void RemoveInterpreterListener(IRtfInterpreterListener listener) { if (listener == null) { throw new ArgumentNullException("listener"); } if (listeners != null) { if (listeners.Contains(listener)) { listeners.Remove(listener); } if (listeners.Count == 0) { listeners = null; } } } // RemoveInterpreterListener
} // BuildDoc // ---------------------------------------------------------------------- public static IRtfDocument BuildDoc(IRtfGroup rtfDocument, params IRtfInterpreterListener[] listeners) { RtfInterpreterListenerDocumentBuilder docBuilder = new RtfInterpreterListenerDocumentBuilder(); IRtfInterpreterListener[] allListeners; if (listeners == null) { allListeners = new IRtfInterpreterListener[] { docBuilder }; } else { allListeners = new IRtfInterpreterListener[listeners.Length + 1]; allListeners[0] = docBuilder; listeners.CopyTo(allListeners, 1); } Interpret(rtfDocument, allListeners); return(docBuilder.Document); } // BuildDoc
} // AddInterpreterListener // ---------------------------------------------------------------------- public void RemoveInterpreterListener( IRtfInterpreterListener listener ) { if ( listener == null ) { throw new ArgumentNullException( "listener" ); } if ( this.listeners != null ) { if ( this.listeners.Contains( listener ) ) { this.listeners.Remove( listener ); } if ( this.listeners.Count == 0 ) { this.listeners = null; } } } // RemoveInterpreterListener