本文整理匯總了TypeScript中vs/editor/common/viewLayout/viewLayout.ViewLayout類的典型用法代碼示例。如果您正苦於以下問題:TypeScript ViewLayout類的具體用法?TypeScript ViewLayout怎麽用?TypeScript ViewLayout使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了ViewLayout類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1:
this._renderOnce(() => {
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());
}
});
示例2: onConfigurationChanged
public onConfigurationChanged(e: viewEvents.ViewConfigurationChangedEvent): boolean {
if (e.viewInfo.editorClassName) {
this.domNode.setClassName(this._context.configuration.editor.viewInfo.editorClassName);
}
if (e.layoutInfo) {
this._setLayout();
}
this.layoutProvider.onConfigurationChanged(e);
return false;
}
示例3: getCompletelyVisibleViewRangeAtScrollTop
public getCompletelyVisibleViewRangeAtScrollTop(scrollTop: number): Range {
const partialData = this.layoutProvider.getLinesViewportDataAtScrollTop(scrollTop);
const startViewLineNumber = partialData.completelyVisibleStartLineNumber;
const endViewLineNumber = partialData.completelyVisibleEndLineNumber;
return new Range(
startViewLineNumber, this._context.model.getLineMinColumn(startViewLineNumber),
endViewLineNumber, this._context.model.getLineMaxColumn(endViewLineNumber)
);
}
示例4: _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._textAreaHandler.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._textAreaHandler.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._textAreaHandler.writeToTextArea();
}
let renderingContext = new RenderingContext(this.layoutProvider, viewportData, this.viewLines);
// 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();
}
}
示例5: dispose
public dispose(): void {
this._isDisposed = true;
if (this._renderAnimationFrame !== null) {
this._renderAnimationFrame.dispose();
this._renderAnimationFrame = null;
}
this.eventDispatcher.removeEventHandler(this);
this.outgoingEvents.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();
super.dispose();
}
示例6: onFlushed
public onFlushed(e: viewEvents.ViewFlushedEvent): boolean {
this.layoutProvider.onFlushed(this._context.model.getLineCount());
return false;
}
示例7: setScrollPosition
public setScrollPosition(scrollPosition: editorCommon.INewScrollPosition): void {
this.layoutProvider.setScrollPosition(scrollPosition);
}
示例8: getVerticalOffsetForViewLineNumber
public getVerticalOffsetForViewLineNumber(viewLineNumber: number): number {
return this.layoutProvider.getVerticalOffsetForLineNumber(viewLineNumber);
}
示例9: getScrollHeight
public getScrollHeight(): number {
return this.layoutProvider.getScrollHeight();
}
示例10: getScrollTop
public getScrollTop(): number {
return this.layoutProvider.getScrollTop();
}