function ProjectionTextModel(baseModel) {
		this._model = baseModel;
		this._projections = [];
		var self = this;
		this._listener = {
			onChanged: function(e) {
				self._onChanged(e);
			},
			onChanging: function(e) {
				self._onChanging(e);
			}
		};
		baseModel.addEventListener("postChanged", this._listener.onChanged); //$NON-NLS-0$
		baseModel.addEventListener("preChanging", this._listener.onChanging); //$NON-NLS-0$
	}
/**
	 * Constructs a new <code>ProjectionTextModel</code> based on the specified <code>TextModel</code>.
	 *
	 * @param {orion.editor.TextModel} baseModel The base text model.
	 *
	 * @name orion.editor.ProjectionTextModel
	 * @class The <code>ProjectionTextModel</code> represents a projection of its base text
	 * model. Projection ranges can be added to the projection text model to hide and/or insert
	 * ranges to the base text model.
	 * <p>
	 * The contents of the projection text model is modified when changes occur in the base model,
	 * projection model or by calls to {@link #addProjection} and {@link #removeProjection}.
	 * </p>
	 * <p>
	 * <b>See:</b><br/>
	 * {@link orion.editor.TextView}<br/>
	 * {@link orion.editor.TextModel}
	 * {@link orion.editor.TextView#setModel}
	 * </p>
	 * @borrows orion.editor.EventTarget#addEventListener as #addEventListener
	 * @borrows orion.editor.EventTarget#removeEventListener as #removeEventListener
	 * @borrows orion.editor.EventTarget#dispatchEvent as #dispatchEvent
	 */
Constructs a new ProjectionTextModel based on the specified TextModel.
@param {orion.editor.TextModel} baseModel The base text model.

@name orion.editor.ProjectionTextModel
@class The ProjectionTextModel represents a projection of its base text
model. Projection ranges can be added to the projection text model to hide and/or insert
ranges to the base text model.

The contents of the projection text model is modified when changes occur in the base model,
projection model or by calls to  #addProjection and  #removeProjection.
Constructs a new ProjectionTextModel based on the specified TextModel . @param { orion . editor . TextModel } baseModel The base text model . @name orion . editor . ProjectionTextModel @class The ProjectionTextModel represents a projection of its base text model . Projection ranges can be added to the projection text model to hide and / or insert ranges to the base text model . The contents of the projection text model is modified when changes occur in the base model projection model or by calls to #addProjection and #removeProjection .
function ProjectionTextModel(baseModel) {
		this._model = baseModel;
		this._projections = [];
		var self = this;
		this._listener = {
			onChanged: function(e) {
				self._onChanged(e);
			},
			onChanging: function(e) {
				self._onChanging(e);
			}
		};
		baseModel.addEventListener("postChanged", this._listener.onChanged); 
		baseModel.addEventListener("preChanging", this._listener.onChanging); 
	}
function ProjectionTextModel ( baseModel ) { this . _model = baseModel ; this . _projections = [ ] ; var self = this ; this . _listener = { onChanged : function ( e ) { self . _onChanged ( e ) ; } , onChanging : function ( e ) { self . _onChanging ( e ) ; } } ; baseModel . addEventListener ( "postChanged" , this . _listener . onChanged ) ; baseModel . addEventListener ( "preChanging" , this . _listener . onChanging ) ; }
Constructs a new <code>ProjectionTextModel</code> based on the specified <code>TextModel</code>.
Constructs a new <code > ProjectionTextModel< / code > based on the specified <code > TextModel< / code > .
//$NON-NLS-0$ //$NON-NLS-0$