@@ -42,6 +42,7 @@ import { getLanguageDisplayName } from "../common/query-language";
4242import { AutoModeler } from "./auto-modeler" ;
4343import { telemetryListener } from "../common/vscode/telemetry" ;
4444import { ModelingStore } from "./modeling-store" ;
45+ import { ModelEditorViewTracker } from "./model-editor-view-tracker" ;
4546
4647export class ModelEditorView extends AbstractWebview <
4748 ToModelEditorMessage ,
@@ -52,6 +53,7 @@ export class ModelEditorView extends AbstractWebview<
5253 public constructor (
5354 protected readonly app : App ,
5455 private readonly modelingStore : ModelingStore ,
56+ private readonly viewTracker : ModelEditorViewTracker < ModelEditorView > ,
5557 private readonly databaseManager : DatabaseManager ,
5658 private readonly cliServer : CodeQLCliServer ,
5759 private readonly queryRunner : QueryRunner ,
@@ -66,6 +68,8 @@ export class ModelEditorView extends AbstractWebview<
6668 this . modelingStore . initializeStateForDb ( databaseItem ) ;
6769 this . registerToModelingStoreEvents ( ) ;
6870
71+ this . viewTracker . registerView ( this ) ;
72+
6973 this . autoModeler = new AutoModeler (
7074 app ,
7175 cliServer ,
@@ -181,7 +185,7 @@ export class ModelEditorView extends AbstractWebview<
181185 }
182186
183187 protected onPanelDispose ( ) : void {
184- // Nothing to do here
188+ this . viewTracker . unregisterView ( this ) ;
185189 }
186190
187191 protected async onMessage ( msg : FromModelEditorMessage ) : Promise < void > {
@@ -338,6 +342,19 @@ export class ModelEditorView extends AbstractWebview<
338342 ] ) ;
339343 }
340344
345+ public get databaseUri ( ) : string {
346+ return this . databaseItem . databaseUri . toString ( ) ;
347+ }
348+
349+ public async revealMethod ( method : Method ) : Promise < void > {
350+ this . panel ?. reveal ( ) ;
351+
352+ await this . postMessage ( {
353+ t : "revealMethod" ,
354+ method,
355+ } ) ;
356+ }
357+
341358 private async setViewState ( ) : Promise < void > {
342359 const showLlmButton =
343360 this . databaseItem . language === "java" && showLlmGeneration ( ) ;
@@ -497,6 +514,7 @@ export class ModelEditorView extends AbstractWebview<
497514 const view = new ModelEditorView (
498515 this . app ,
499516 this . modelingStore ,
517+ this . viewTracker ,
500518 this . databaseManager ,
501519 this . cliServer ,
502520 this . queryRunner ,
0 commit comments