本文整理匯總了TypeScript中vs/editor/common/viewModel/viewModel.IViewModel類的典型用法代碼示例。如果您正苦於以下問題:TypeScript IViewModel類的具體用法?TypeScript IViewModel怎麽用?TypeScript IViewModel使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了IViewModel類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: constructor
constructor(
commandService: ICommandService,
configuration: Configuration,
model: IViewModel,
private triggerCursorHandler: TriggerCursorHandler
) {
super();
this._isDisposed = false;
this._renderAnimationFrame = null;
this.outgoingEvents = new ViewOutgoingEvents(model);
let viewController = new ViewController(model, triggerCursorHandler, this.outgoingEvents, commandService);
this.listenersToRemove = [];
this.listenersToDispose = [];
// The event dispatcher will always go through _renderOnce before dispatching any events
this.eventDispatcher = new ViewEventDispatcher((callback: () => void) => this._renderOnce(callback));
// Ensure the view is the first event handler in order to update the layout
this.eventDispatcher.addEventHandler(this);
// The layout provider has such responsibilities as:
// - scrolling (i.e. viewport / full size) & co.
// - whitespaces (a.k.a. view zones) management & co.
// - line heights updating & co.
this.layoutProvider = new LayoutProvider(configuration, model.getLineCount(), this.eventDispatcher);
// The view context is passed on to most classes (basically to reduce param. counts in ctors)
this._context = new ViewContext(configuration, model, this.eventDispatcher);
this.createTextArea();
this.createViewParts();
this._setLayout();
// Keyboard handler
this.keyboardHandler = new KeyboardHandler(this._context, viewController, this.createKeyboardHandlerHelper());
// Pointer handler
this.pointerHandler = new PointerHandler(this._context, viewController, this.createPointerHandlerHelper());
this.hasFocus = false;
this.codeEditorHelper = null;
// The view lines rendering calls model.getLineTokens() that might emit events that its tokens have changed.
// This delayed processing of incoming model events acts as a guard against undesired/unexpected recursion.
this.handleAccumulatedModelEventsTimeout = -1;
this.accumulatedModelEvents = [];
this.listenersToRemove.push(model.addEventListener((events: viewEvents.ViewEvent[]) => {
this.accumulatedModelEvents = this.accumulatedModelEvents.concat(events);
if (this.handleAccumulatedModelEventsTimeout === -1) {
this.handleAccumulatedModelEventsTimeout = setTimeout(() => {
this.handleAccumulatedModelEventsTimeout = -1;
this._flushAnyAccumulatedEvents();
});
}
}));
}
示例2: constructor
constructor(configuration: editorCommon.IConfiguration, model:IViewModel) {
this.configuration = configuration;
this._lineHeight = this.configuration.editor.lineHeight;
this._scrollBeyondLastLine = this.configuration.editor.viewInfo.scrollBeyondLastLine;
this.model = model;
this.verticalObjects = new VerticalObjects();
this.verticalObjects.replaceLines(model.getLineCount());
}
示例3: constructor
constructor(
partialData: IPartialViewLinesViewportData,
model: IViewModel
) {
this.startLineNumber = partialData.startLineNumber | 0;
this.endLineNumber = partialData.endLineNumber | 0;
this.relativeVerticalOffset = partialData.relativeVerticalOffset;
this.bigNumbersDelta = partialData.bigNumbersDelta | 0;
this._model = model;
this.visibleRange = new Range(
partialData.startLineNumber,
this._model.getLineMinColumn(partialData.startLineNumber),
partialData.endLineNumber,
this._model.getLineMaxColumn(partialData.endLineNumber)
);
}
示例4: constructor
constructor(
commandService: ICommandService,
configuration: Configuration,
model: IViewModel,
execCoreEditorCommandFunc: ExecCoreEditorCommandFunc
) {
super();
this._isDisposed = false;
this._renderAnimationFrame = null;
this.outgoingEvents = new ViewOutgoingEvents(model);
let viewController = new ViewController(model, execCoreEditorCommandFunc, this.outgoingEvents, commandService);
// The event dispatcher will always go through _renderOnce before dispatching any events
this.eventDispatcher = new ViewEventDispatcher((callback: () => void) => this._renderOnce(callback));
// Ensure the view is the first event handler in order to update the layout
this.eventDispatcher.addEventHandler(this);
// The layout provider has such responsibilities as:
// - scrolling (i.e. viewport / full size) & co.
// - whitespaces (a.k.a. view zones) management & co.
// - line heights updating & co.
this.layoutProvider = new ViewLayout(configuration, model.getLineCount(), this.eventDispatcher);
// The view context is passed on to most classes (basically to reduce param. counts in ctors)
this._context = new ViewContext(configuration, model, this.eventDispatcher);
this.viewParts = [];
// Keyboard handler
this._textAreaHandler = new TextAreaHandler(this._context, viewController, this.createTextAreaHandlerHelper());
this.viewParts.push(this._textAreaHandler);
this.createViewParts();
this._setLayout();
// Pointer handler
this.pointerHandler = new PointerHandler(this._context, viewController, this.createPointerHandlerHelper());
this._register(model.addEventListener((events: viewEvents.ViewEvent[]) => {
this.eventDispatcher.emitMany(events);
}));
}
示例5: constructor
constructor(
selections: Selection[],
partialData: IPartialViewLinesViewportData,
whitespaceViewportData: IViewWhitespaceViewportData[],
model: IViewModel
) {
this.selections = selections;
this.startLineNumber = partialData.startLineNumber | 0;
this.endLineNumber = partialData.endLineNumber | 0;
this.relativeVerticalOffset = partialData.relativeVerticalOffset;
this.bigNumbersDelta = partialData.bigNumbersDelta | 0;
this.whitespaceViewportData = whitespaceViewportData;
this._model = model;
this.visibleRange = new Range(
partialData.startLineNumber,
this._model.getLineMinColumn(partialData.startLineNumber),
partialData.endLineNumber,
this._model.getLineMaxColumn(partialData.endLineNumber)
);
}
示例6: constructor
constructor(
commandService: ICommandService,
configuration: Configuration,
themeService: IThemeService,
model: IViewModel,
cursor: Cursor,
execCoreEditorCommandFunc: ExecCoreEditorCommandFunc
) {
super();
this._isDisposed = false;
this._cursor = cursor;
this._renderAnimationFrame = null;
this.outgoingEvents = new ViewOutgoingEvents(model);
let viewController = new ViewController(configuration, model, execCoreEditorCommandFunc, this.outgoingEvents, commandService);
// The event dispatcher will always go through _renderOnce before dispatching any events
this.eventDispatcher = new ViewEventDispatcher((callback: () => void) => this._renderOnce(callback));
// Ensure the view is the first event handler in order to update the layout
this.eventDispatcher.addEventHandler(this);
// The view context is passed on to most classes (basically to reduce param. counts in ctors)
this._context = new ViewContext(configuration, themeService.getTheme(), model, this.eventDispatcher);
this._register(themeService.onThemeChange(theme => {
this._context.theme = theme;
this.eventDispatcher.emit(new viewEvents.ViewThemeChangedEvent());
this.render(true, false);
}));
this.viewParts = [];
// Keyboard handler
this._textAreaHandler = new TextAreaHandler(this._context, viewController, this.createTextAreaHandlerHelper());
this.viewParts.push(this._textAreaHandler);
this.createViewParts();
this._setLayout();
// Pointer handler
this.pointerHandler = new PointerHandler(this._context, viewController, this.createPointerHandlerHelper());
this._register(model.addEventListener((events: viewEvents.ViewEvent[]) => {
this.eventDispatcher.emitMany(events);
}));
this._register(this._cursor.addEventListener((events: viewEvents.ViewEvent[]) => {
this.eventDispatcher.emitMany(events);
}));
}
示例7: getLinesViewportData
/**
* Get all the lines and their relative vertical offsets that are positioned inside `viewport`.
*
* @param viewport The viewport.
* @return A structure describing the lines positioned between `verticalOffset1` and `verticalOffset2`.
*/
public getLinesViewportData(visibleBox:editorCommon.Viewport): ViewLinesViewportData {
let partialData = this.verticalObjects.getLinesViewportData(visibleBox.top, visibleBox.top + visibleBox.height, this._lineHeight);
let decorationsData = this.model.getDecorationsViewportData(partialData.startLineNumber, partialData.endLineNumber);
let visibleRange = new Range(
partialData.startLineNumber,
1,
partialData.endLineNumber,
this.model.getLineMaxColumn(partialData.endLineNumber)
);
return new ViewLinesViewportData(partialData, visibleRange, decorationsData);
}
示例8: _validateViewColumn
private _validateViewColumn(viewPosition:editorCommon.IEditorPosition): editorCommon.IEditorPosition {
var minColumn = this.viewModel.getLineMinColumn(viewPosition.lineNumber);
if (viewPosition.column < minColumn) {
return new Position(viewPosition.lineNumber, minColumn);
}
return viewPosition;
}
示例9: _validateViewColumn
private _validateViewColumn(viewPosition: Position): Position {
const minColumn = this.viewModel.getLineMinColumn(viewPosition.lineNumber);
if (viewPosition.column < minColumn) {
return new Position(viewPosition.lineNumber, minColumn);
}
return viewPosition;
}
示例10: getLinesViewportData
/**
* Get all the lines and their relative vertical offsets that are positioned inside `viewport`.
*
* @param viewport The viewport.
* @return A structure describing the lines positioned between `verticalOffset1` and `verticalOffset2`.
*/
public getLinesViewportData(visibleBox:editorCommon.Viewport): ViewLinesViewportData {
let partialData = this.verticalObjects.getLinesViewportData(visibleBox.top, visibleBox.top + visibleBox.height, this._lineHeight);
let decorationsData = this.model.getDecorationsViewportData(partialData.startLineNumber, partialData.endLineNumber);
let visibleRange = new Range(
partialData.startLineNumber,
1,
partialData.endLineNumber,
this.model.getLineMaxColumn(partialData.endLineNumber)
);
let startLineNumber = partialData.startLineNumber === partialData.endLineNumber || partialData.relativeVerticalOffset[0] >= partialData.viewportTop ? partialData.startLineNumber : partialData.startLineNumber + 1;
let endLineNumber = partialData.relativeVerticalOffset[partialData.relativeVerticalOffset.length - 1] + this._lineHeight <= partialData.viewportTop + partialData.viewportHeight ? partialData.endLineNumber : partialData.endLineNumber - 1;
let visibleRangeWithCompleteLines = new Range(
startLineNumber,
1,
endLineNumber,
this.model.getLineMaxColumn(endLineNumber)
);
return new ViewLinesViewportData(partialData, visibleRange, visibleRangeWithCompleteLines, decorationsData);
}