@@ -33,7 +33,7 @@ import { IContextKey, IContextKeyService, ContextKeyExpr } from 'vs/platform/con
3333import { isUndefinedOrNull , assertIsDefined } from 'vs/base/common/types' ;
3434import { registerSingleton } from 'vs/platform/instantiation/common/extensions' ;
3535import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions' ;
36- import { ViewContainer , IViewContainersRegistry , Extensions as ViewContainerExtensions , IViewDescriptorService , IViewDescriptorCollection , ViewContainerLocation } from 'vs/workbench/common/views' ;
36+ import { ViewContainer , IViewContainersRegistry , Extensions as ViewContainerExtensions , IViewDescriptorService , IViewContainerModel , ViewContainerLocation } from 'vs/workbench/common/views' ;
3737import { MenuId } from 'vs/platform/actions/common/actions' ;
3838import { ViewMenuActions } from 'vs/workbench/browser/parts/views/viewMenuActions' ;
3939import { IPaneComposite } from 'vs/workbench/common/panecomposite' ;
@@ -178,9 +178,9 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
178178 const result : IAction [ ] = [ ] ;
179179 const container = this . getViewContainer ( compositeId ) ;
180180 if ( container ) {
181- const viewDescriptors = this . viewDescriptorService . getViewDescriptors ( container ) ;
182- if ( viewDescriptors . allViewDescriptors . length === 1 ) {
183- const viewMenuActions = this . instantiationService . createInstance ( ViewMenuActions , viewDescriptors . allViewDescriptors [ 0 ] . id , MenuId . ViewTitle , MenuId . ViewTitleContext ) ;
181+ const viewContainerModel = this . viewDescriptorService . getViewContainerModel ( container ) ;
182+ if ( viewContainerModel . allViewDescriptors . length === 1 ) {
183+ const viewMenuActions = this . instantiationService . createInstance ( ViewMenuActions , viewContainerModel . allViewDescriptors [ 0 ] . id , MenuId . ViewTitle , MenuId . ViewTitleContext ) ;
184184 result . push ( ...viewMenuActions . getContextMenuActions ( ) ) ;
185185 viewMenuActions . dispose ( ) ;
186186 }
@@ -211,13 +211,13 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
211211 for ( const panel of panels ) {
212212 this . enableCompositeActions ( panel ) ;
213213 const viewContainer = this . getViewContainer ( panel . id ) ! ;
214- const viewDescriptors = this . viewDescriptorService . getViewDescriptors ( viewContainer ) ;
215- this . onDidChangeActiveViews ( panel , viewDescriptors , viewContainer . hideIfEmpty ) ;
214+ const viewContainerModel = this . viewDescriptorService . getViewContainerModel ( viewContainer ) ;
215+ this . onDidChangeActiveViews ( panel , viewContainerModel , viewContainer . hideIfEmpty ) ;
216216
217217 const disposables = new DisposableStore ( ) ;
218- disposables . add ( viewDescriptors . onDidChangeActiveViews ( ( ) => this . onDidChangeActiveViews ( panel , viewDescriptors , viewContainer . hideIfEmpty ) ) ) ;
219- disposables . add ( viewDescriptors . onDidChangeViews ( ( ) => this . onDidUpdateViews ( panel , viewDescriptors ) ) ) ;
220- disposables . add ( viewDescriptors . onDidMove ( ( ) => this . onDidUpdateViews ( panel , viewDescriptors ) ) ) ;
218+ disposables . add ( viewContainerModel . onDidChangeActiveViewDescriptors ( ( ) => this . onDidChangeActiveViews ( panel , viewContainerModel , viewContainer . hideIfEmpty ) ) ) ;
219+ disposables . add ( viewContainerModel . onDidChangeAllViewDescriptors ( ( ) => this . onDidUpdateViews ( panel , viewContainerModel ) ) ) ;
220+ disposables . add ( viewContainerModel . onDidMoveVisibleViewDescriptors ( ( ) => this . onDidUpdateViews ( panel , viewContainerModel ) ) ) ;
221221
222222 this . panelDisposables . set ( panel . id , disposables ) ;
223223 }
@@ -242,10 +242,10 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
242242 }
243243 }
244244
245- private updateActivity ( panel : PanelDescriptor , viewDescriptors : IViewDescriptorCollection ) : void {
245+ private updateActivity ( panel : PanelDescriptor , viewContainerModel : IViewContainerModel ) : void {
246246 const activity : IActivity = {
247247 id : panel . id ,
248- name : viewDescriptors . getTitle ( ) ,
248+ name : viewContainerModel . title ,
249249 keybindingId : panel . keybindingId
250250 } ;
251251
@@ -257,11 +257,11 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
257257 }
258258 }
259259
260- private onDidUpdateViews ( panel : PanelDescriptor , viewDescriptors : IViewDescriptorCollection ) : void {
260+ private onDidUpdateViews ( panel : PanelDescriptor , viewDescriptors : IViewContainerModel ) : void {
261261 this . updateActivity ( panel , viewDescriptors ) ;
262262 }
263263
264- private onDidChangeActiveViews ( panel : PanelDescriptor , viewDescriptors : IViewDescriptorCollection , hideIfEmpty ?: boolean ) : void {
264+ private onDidChangeActiveViews ( panel : PanelDescriptor , viewDescriptors : IViewContainerModel , hideIfEmpty ?: boolean ) : void {
265265 if ( viewDescriptors . activeViewDescriptors . length ) {
266266 this . updateActivity ( panel , viewDescriptors ) ;
267267 this . compositeBar . addComposite ( panel ) ;
@@ -343,8 +343,8 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
343343 if ( panelDescriptor ) {
344344 const viewContainer = this . getViewContainer ( panelDescriptor . id ) ;
345345 if ( viewContainer ?. hideIfEmpty ) {
346- const viewDescriptors = this . viewDescriptorService . getViewDescriptors ( viewContainer ) ;
347- if ( viewDescriptors . activeViewDescriptors . length === 0 && this . compositeBar . getPinnedComposites ( ) . length > 1 ) {
346+ const viewContainerModel = this . viewDescriptorService . getViewContainerModel ( viewContainer ) ;
347+ if ( viewContainerModel . activeViewDescriptors . length === 0 && this . compositeBar . getPinnedComposites ( ) . length > 1 ) {
348348 this . hideComposite ( panelDescriptor . id ) ; // Update the composite bar by hiding
349349 }
350350 }
@@ -610,10 +610,11 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
610610
611611 const compositeItems = this . compositeBar . getCompositeBarItems ( ) ;
612612 for ( const compositeItem of compositeItems ) {
613- const viewContainer = this . getViewContainer ( compositeItem . id ) ! ;
614- const viewDescriptors = this . viewDescriptorService . getViewDescriptors ( viewContainer ) ;
615-
616- state . push ( { id : compositeItem . id , name : viewDescriptors . getTitle ( ) , pinned : compositeItem . pinned , order : compositeItem . order , visible : compositeItem . visible } ) ;
613+ const viewContainer = this . getViewContainer ( compositeItem . id ) ;
614+ if ( viewContainer ) {
615+ const viewContainerModel = this . viewDescriptorService . getViewContainerModel ( viewContainer ) ;
616+ state . push ( { id : compositeItem . id , name : viewContainerModel . title , pinned : compositeItem . pinned , order : compositeItem . order , visible : compositeItem . visible } ) ;
617+ }
617618 }
618619
619620 this . cachedPanelsValue = JSON . stringify ( state ) ;
0 commit comments