66import 'vs/css!./tree' ;
77import { IDisposable , dispose } from 'vs/base/common/lifecycle' ;
88import { IListOptions , List , IIdentityProvider , IMultipleSelectionController } from 'vs/base/browser/ui/list/listWidget' ;
9- import { TreeModel , ITreeNode , ITreeElement , getNodeLocation } from 'vs/base/browser/ui/tree/treeModel' ;
9+ import { TreeModel , ITreeNode , ITreeElement , getNodeLocation , ISequence } from 'vs/base/browser/ui/tree/treeModel' ;
1010import { IIterator , empty } from 'vs/base/common/iterator' ;
11- import { IDelegate , IRenderer , IListMouseEvent } from 'vs/base/browser/ui/list/list' ;
11+ import { IVirtualDelegate , IRenderer , IListMouseEvent } from 'vs/base/browser/ui/list/list' ;
1212import { append , $ } from 'vs/base/browser/dom' ;
1313import { Event , Relay , chain } from 'vs/base/common/event' ;
1414import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent' ;
@@ -45,9 +45,9 @@ function toTreeListOptions<T>(options?: IListOptions<T>): IListOptions<ITreeNode
4545 } ;
4646}
4747
48- class TreeDelegate < T > implements IDelegate < ITreeNode < T > > {
48+ class TreeDelegate < T > implements IVirtualDelegate < ITreeNode < T > > {
4949
50- constructor ( private delegate : IDelegate < T > ) { }
50+ constructor ( private delegate : IVirtualDelegate < T > ) { }
5151
5252 getHeight ( element : ITreeNode < T > ) : number {
5353 return this . delegate . getHeight ( element . element ) ;
@@ -131,6 +131,8 @@ function isInputElement(e: HTMLElement): boolean {
131131 return e . tagName === 'INPUT' || e . tagName === 'TEXTAREA' ;
132132}
133133
134+ export interface ITreeOptions < T > extends IListOptions < T > { }
135+
134136export class Tree < T > implements IDisposable {
135137
136138 private view : List < ITreeNode < T > > ;
@@ -139,9 +141,9 @@ export class Tree<T> implements IDisposable {
139141
140142 constructor (
141143 container : HTMLElement ,
142- delegate : IDelegate < T > ,
144+ delegate : IVirtualDelegate < T > ,
143145 renderers : IRenderer < T , any > [ ] ,
144- options ?: IListOptions < T >
146+ options ?: ITreeOptions < T >
145147 ) {
146148 const treeDelegate = new TreeDelegate ( delegate ) ;
147149
@@ -166,7 +168,7 @@ export class Tree<T> implements IDisposable {
166168 onKeyDown . filter ( e => e . keyCode === KeyCode . Space ) . on ( this . onSpace , this , this . disposables ) ;
167169 }
168170
169- splice ( location : number [ ] , deleteCount : number , toInsert : IIterator < ITreeElement < T > > = empty ( ) ) : IIterator < ITreeElement < T > > {
171+ splice ( location : number [ ] , deleteCount : number , toInsert : ISequence < ITreeElement < T > > = empty ( ) ) : IIterator < ITreeElement < T > > {
170172 return this . model . splice ( location , deleteCount , toInsert ) ;
171173 }
172174
0 commit comments