@jupyterlab/debugger 3.3.0-alpha.12 → 3.3.0-alpha.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/debugger.d.ts +1 -9
- package/lib/debugger.js +1 -10
- package/lib/debugger.js.map +1 -1
- package/lib/handler.d.ts +2 -32
- package/lib/handler.js +7 -10
- package/lib/handler.js.map +1 -1
- package/lib/handlers/editor.d.ts +4 -0
- package/lib/handlers/editor.js +6 -0
- package/lib/handlers/editor.js.map +1 -1
- package/lib/handlers/notebook.js +7 -1
- package/lib/handlers/notebook.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/model.d.ts +1 -8
- package/lib/model.js +0 -10
- package/lib/model.js.map +1 -1
- package/lib/panels/breakpoints/body.d.ts +1 -1
- package/lib/panels/breakpoints/body.js +1 -1
- package/lib/panels/breakpoints/body.js.map +1 -1
- package/lib/panels/breakpoints/header.d.ts +16 -0
- package/lib/panels/breakpoints/header.js +30 -0
- package/lib/panels/breakpoints/header.js.map +1 -0
- package/lib/panels/breakpoints/index.d.ts +1 -2
- package/lib/panels/breakpoints/index.js +16 -12
- package/lib/panels/breakpoints/index.js.map +1 -1
- package/lib/panels/callstack/body.d.ts +1 -1
- package/lib/panels/callstack/body.js +2 -2
- package/lib/panels/callstack/body.js.map +1 -1
- package/lib/panels/callstack/header.d.ts +16 -0
- package/lib/panels/callstack/header.js +30 -0
- package/lib/panels/callstack/header.js.map +1 -0
- package/lib/panels/callstack/index.d.ts +1 -2
- package/lib/panels/callstack/index.js +21 -23
- package/lib/panels/callstack/index.js.map +1 -1
- package/lib/panels/callstack/model.d.ts +3 -3
- package/lib/panels/callstack/model.js +1 -3
- package/lib/panels/callstack/model.js.map +1 -1
- package/lib/panels/sources/header.d.ts +19 -0
- package/lib/panels/sources/header.js +48 -0
- package/lib/panels/sources/header.js.map +1 -0
- package/lib/panels/sources/index.d.ts +2 -2
- package/lib/panels/sources/index.js +12 -15
- package/lib/panels/sources/index.js.map +1 -1
- package/lib/panels/sources/model.d.ts +2 -2
- package/lib/panels/variables/grid.d.ts +0 -9
- package/lib/panels/variables/grid.js +9 -83
- package/lib/panels/variables/grid.js.map +1 -1
- package/lib/panels/variables/header.d.ts +16 -0
- package/lib/panels/variables/header.js +30 -0
- package/lib/panels/variables/header.js.map +1 -0
- package/lib/panels/variables/index.d.ts +2 -10
- package/lib/panels/variables/index.js +18 -40
- package/lib/panels/variables/index.js.map +1 -1
- package/lib/panels/variables/scope.d.ts +1 -1
- package/lib/panels/variables/scope.js +2 -1
- package/lib/panels/variables/scope.js.map +1 -1
- package/lib/panels/variables/tree.d.ts +1 -18
- package/lib/panels/variables/tree.js +8 -43
- package/lib/panels/variables/tree.js.map +1 -1
- package/lib/service.d.ts +0 -14
- package/lib/service.js +13 -45
- package/lib/service.js.map +1 -1
- package/lib/sidebar.js +2 -5
- package/lib/sidebar.js.map +1 -1
- package/lib/tokens.d.ts +10 -101
- package/lib/tokens.js +0 -4
- package/lib/tokens.js.map +1 -1
- package/package.json +19 -19
- package/style/base.css +0 -1
- package/style/breakpoints.css +0 -2
- package/style/callstack.css +0 -2
- package/style/icons.css +3 -3
- package/style/sidebar.css +5 -16
- package/style/sources.css +1 -6
- package/style/variables.css +1 -35
- package/lib/panels/panelbody.d.ts +0 -27
- package/lib/panels/panelbody.js +0 -47
- package/lib/panels/panelbody.js.map +0 -1
- package/lib/panels/panelwithtoolbar.d.ts +0 -57
- package/lib/panels/panelwithtoolbar.js +0 -55
- package/lib/panels/panelwithtoolbar.js.map +0 -1
- package/lib/panels/sources/sourcepath.d.ts +0 -11
- package/lib/panels/sources/sourcepath.js +0 -17
- package/lib/panels/sources/sourcepath.js.map +0 -1
- package/lib/panels/variables/mimerenderer.d.ts +0 -31
- package/lib/panels/variables/mimerenderer.js +0 -44
- package/lib/panels/variables/mimerenderer.js.map +0 -1
- package/style/accordionpanel.css +0 -40
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import {
|
|
4
|
-
import { ReactWidget } from '@jupyterlab/ui-components';
|
|
3
|
+
import { ReactWidget } from '@jupyterlab/apputils';
|
|
5
4
|
import React, { useEffect, useState } from 'react';
|
|
5
|
+
import { PathExt } from '@jupyterlab/coreutils';
|
|
6
6
|
/**
|
|
7
7
|
* The body for a Callstack Panel.
|
|
8
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/callstack/body.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/callstack/body.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAIhD;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C;;;;OAIG;IACH,YAAY,KAAiC;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,oBAAC,eAAe,IAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAI,CAAC;IACjD,CAAC;CAGF;AAED;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,EACvB,KAAK,EAGN,EAAe,EAAE;IAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,CAAC,KAAU,EAAQ,EAAE;QACtC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE1C,OAAO,GAAS,EAAE;YAChB,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,eAAe,GAAG,CAAC,EAAyB,EAAE,EAAE;;QACpD,MAAM,IAAI,GAAG,OAAA,EAAE,CAAC,MAAM,0CAAE,IAAI,KAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,GAAG,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO,CACL,gCACG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;;QAAC,OAAA,CACjB,4BACE,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,OAAO,EAAE,GAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EACpC,SAAS,EACP,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,MAAK,GAAG,CAAC,EAAE;gBACrB,CAAC,CAAC,oCAAoC;gBACtC,CAAC,CAAC,2BAA2B;YAGjC,8BAAM,SAAS,EAAE,gCAAgC,IAAG,GAAG,CAAC,IAAI,CAAQ;YACpE,8BACE,SAAS,EAAE,oCAAoC,EAC/C,KAAK,QAAE,GAAG,CAAC,MAAM,0CAAE,IAAI,IAEtB,eAAe,CAAC,GAAG,CAAC,CAChB,CACJ,CACN,CAAA;KAAA,CAAC,CACC,CACN,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Toolbar } from '@jupyterlab/apputils';
|
|
2
|
+
import { ITranslator } from '@jupyterlab/translation';
|
|
3
|
+
import { Widget } from '@lumino/widgets';
|
|
4
|
+
/**
|
|
5
|
+
* The header for a Callstack Panel.
|
|
6
|
+
*/
|
|
7
|
+
export declare class CallstackHeader extends Widget {
|
|
8
|
+
/**
|
|
9
|
+
* Instantiate a new CallstackHeader.
|
|
10
|
+
*/
|
|
11
|
+
constructor(translator?: ITranslator);
|
|
12
|
+
/**
|
|
13
|
+
* The toolbar for the callstack header.
|
|
14
|
+
*/
|
|
15
|
+
readonly toolbar: Toolbar<Widget>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright (c) Jupyter Development Team.
|
|
2
|
+
// Distributed under the terms of the Modified BSD License.
|
|
3
|
+
import { Toolbar } from '@jupyterlab/apputils';
|
|
4
|
+
import { nullTranslator } from '@jupyterlab/translation';
|
|
5
|
+
import { PanelLayout, Widget } from '@lumino/widgets';
|
|
6
|
+
/**
|
|
7
|
+
* The header for a Callstack Panel.
|
|
8
|
+
*/
|
|
9
|
+
export class CallstackHeader extends Widget {
|
|
10
|
+
/**
|
|
11
|
+
* Instantiate a new CallstackHeader.
|
|
12
|
+
*/
|
|
13
|
+
constructor(translator) {
|
|
14
|
+
super({ node: document.createElement('div') });
|
|
15
|
+
/**
|
|
16
|
+
* The toolbar for the callstack header.
|
|
17
|
+
*/
|
|
18
|
+
this.toolbar = new Toolbar();
|
|
19
|
+
this.node.classList.add('jp-stack-panel-header');
|
|
20
|
+
translator = translator || nullTranslator;
|
|
21
|
+
const trans = translator.load('jupyterlab');
|
|
22
|
+
const title = new Widget({ node: document.createElement('h2') });
|
|
23
|
+
title.node.textContent = trans.__('Callstack');
|
|
24
|
+
const layout = new PanelLayout();
|
|
25
|
+
layout.addWidget(title);
|
|
26
|
+
layout.addWidget(this.toolbar);
|
|
27
|
+
this.layout = layout;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/panels/callstack/header.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,MAAM;IACzC;;OAEG;IACH,YAAY,UAAwB;QAClC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAejD;;WAEG;QACM,YAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAjB/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAEjD,UAAU,GAAG,UAAU,IAAI,cAAc,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CAMF"}
|
|
@@ -2,11 +2,10 @@ import { ITranslator } from '@jupyterlab/translation';
|
|
|
2
2
|
import { CommandRegistry } from '@lumino/commands';
|
|
3
3
|
import { Panel } from '@lumino/widgets';
|
|
4
4
|
import { IDebugger } from '../../tokens';
|
|
5
|
-
import { PanelWithToolbar } from '../panelwithtoolbar';
|
|
6
5
|
/**
|
|
7
6
|
* A Panel to show a callstack.
|
|
8
7
|
*/
|
|
9
|
-
export declare class Callstack extends
|
|
8
|
+
export declare class Callstack extends Panel {
|
|
10
9
|
/**
|
|
11
10
|
* Instantiate a new Callstack Panel.
|
|
12
11
|
*
|
|
@@ -1,52 +1,50 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import { CommandToolbarButton } from '@jupyterlab/
|
|
4
|
-
import {
|
|
3
|
+
import { CommandToolbarButton } from '@jupyterlab/apputils';
|
|
4
|
+
import { nullTranslator } from '@jupyterlab/translation';
|
|
5
|
+
import { Panel } from '@lumino/widgets';
|
|
5
6
|
import { CallstackBody } from './body';
|
|
7
|
+
import { CallstackHeader } from './header';
|
|
6
8
|
/**
|
|
7
9
|
* A Panel to show a callstack.
|
|
8
10
|
*/
|
|
9
|
-
export class Callstack extends
|
|
11
|
+
export class Callstack extends Panel {
|
|
10
12
|
/**
|
|
11
13
|
* Instantiate a new Callstack Panel.
|
|
12
14
|
*
|
|
13
15
|
* @param options The instantiation options for a Callstack Panel.
|
|
14
16
|
*/
|
|
15
17
|
constructor(options) {
|
|
16
|
-
super(
|
|
18
|
+
super();
|
|
17
19
|
const { commands, model } = options;
|
|
18
|
-
|
|
20
|
+
const translator = options.translator || nullTranslator;
|
|
21
|
+
const header = new CallstackHeader(translator);
|
|
19
22
|
const body = new CallstackBody(model);
|
|
20
|
-
|
|
23
|
+
header.toolbar.addItem('continue', new CommandToolbarButton({
|
|
21
24
|
commands: commands.registry,
|
|
22
|
-
id: commands.continue
|
|
23
|
-
label: ''
|
|
25
|
+
id: commands.continue
|
|
24
26
|
}));
|
|
25
|
-
|
|
27
|
+
header.toolbar.addItem('terminate', new CommandToolbarButton({
|
|
26
28
|
commands: commands.registry,
|
|
27
|
-
id: commands.terminate
|
|
28
|
-
label: ''
|
|
29
|
+
id: commands.terminate
|
|
29
30
|
}));
|
|
30
|
-
|
|
31
|
+
header.toolbar.addItem('step-over', new CommandToolbarButton({
|
|
31
32
|
commands: commands.registry,
|
|
32
|
-
id: commands.next
|
|
33
|
-
label: ''
|
|
33
|
+
id: commands.next
|
|
34
34
|
}));
|
|
35
|
-
|
|
35
|
+
header.toolbar.addItem('step-in', new CommandToolbarButton({
|
|
36
36
|
commands: commands.registry,
|
|
37
|
-
id: commands.stepIn
|
|
38
|
-
label: ''
|
|
37
|
+
id: commands.stepIn
|
|
39
38
|
}));
|
|
40
|
-
|
|
39
|
+
header.toolbar.addItem('step-out', new CommandToolbarButton({
|
|
41
40
|
commands: commands.registry,
|
|
42
|
-
id: commands.stepOut
|
|
43
|
-
label: ''
|
|
41
|
+
id: commands.stepOut
|
|
44
42
|
}));
|
|
45
|
-
|
|
43
|
+
header.toolbar.addItem('evaluate', new CommandToolbarButton({
|
|
46
44
|
commands: commands.registry,
|
|
47
|
-
id: commands.evaluate
|
|
48
|
-
label: ''
|
|
45
|
+
id: commands.evaluate
|
|
49
46
|
}));
|
|
47
|
+
this.addWidget(header);
|
|
50
48
|
this.addWidget(body);
|
|
51
49
|
this.addClass('jp-DebuggerCallstack');
|
|
52
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/callstack/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/callstack/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAItE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3C;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC;;;;OAIG;IACH,YAAY,OAA2B;QACrC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,CAAC,OAAO,CAAC,OAAO,CACpB,UAAU,EACV,IAAI,oBAAoB,CAAC;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ;SACtB,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,OAAO,CACpB,WAAW,EACX,IAAI,oBAAoB,CAAC;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,EAAE,EAAE,QAAQ,CAAC,SAAS;SACvB,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,OAAO,CACpB,WAAW,EACX,IAAI,oBAAoB,CAAC;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,EAAE,EAAE,QAAQ,CAAC,IAAI;SAClB,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,OAAO,CACpB,SAAS,EACT,IAAI,oBAAoB,CAAC;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,EAAE,EAAE,QAAQ,CAAC,MAAM;SACpB,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,OAAO,CACpB,UAAU,EACV,IAAI,oBAAoB,CAAC;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,EAAE,EAAE,QAAQ,CAAC,OAAO;SACrB,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,OAAO,CACpB,UAAU,EACV,IAAI,oBAAoB,CAAC;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ;SACtB,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -15,11 +15,11 @@ export declare class CallstackModel implements IDebugger.Model.ICallstack {
|
|
|
15
15
|
/**
|
|
16
16
|
* Get the current frame.
|
|
17
17
|
*/
|
|
18
|
-
get frame(): IDebugger.IStackFrame
|
|
18
|
+
get frame(): IDebugger.IStackFrame;
|
|
19
19
|
/**
|
|
20
20
|
* Set the current frame.
|
|
21
21
|
*/
|
|
22
|
-
set frame(frame: IDebugger.IStackFrame
|
|
22
|
+
set frame(frame: IDebugger.IStackFrame);
|
|
23
23
|
/**
|
|
24
24
|
* Signal emitted when the frames have changed.
|
|
25
25
|
*/
|
|
@@ -27,7 +27,7 @@ export declare class CallstackModel implements IDebugger.Model.ICallstack {
|
|
|
27
27
|
/**
|
|
28
28
|
* Signal emitted when the current frame has changed.
|
|
29
29
|
*/
|
|
30
|
-
get currentFrameChanged(): ISignal<this, IDebugger.IStackFrame
|
|
30
|
+
get currentFrameChanged(): ISignal<this, IDebugger.IStackFrame>;
|
|
31
31
|
private _state;
|
|
32
32
|
private _currentFrame;
|
|
33
33
|
private _framesChanged;
|
|
@@ -7,7 +7,6 @@ import { Signal } from '@lumino/signaling';
|
|
|
7
7
|
export class CallstackModel {
|
|
8
8
|
constructor() {
|
|
9
9
|
this._state = [];
|
|
10
|
-
this._currentFrame = null;
|
|
11
10
|
this._framesChanged = new Signal(this);
|
|
12
11
|
this._currentFrameChanged = new Signal(this);
|
|
13
12
|
}
|
|
@@ -22,8 +21,7 @@ export class CallstackModel {
|
|
|
22
21
|
*/
|
|
23
22
|
set frames(newFrames) {
|
|
24
23
|
this._state = newFrames;
|
|
25
|
-
const
|
|
26
|
-
const frame = newFrames.find(frame => Private.getFrameId(frame) === currentFrameId);
|
|
24
|
+
const frame = newFrames.find(frame => Private.getFrameId(frame) === Private.getFrameId(this.frame));
|
|
27
25
|
// Default to the first frame if the previous one can't be found.
|
|
28
26
|
// Otherwise keep the current frame selected.
|
|
29
27
|
if (!frame) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/panels/callstack/model.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAO,cAAc;IAA3B;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/panels/callstack/model.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAO,cAAc;IAA3B;QAqDU,WAAM,GAA4B,EAAE,CAAC;QAErC,mBAAc,GAAG,IAAI,MAAM,CAAgC,IAAI,CAAC,CAAC;QACjE,yBAAoB,GAAG,IAAI,MAAM,CAA8B,IAAI,CAAC,CAAC;IAC/E,CAAC;IAxDC;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,SAAkC;QAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CACtE,CAAC;QACF,iEAAiE;QACjE,6CAA6C;QAC7C,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,KAA4B;QACpC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;CAMF;AAED;;GAEG;AACH,IAAU,OAAO,CAShB;AATD,WAAU,OAAO;IACf;;;;OAIG;IACH,SAAgB,UAAU,CAAC,KAA4B;;QACrD,OAAO,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,IAAI,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,EAAE,CAAC;IAC/C,CAAC;IAFe,kBAAU,aAEzB,CAAA;AACH,CAAC,EATS,OAAO,KAAP,OAAO,QAShB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Toolbar } from '@jupyterlab/apputils';
|
|
2
|
+
import { ITranslator } from '@jupyterlab/translation';
|
|
3
|
+
import { Widget } from '@lumino/widgets';
|
|
4
|
+
import { IDebugger } from '../../tokens';
|
|
5
|
+
/**
|
|
6
|
+
* The header for a Source Panel.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SourcesHeader extends Widget {
|
|
9
|
+
/**
|
|
10
|
+
* Instantiate a new SourcesHeader.
|
|
11
|
+
*
|
|
12
|
+
* @param model The model for the Sources.
|
|
13
|
+
*/
|
|
14
|
+
constructor(model: IDebugger.Model.ISources, translator?: ITranslator);
|
|
15
|
+
/**
|
|
16
|
+
* The toolbar for the sources header.
|
|
17
|
+
*/
|
|
18
|
+
readonly toolbar: Toolbar<Widget>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Copyright (c) Jupyter Development Team.
|
|
2
|
+
// Distributed under the terms of the Modified BSD License.
|
|
3
|
+
import { ReactWidget, Toolbar, UseSignal } from '@jupyterlab/apputils';
|
|
4
|
+
import { nullTranslator } from '@jupyterlab/translation';
|
|
5
|
+
import { PanelLayout, Widget } from '@lumino/widgets';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
/**
|
|
8
|
+
* The header for a Source Panel.
|
|
9
|
+
*/
|
|
10
|
+
export class SourcesHeader extends Widget {
|
|
11
|
+
/**
|
|
12
|
+
* Instantiate a new SourcesHeader.
|
|
13
|
+
*
|
|
14
|
+
* @param model The model for the Sources.
|
|
15
|
+
*/
|
|
16
|
+
constructor(model, translator) {
|
|
17
|
+
super({ node: document.createElement('div') });
|
|
18
|
+
/**
|
|
19
|
+
* The toolbar for the sources header.
|
|
20
|
+
*/
|
|
21
|
+
this.toolbar = new Toolbar();
|
|
22
|
+
this.node.classList.add('jp-stack-panel-header');
|
|
23
|
+
translator = translator || nullTranslator;
|
|
24
|
+
const trans = translator.load('jupyterlab');
|
|
25
|
+
const layout = new PanelLayout();
|
|
26
|
+
this.layout = layout;
|
|
27
|
+
const title = new Widget({ node: document.createElement('h2') });
|
|
28
|
+
title.node.textContent = trans.__('Source');
|
|
29
|
+
const sourcePath = ReactWidget.create(React.createElement(SourcePathComponent, { model: model }));
|
|
30
|
+
layout.addWidget(title);
|
|
31
|
+
layout.addWidget(this.toolbar);
|
|
32
|
+
layout.addWidget(sourcePath);
|
|
33
|
+
this.addClass('jp-DebuggerSources-header');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A React component to display the path to a source.
|
|
38
|
+
*
|
|
39
|
+
* @param {object} props The component props.
|
|
40
|
+
* @param props.model The model for the sources.
|
|
41
|
+
*/
|
|
42
|
+
const SourcePathComponent = ({ model }) => {
|
|
43
|
+
return (React.createElement(UseSignal, { signal: model.currentSourceChanged, initialSender: model }, (model) => {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
return (React.createElement("span", { onClick: () => model === null || model === void 0 ? void 0 : model.open() }, (_b = (_a = model === null || model === void 0 ? void 0 : model.currentSource) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : ''));
|
|
46
|
+
}));
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/panels/sources/header.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAItD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM;IACvC;;;;OAIG;IACH,YAAY,KAA+B,EAAE,UAAwB;QACnE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAuBjD;;WAEG;QACM,YAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAzB/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAEjD,UAAU,GAAG,UAAU,IAAI,cAAc,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAE5C,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CACnC,oBAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,GAAI,CACtC,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE7B,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAC7C,CAAC;CAMF;AAED;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,CAAC,EAC3B,KAAK,EAGN,EAAe,EAAE;IAChB,OAAO,CACL,oBAAC,SAAS,IAAC,MAAM,EAAE,KAAK,CAAC,oBAAoB,EAAE,aAAa,EAAE,KAAK,IAChE,CAAC,KAAK,EAAe,EAAE;;QAAC,OAAA,CACvB,8BAAM,OAAO,EAAE,GAAS,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,gBACrC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,0CAAE,IAAI,mCAAI,EAAE,CAC5B,CACR,CAAA;KAAA,CACS,CACb,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { IEditorServices } from '@jupyterlab/codeeditor';
|
|
2
2
|
import { ITranslator } from '@jupyterlab/translation';
|
|
3
|
+
import { Panel } from '@lumino/widgets';
|
|
3
4
|
import { IDebugger } from '../../tokens';
|
|
4
|
-
import { PanelWithToolbar } from '../panelwithtoolbar';
|
|
5
5
|
/**
|
|
6
6
|
* A Panel that shows a preview of the source code while debugging.
|
|
7
7
|
*/
|
|
8
|
-
export declare class Sources extends
|
|
8
|
+
export declare class Sources extends Panel {
|
|
9
9
|
/**
|
|
10
10
|
* Instantiate a new Sources preview Panel.
|
|
11
11
|
*
|
|
@@ -2,42 +2,39 @@
|
|
|
2
2
|
| Copyright (c) Jupyter Development Team.
|
|
3
3
|
| Distributed under the terms of the Modified BSD License.
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
|
-
import { ToolbarButton } from '@jupyterlab/
|
|
5
|
+
import { ToolbarButton } from '@jupyterlab/apputils';
|
|
6
|
+
import { nullTranslator } from '@jupyterlab/translation';
|
|
7
|
+
import { Panel } from '@lumino/widgets';
|
|
6
8
|
import { viewBreakpointIcon } from '../../icons';
|
|
7
|
-
import { SourcePathComponent } from './sourcepath';
|
|
8
9
|
import { SourcesBody } from './body';
|
|
9
|
-
import {
|
|
10
|
-
import React from 'react';
|
|
11
|
-
import { PanelWithToolbar } from '../panelwithtoolbar';
|
|
10
|
+
import { SourcesHeader } from './header';
|
|
12
11
|
/**
|
|
13
12
|
* A Panel that shows a preview of the source code while debugging.
|
|
14
13
|
*/
|
|
15
|
-
export class Sources extends
|
|
14
|
+
export class Sources extends Panel {
|
|
16
15
|
/**
|
|
17
16
|
* Instantiate a new Sources preview Panel.
|
|
18
17
|
*
|
|
19
18
|
* @param options The Sources instantiation options.
|
|
20
19
|
*/
|
|
21
20
|
constructor(options) {
|
|
22
|
-
super(
|
|
21
|
+
super();
|
|
23
22
|
const { model, service, editorServices } = options;
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const translator = options.translator || nullTranslator;
|
|
24
|
+
const trans = translator.load('jupyterlab');
|
|
25
|
+
const header = new SourcesHeader(model, translator);
|
|
26
26
|
const body = new SourcesBody({
|
|
27
27
|
service,
|
|
28
28
|
model,
|
|
29
29
|
editorServices
|
|
30
30
|
});
|
|
31
|
-
|
|
31
|
+
header.toolbar.addItem('open', new ToolbarButton({
|
|
32
32
|
icon: viewBreakpointIcon,
|
|
33
33
|
onClick: () => model.open(),
|
|
34
|
-
tooltip:
|
|
34
|
+
tooltip: trans.__('Open in the Main Area')
|
|
35
35
|
}));
|
|
36
|
-
|
|
37
|
-
this.toolbar.addItem('sourcePath', sourcePath);
|
|
38
|
-
this.addClass('jp-DebuggerSources-header');
|
|
36
|
+
this.addWidget(header);
|
|
39
37
|
this.addWidget(body);
|
|
40
|
-
this.addClass('jp-DebuggerSources');
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
40
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/sources/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/sources/index.ts"],"names":[],"mappings":"AAAA;;;+EAG+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,KAAK;IAChC;;;;OAIG;IACH,YAAY,OAAyB;QACnC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QACnD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC;YAC3B,OAAO;YACP,KAAK;YACL,cAAc;SACf,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,OAAO,CACpB,MAAM,EACN,IAAI,aAAa,CAAC;YAChB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,GAAS,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;YACjC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC;SAC3C,CAAC,CACH,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -13,7 +13,7 @@ export declare class SourcesModel implements IDebugger.Model.ISources {
|
|
|
13
13
|
/**
|
|
14
14
|
* Signal emitted when the current frame changes.
|
|
15
15
|
*/
|
|
16
|
-
readonly currentFrameChanged: ISignal<IDebugger.Model.ICallstack, IDebugger.IStackFrame
|
|
16
|
+
readonly currentFrameChanged: ISignal<IDebugger.Model.ICallstack, IDebugger.IStackFrame>;
|
|
17
17
|
/**
|
|
18
18
|
* Signal emitted when a source should be open in the main area.
|
|
19
19
|
*/
|
|
@@ -51,6 +51,6 @@ export declare namespace SourcesModel {
|
|
|
51
51
|
/**
|
|
52
52
|
* Signal emitted when the current frame changes.
|
|
53
53
|
*/
|
|
54
|
-
currentFrameChanged: ISignal<IDebugger.Model.ICallstack, IDebugger.IStackFrame
|
|
54
|
+
currentFrameChanged: ISignal<IDebugger.Model.ICallstack, IDebugger.IStackFrame>;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -2,7 +2,6 @@ import { IThemeManager } from '@jupyterlab/apputils';
|
|
|
2
2
|
import { CommandRegistry } from '@lumino/commands';
|
|
3
3
|
import { Panel } from '@lumino/widgets';
|
|
4
4
|
import { IDebugger } from '../../tokens';
|
|
5
|
-
import { ITranslator } from '@jupyterlab/translation';
|
|
6
5
|
/**
|
|
7
6
|
* A data grid that displays variables in a debugger session.
|
|
8
7
|
*/
|
|
@@ -13,10 +12,6 @@ export declare class VariablesBodyGrid extends Panel {
|
|
|
13
12
|
* @param options The instantiation options for a VariablesBodyGrid.
|
|
14
13
|
*/
|
|
15
14
|
constructor(options: VariablesBodyGrid.IOptions);
|
|
16
|
-
/**
|
|
17
|
-
* Get the latest hit variable
|
|
18
|
-
*/
|
|
19
|
-
get latestSelection(): IDebugger.IVariableSelection | null;
|
|
20
15
|
/**
|
|
21
16
|
* Set the variable filter list.
|
|
22
17
|
*
|
|
@@ -60,9 +55,5 @@ export declare namespace VariablesBodyGrid {
|
|
|
60
55
|
* An optional application theme manager to detect theme changes.
|
|
61
56
|
*/
|
|
62
57
|
themeManager?: IThemeManager | null;
|
|
63
|
-
/**
|
|
64
|
-
* The application language translator.
|
|
65
|
-
*/
|
|
66
|
-
translator?: ITranslator;
|
|
67
58
|
}
|
|
68
59
|
}
|
|
@@ -4,7 +4,6 @@ import { BasicKeyHandler, BasicMouseHandler, BasicSelectionModel, DataGrid, Data
|
|
|
4
4
|
import { Signal } from '@lumino/signaling';
|
|
5
5
|
import { Panel } from '@lumino/widgets';
|
|
6
6
|
import { Debugger } from '../../';
|
|
7
|
-
import { nullTranslator } from '@jupyterlab/translation';
|
|
8
7
|
/**
|
|
9
8
|
* A data grid that displays variables in a debugger session.
|
|
10
9
|
*/
|
|
@@ -16,8 +15,8 @@ export class VariablesBodyGrid extends Panel {
|
|
|
16
15
|
*/
|
|
17
16
|
constructor(options) {
|
|
18
17
|
super();
|
|
19
|
-
const { model, commands, themeManager, scopes
|
|
20
|
-
this._grid = new Grid({ commands, themeManager
|
|
18
|
+
const { model, commands, themeManager, scopes } = options;
|
|
19
|
+
this._grid = new Grid({ commands, themeManager });
|
|
21
20
|
this._grid.addClass('jp-DebuggerVariables-grid');
|
|
22
21
|
this._model = model;
|
|
23
22
|
this._model.changed.connect((model) => {
|
|
@@ -27,12 +26,6 @@ export class VariablesBodyGrid extends Panel {
|
|
|
27
26
|
this.addWidget(this._grid);
|
|
28
27
|
this.addClass('jp-DebuggerVariables-body');
|
|
29
28
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Get the latest hit variable
|
|
32
|
-
*/
|
|
33
|
-
get latestSelection() {
|
|
34
|
-
return this._grid.latestSelection;
|
|
35
|
-
}
|
|
36
29
|
/**
|
|
37
30
|
* Set the variable filter list.
|
|
38
31
|
*
|
|
@@ -70,24 +63,14 @@ class Grid extends Panel {
|
|
|
70
63
|
*/
|
|
71
64
|
constructor(options) {
|
|
72
65
|
super();
|
|
73
|
-
this._latestSelection = null;
|
|
74
66
|
const { commands, themeManager } = options;
|
|
75
|
-
const dataModel = new GridModel(
|
|
67
|
+
const dataModel = new GridModel();
|
|
76
68
|
const grid = new DataGrid();
|
|
77
69
|
const mouseHandler = new Private.MouseHandler();
|
|
78
70
|
mouseHandler.doubleClicked.connect((_, hit) => commands.execute(Debugger.CommandIDs.inspectVariable, {
|
|
79
71
|
variableReference: dataModel.getVariableReference(hit.row),
|
|
80
|
-
|
|
72
|
+
title: dataModel.getVariableName(hit.row)
|
|
81
73
|
}));
|
|
82
|
-
mouseHandler.selected.connect((_, hit) => {
|
|
83
|
-
const { row } = hit;
|
|
84
|
-
this._latestSelection = {
|
|
85
|
-
name: dataModel.getVariableName(row),
|
|
86
|
-
value: dataModel.data('body', row, 1),
|
|
87
|
-
type: dataModel.data('body', row, 2),
|
|
88
|
-
variablesReference: dataModel.getVariableReference(row)
|
|
89
|
-
};
|
|
90
|
-
});
|
|
91
74
|
grid.dataModel = dataModel;
|
|
92
75
|
grid.keyHandler = new BasicKeyHandler();
|
|
93
76
|
grid.mouseHandler = mouseHandler;
|
|
@@ -127,12 +110,6 @@ class Grid extends Panel {
|
|
|
127
110
|
get dataModel() {
|
|
128
111
|
return this._grid.dataModel;
|
|
129
112
|
}
|
|
130
|
-
/**
|
|
131
|
-
* Get the latest hit variable
|
|
132
|
-
*/
|
|
133
|
-
get latestSelection() {
|
|
134
|
-
return this._latestSelection;
|
|
135
|
-
}
|
|
136
113
|
/**
|
|
137
114
|
* Handle `after-attach` messages.
|
|
138
115
|
*
|
|
@@ -155,12 +132,8 @@ class Grid extends Panel {
|
|
|
155
132
|
* A data grid model for variables.
|
|
156
133
|
*/
|
|
157
134
|
class GridModel extends DataModel {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
* @param translator optional translator
|
|
161
|
-
*/
|
|
162
|
-
constructor(translator) {
|
|
163
|
-
super();
|
|
135
|
+
constructor() {
|
|
136
|
+
super(...arguments);
|
|
164
137
|
this._filter = new Set();
|
|
165
138
|
this._scope = '';
|
|
166
139
|
this._data = {
|
|
@@ -169,8 +142,6 @@ class GridModel extends DataModel {
|
|
|
169
142
|
value: [],
|
|
170
143
|
variablesReference: []
|
|
171
144
|
};
|
|
172
|
-
translator = translator || nullTranslator;
|
|
173
|
-
this._trans = translator.load('jupyterlab');
|
|
174
145
|
}
|
|
175
146
|
/**
|
|
176
147
|
* Set the variable filter list.
|
|
@@ -218,10 +189,10 @@ class GridModel extends DataModel {
|
|
|
218
189
|
return this._data.name[row];
|
|
219
190
|
}
|
|
220
191
|
if (region === 'column-header') {
|
|
221
|
-
return column === 1 ?
|
|
192
|
+
return column === 1 ? 'Value' : 'Type';
|
|
222
193
|
}
|
|
223
194
|
if (region === 'corner-header') {
|
|
224
|
-
return
|
|
195
|
+
return 'Name';
|
|
225
196
|
}
|
|
226
197
|
return column === 1 ? this._data.value[row] : this._data.type[row];
|
|
227
198
|
}
|
|
@@ -244,7 +215,7 @@ class GridModel extends DataModel {
|
|
|
244
215
|
/**
|
|
245
216
|
* Set the datagrid model data from the list of variables.
|
|
246
217
|
*
|
|
247
|
-
* @param
|
|
218
|
+
* @param variables The list of variables.
|
|
248
219
|
*/
|
|
249
220
|
setData(scopes) {
|
|
250
221
|
var _a, _b;
|
|
@@ -353,7 +324,6 @@ var Private;
|
|
|
353
324
|
constructor() {
|
|
354
325
|
super(...arguments);
|
|
355
326
|
this._doubleClicked = new Signal(this);
|
|
356
|
-
this._selected = new Signal(this);
|
|
357
327
|
}
|
|
358
328
|
/**
|
|
359
329
|
* A signal emitted when the variables grid is double clicked.
|
|
@@ -361,22 +331,6 @@ var Private;
|
|
|
361
331
|
get doubleClicked() {
|
|
362
332
|
return this._doubleClicked;
|
|
363
333
|
}
|
|
364
|
-
/**
|
|
365
|
-
* A signal emitted when the variables grid received mouse down or context menu event.
|
|
366
|
-
*/
|
|
367
|
-
get selected() {
|
|
368
|
-
return this._selected;
|
|
369
|
-
}
|
|
370
|
-
/**
|
|
371
|
-
* Dispose of the resources held by the mouse handler.
|
|
372
|
-
*/
|
|
373
|
-
dispose() {
|
|
374
|
-
if (this.isDisposed) {
|
|
375
|
-
return;
|
|
376
|
-
}
|
|
377
|
-
Signal.disconnectSender(this);
|
|
378
|
-
super.dispose();
|
|
379
|
-
}
|
|
380
334
|
/**
|
|
381
335
|
* Handle a mouse double-click event.
|
|
382
336
|
*
|
|
@@ -387,34 +341,6 @@ var Private;
|
|
|
387
341
|
const hit = grid.hitTest(event.clientX, event.clientY);
|
|
388
342
|
this._doubleClicked.emit(hit);
|
|
389
343
|
}
|
|
390
|
-
/**
|
|
391
|
-
* Handle the mouse down event for the data grid.
|
|
392
|
-
*
|
|
393
|
-
* @param grid - The data grid of interest.
|
|
394
|
-
*
|
|
395
|
-
* @param event - The mouse down event of interest.
|
|
396
|
-
*/
|
|
397
|
-
onMouseDown(grid, event) {
|
|
398
|
-
// Unpack the event.
|
|
399
|
-
let { clientX, clientY } = event;
|
|
400
|
-
// Hit test the grid.
|
|
401
|
-
let hit = grid.hitTest(clientX, clientY);
|
|
402
|
-
this._selected.emit(hit);
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Handle the context menu event for the data grid.
|
|
406
|
-
*
|
|
407
|
-
* @param grid - The data grid of interest.
|
|
408
|
-
*
|
|
409
|
-
* @param event - The context menu event of interest.
|
|
410
|
-
*/
|
|
411
|
-
onContextMenu(grid, event) {
|
|
412
|
-
// Unpack the event.
|
|
413
|
-
let { clientX, clientY } = event;
|
|
414
|
-
// Hit test the grid.
|
|
415
|
-
let hit = grid.hitTest(clientX, clientY);
|
|
416
|
-
this._selected.emit(hit);
|
|
417
|
-
}
|
|
418
344
|
}
|
|
419
345
|
Private.MouseHandler = MouseHandler;
|
|
420
346
|
})(Private || (Private = {}));
|