本文整理汇总了TypeScript中vs/editor/browser/viewLayout/layoutProvider.LayoutProvider类的典型用法代码示例。如果您正苦于以下问题:TypeScript LayoutProvider类的具体用法?TypeScript LayoutProvider怎么用?TypeScript LayoutProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了LayoutProvider类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: dispose
public dispose(): void {
this._isDisposed = true;
if (this.handleAccumulatedModelEventsTimeout !== -1) {
clearTimeout(this.handleAccumulatedModelEventsTimeout);
this.handleAccumulatedModelEventsTimeout = -1;
}
if (this._renderAnimationFrame !== null) {
this._renderAnimationFrame.dispose();
this._renderAnimationFrame = null;
}
this.accumulatedModelEvents = [];
this.eventDispatcher.removeEventHandler(this);
this.outgoingEvents.dispose();
this.listenersToRemove = dispose(this.listenersToRemove);
this.listenersToDispose = dispose(this.listenersToDispose);
this.keyboardHandler.dispose();
this.pointerHandler.dispose();
this.viewLines.dispose();
// Destroy view parts
for (let i = 0, len = this.viewParts.length; i < len; i++) {
this.viewParts[i].dispose();
}
this.viewParts = [];
this.layoutProvider.dispose();
}
开发者ID:yuit,项目名称:vscode,代码行数:30,代码来源:viewImpl.ts
示例2:
this._renderOnce(() => {
// Handle events to avoid "adjusting" newly inserted view zones
this._flushAnyAccumulatedEvents();
let changeAccessor: editorBrowser.IViewZoneChangeAccessor = {
addZone: (zone: editorBrowser.IViewZone): number => {
zonesHaveChanged = true;
return this.viewZones.addZone(zone);
},
removeZone: (id: number): void => {
if (!id) {
return;
}
zonesHaveChanged = this.viewZones.removeZone(id) || zonesHaveChanged;
},
layoutZone: (id: number): void => {
if (!id) {
return;
}
zonesHaveChanged = this.viewZones.layoutZone(id) || zonesHaveChanged;
}
};
safeInvoke1Arg(callback, changeAccessor);
// Invalidate changeAccessor
changeAccessor.addZone = null;
changeAccessor.removeZone = null;
if (zonesHaveChanged) {
this.layoutProvider.onHeightMaybeChanged();
this._context.privateViewEventBus.emit(new viewEvents.ViewZonesChangedEvent());
}
});
开发者ID:yuit,项目名称:vscode,代码行数:33,代码来源:viewImpl.ts
示例3: restoreState
public restoreState(state: editorCommon.IViewState): void {
if (this._isDisposed) {
throw new Error('ViewImpl.restoreState: View is disposed');
}
this._flushAnyAccumulatedEvents();
return this.layoutProvider.restoreState(state);
}
开发者ID:yuit,项目名称:vscode,代码行数:7,代码来源:viewImpl.ts
示例4: createOverviewRuler
public createOverviewRuler(cssClassName: string, minimumHeight: number, maximumHeight: number): OverviewRuler {
if (this._isDisposed) {
throw new Error('ViewImpl.createOverviewRuler: View is disposed');
}
return new OverviewRuler(
this._context, cssClassName, this.layoutProvider.getScrollHeight(), minimumHeight, maximumHeight,
(lineNumber: number) => this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber)
);
}
开发者ID:yuit,项目名称:vscode,代码行数:9,代码来源:viewImpl.ts
示例5: Error
getVerticalOffsetForPosition: (modelLineNumber: number, modelColumn: number) => {
if (this._isDisposed) {
throw new Error('ViewImpl.codeEditorHelper.getVerticalOffsetForPosition: View is disposed');
}
let modelPosition = this._context.model.validateModelPosition({
lineNumber: modelLineNumber,
column: modelColumn
});
let viewPosition = this._context.model.coordinatesConverter.convertModelPositionToViewPosition(modelPosition);
return this.layoutProvider.getVerticalOffsetForLineNumber(viewPosition.lineNumber);
},
开发者ID:yuit,项目名称:vscode,代码行数:11,代码来源:viewImpl.ts
示例6: onConfigurationChanged
public onConfigurationChanged(e: viewEvents.ViewConfigurationChangedEvent): boolean {
if (e.viewInfo.editorClassName) {
this.domNode.setClassName(this._context.configuration.editor.viewInfo.editorClassName);
}
if (e.viewInfo.ariaLabel) {
this.textArea.setAttribute('aria-label', this._context.configuration.editor.viewInfo.ariaLabel);
}
if (e.layoutInfo) {
this._setLayout();
}
this.layoutProvider.onConfigurationChanged(e);
return false;
}
开发者ID:yuit,项目名称:vscode,代码行数:13,代码来源:viewImpl.ts
示例7: getCompletelyVisibleLinesRangeInViewport
public getCompletelyVisibleLinesRangeInViewport(): Range {
if (this._isDisposed) {
throw new Error('ViewImpl.getCompletelyVisibleLinesRangeInViewport: View is disposed');
}
let partialData = this.layoutProvider.getLinesViewportData();
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._context.configuration.editor.lineHeight <= partialData.viewportTop + partialData.viewportHeight ? partialData.endLineNumber : partialData.endLineNumber - 1;
let completelyVisibleLinesRange = new Range(
startLineNumber,
1,
endLineNumber,
this._context.model.getLineMaxColumn(endLineNumber)
);
return this._context.model.coordinatesConverter.convertViewRangeToModelRange(completelyVisibleLinesRange);
}
开发者ID:yuit,项目名称:vscode,代码行数:17,代码来源:viewImpl.ts
示例8: _actualRender
private _actualRender(): void {
if (!dom.isInDOM(this.domNode.domNode)) {
return;
}
let viewPartsToRender = this._getViewPartsToRender();
if (!this.viewLines.shouldRender() && viewPartsToRender.length === 0) {
// Nothing to render
this.keyboardHandler.writeToTextArea();
return;
}
let partialViewportData = this.layoutProvider.getLinesViewportData();
this._context.model.setViewport(partialViewportData.startLineNumber, partialViewportData.endLineNumber, partialViewportData.centeredLineNumber);
let viewportData = new ViewportData(partialViewportData, this._context.model);
if (this.viewLines.shouldRender()) {
this.viewLines.renderText(viewportData, () => {
this.keyboardHandler.writeToTextArea();
});
this.viewLines.onDidRender();
// Rendering of viewLines might cause scroll events to occur, so collect view parts to render again
viewPartsToRender = this._getViewPartsToRender();
} else {
this.keyboardHandler.writeToTextArea();
}
let renderingContext = new RenderingContext(this.viewLines, this.layoutProvider, viewportData);
// Render the rest of the parts
for (let i = 0, len = viewPartsToRender.length; i < len; i++) {
let viewPart = viewPartsToRender[i];
viewPart.prepareRender(renderingContext);
}
for (let i = 0, len = viewPartsToRender.length; i < len; i++) {
let viewPart = viewPartsToRender[i];
viewPart.render(renderingContext);
viewPart.onDidRender();
}
}
开发者ID:yuit,项目名称:vscode,代码行数:44,代码来源:viewImpl.ts
示例9: saveState
public saveState(): editorCommon.IViewState {
if (this._isDisposed) {
throw new Error('ViewImpl.saveState: View is disposed');
}
return this.layoutProvider.saveState();
}
开发者ID:yuit,项目名称:vscode,代码行数:6,代码来源:viewImpl.ts
注:本文中的vs/editor/browser/viewLayout/layoutProvider.LayoutProvider类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论