當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript LayoutProvider.getScrollable方法代碼示例

本文整理匯總了TypeScript中vs/editor/common/viewLayout/viewLayout.LayoutProvider.getScrollable方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript LayoutProvider.getScrollable方法的具體用法?TypeScript LayoutProvider.getScrollable怎麽用?TypeScript LayoutProvider.getScrollable使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在vs/editor/common/viewLayout/viewLayout.LayoutProvider的用法示例。


在下文中一共展示了LayoutProvider.getScrollable方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: createViewParts

	private createViewParts(): void {
		// These two dom nodes must be constructed up front, since references are needed in the layout provider (scrolling & co.)
		this.linesContent = createFastDomNode(document.createElement('div'));
		this.linesContent.setClassName(editorBrowser.ClassNames.LINES_CONTENT + ' monaco-editor-background');
		this.linesContent.setPosition('absolute');

		this.domNode = createFastDomNode(document.createElement('div'));
		this.domNode.setClassName(this._context.configuration.editor.viewInfo.editorClassName);

		this.overflowGuardContainer = createFastDomNode(document.createElement('div'));
		PartFingerprints.write(this.overflowGuardContainer.domNode, PartFingerprint.OverflowGuard);
		this.overflowGuardContainer.setClassName(editorBrowser.ClassNames.OVERFLOW_GUARD);

		this.viewParts = [];

		this._scrollbar = new EditorScrollbar(this._context, this.layoutProvider.getScrollable(), this.linesContent, this.domNode, this.overflowGuardContainer);
		this.viewParts.push(this._scrollbar);

		// View Lines
		this.viewLines = new ViewLines(this._context, this.linesContent, this.layoutProvider);

		// View Zones
		this.viewZones = new ViewZones(this._context, this.layoutProvider);
		this.viewParts.push(this.viewZones);

		// Decorations overview ruler
		let decorationsOverviewRuler = new DecorationsOverviewRuler(
			this._context, this.layoutProvider.getScrollHeight(),
			(lineNumber: number) => this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber)
		);
		this.viewParts.push(decorationsOverviewRuler);


		let scrollDecoration = new ScrollDecorationViewPart(this._context);
		this.viewParts.push(scrollDecoration);

		let contentViewOverlays = new ContentViewOverlays(this._context);
		this.viewParts.push(contentViewOverlays);
		contentViewOverlays.addDynamicOverlay(new CurrentLineHighlightOverlay(this._context));
		contentViewOverlays.addDynamicOverlay(new SelectionsOverlay(this._context));
		contentViewOverlays.addDynamicOverlay(new DecorationsOverlay(this._context));
		contentViewOverlays.addDynamicOverlay(new IndentGuidesOverlay(this._context));

		let marginViewOverlays = new MarginViewOverlays(this._context);
		this.viewParts.push(marginViewOverlays);
		marginViewOverlays.addDynamicOverlay(new CurrentLineMarginHighlightOverlay(this._context));
		marginViewOverlays.addDynamicOverlay(new GlyphMarginOverlay(this._context));
		marginViewOverlays.addDynamicOverlay(new MarginViewLineDecorationsOverlay(this._context));
		marginViewOverlays.addDynamicOverlay(new LinesDecorationsOverlay(this._context));
		marginViewOverlays.addDynamicOverlay(new LineNumbersOverlay(this._context));

		let margin = new Margin(this._context);
		margin.getDomNode().appendChild(this.viewZones.marginDomNode.domNode);
		margin.getDomNode().appendChild(marginViewOverlays.getDomNode());
		this.viewParts.push(margin);

		// Content widgets
		this.contentWidgets = new ViewContentWidgets(this._context, this.domNode);
		this.viewParts.push(this.contentWidgets);

		this.viewCursors = new ViewCursors(this._context);
		this.viewParts.push(this.viewCursors);

		// Overlay widgets
		this.overlayWidgets = new ViewOverlayWidgets(this._context);
		this.viewParts.push(this.overlayWidgets);

		let rulers = new Rulers(this._context);
		this.viewParts.push(rulers);

		let minimap = new Minimap(this._context, this.layoutProvider, this._scrollbar);
		this.viewParts.push(minimap);

		// -------------- Wire dom nodes up

		if (decorationsOverviewRuler) {
			let overviewRulerData = this._scrollbar.getOverviewRulerLayoutInfo();
			overviewRulerData.parent.insertBefore(decorationsOverviewRuler.getDomNode(), overviewRulerData.insertBefore);
		}

		this.linesContent.domNode.appendChild(contentViewOverlays.getDomNode());
		this.linesContent.domNode.appendChild(rulers.domNode);
		this.linesContent.domNode.appendChild(this.viewZones.domNode.domNode);
		this.linesContent.domNode.appendChild(this.viewLines.getDomNode());
		this.linesContent.domNode.appendChild(this.contentWidgets.domNode);
		this.linesContent.domNode.appendChild(this.viewCursors.getDomNode());
		this.overflowGuardContainer.domNode.appendChild(margin.getDomNode());
		this.overflowGuardContainer.domNode.appendChild(this._scrollbar.getDomNode());
		this.overflowGuardContainer.domNode.appendChild(scrollDecoration.getDomNode());
		this.overflowGuardContainer.domNode.appendChild(this.overlayWidgets.getDomNode());
		this.overflowGuardContainer.domNode.appendChild(this.textArea.domNode);
		this.overflowGuardContainer.domNode.appendChild(this.textAreaCover.domNode);
		this.overflowGuardContainer.domNode.appendChild(minimap.getDomNode());
		this.domNode.domNode.appendChild(this.overflowGuardContainer.domNode);
		this.domNode.domNode.appendChild(this.contentWidgets.overflowingContentWidgetsDomNode);
	}
開發者ID:m-khosravi,項目名稱:vscode,代碼行數:96,代碼來源:viewImpl.ts


注:本文中的vs/editor/common/viewLayout/viewLayout.LayoutProvider.getScrollable方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。