Skip to content

Commit

Permalink
Remove mouse zone manager
Browse files Browse the repository at this point in the history
Part of xtermjs#2703
  • Loading branch information
Tyriar committed Jul 27, 2022
1 parent 8cfa7a0 commit 7bd3801
Show file tree
Hide file tree
Showing 7 changed files with 1 addition and 283 deletions.
236 changes: 0 additions & 236 deletions src/browser/MouseZoneManager.ts

This file was deleted.

14 changes: 0 additions & 14 deletions src/browser/Terminal.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import { MockViewport, MockCompositionHelper, MockRenderer, TestTerminal } from
import { DEFAULT_ATTR_DATA } from 'common/buffer/BufferLine';
import { CellData } from 'common/buffer/CellData';
import { MockUnicodeService } from 'common/TestUtils.test';
import { IMouseZoneManager, IMouseZone } from 'browser/Types';
import { IMarker } from 'common/Types';

const INIT_COLS = 80;
Expand Down Expand Up @@ -1417,16 +1416,3 @@ describe('Terminal', () => {
});
});
});

class TestMouseZoneManager implements IMouseZoneManager {
public dispose(): void {
}
public clears: number = 0;
public zones: IMouseZone[] = [];
public add(zone: IMouseZone): void {
this.zones.push(zone);
}
public clearAll(): void {
this.clears++;
}
}
8 changes: 1 addition & 7 deletions src/browser/Terminal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
* http://linux.die.net/man/7/urxvt
*/

import { ICompositionHelper, ITerminal, IBrowser, CustomKeyEventHandler, IMouseZoneManager, IViewport, ILinkifier2, CharacterJoinerHandler } from 'browser/Types';
import { ICompositionHelper, ITerminal, IBrowser, CustomKeyEventHandler, IViewport, ILinkifier2, CharacterJoinerHandler } from 'browser/Types';
import { IRenderer } from 'browser/renderer/Types';
import { CompositionHelper } from 'browser/input/CompositionHelper';
import { Viewport } from 'browser/Viewport';
Expand All @@ -33,7 +33,6 @@ import { SelectionService } from 'browser/services/SelectionService';
import * as Browser from 'common/Platform';
import { addDisposableDomListener } from 'browser/Lifecycle';
import * as Strings from 'browser/LocalizableStrings';
import { MouseZoneManager } from 'browser/MouseZoneManager';
import { AccessibilityManager } from './AccessibilityManager';
import { ITheme, IMarker, IDisposable, ISelectionPosition, ILinkProvider, IDecorationOptions, IDecoration } from 'xterm';
import { DomRenderer } from 'browser/renderer/dom/DomRenderer';
Expand Down Expand Up @@ -118,7 +117,6 @@ export class Terminal extends CoreTerminal implements ITerminal {
public linkifier2: ILinkifier2;
public viewport: IViewport | undefined;
private _compositionHelper: ICompositionHelper | undefined;
private _mouseZoneManager: IMouseZoneManager | undefined;
private _accessibilityManager: AccessibilityManager | undefined;
private _colorManager: ColorManager | undefined;
private _theme: ITheme | undefined;
Expand Down Expand Up @@ -576,12 +574,8 @@ export class Terminal extends CoreTerminal implements ITerminal {
}));
this.register(addDisposableDomListener(this._viewportElement, 'scroll', () => this._selectionService!.refresh()));

this._mouseZoneManager = this._instantiationService.createInstance(MouseZoneManager, this.element, this.screenElement);
this.register(this._mouseZoneManager);
this.register(this.onScroll(() => this._mouseZoneManager!.clearAll()));
this.linkifier2.attachToDom(this.screenElement, this._mouseService, this._renderService);
this.register(this._instantiationService.createInstance(BufferDecorationRenderer, this.screenElement));
// This event listener must be registered aftre MouseZoneManager is created
this.register(addDisposableDomListener(this.element, 'mousedown', (e: MouseEvent) => this._selectionService!.onMouseDown(e)));

// apply mouse event classes set by escape codes before terminal was attached
Expand Down
17 changes: 0 additions & 17 deletions src/browser/Types.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,23 +177,6 @@ export interface ILinkifier2 {
registerLinkProvider(linkProvider: ILinkProvider): IDisposable;
}

export interface IMouseZoneManager extends IDisposable {
add(zone: IMouseZone): void;
clearAll(start?: number, end?: number): void;
}

export interface IMouseZone {
x1: number;
x2: number;
y1: number;
y2: number;
clickCallback: (e: MouseEvent) => any;
hoverCallback: (e: MouseEvent) => any | undefined;
tooltipCallback: (e: MouseEvent) => any | undefined;
leaveCallback: () => any | undefined;
willLinkActivate: (e: MouseEvent) => boolean;
}

interface ILinkProvider {
provideLinks(y: number, callback: (links: ILink[] | undefined) => void): void;
}
Expand Down
1 change: 0 additions & 1 deletion src/common/services/OptionsService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ export const DEFAULT_OPTIONS: Readonly<ITerminalOptions> = {
fontWeight: 'normal',
fontWeightBold: 'bold',
lineHeight: 1.0,
linkTooltipHoverDuration: 500,
letterSpacing: 0,
logLevel: 'info',
scrollback: 1000,
Expand Down
1 change: 0 additions & 1 deletion src/common/services/Services.ts
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,6 @@ export interface ITerminalOptions {
fontWeightBold: FontWeight;
letterSpacing: number;
lineHeight: number;
linkTooltipHoverDuration: number;
logLevel: LogLevel;
macOptionIsMeta: boolean;
macOptionClickForcesSelection: boolean;
Expand Down
7 changes: 0 additions & 7 deletions typings/xterm.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,13 +138,6 @@ declare module 'xterm' {
*/
lineHeight?: number;

/**
* The duration in milliseconds before link tooltip events fire when
* hovering on a link.
* @deprecated This will be removed when the link matcher API is removed.
*/
linkTooltipHoverDuration?: number;

/**
* What log level to use, this will log for all levels below and including
* what is set:
Expand Down

0 comments on commit 7bd3801

Please sign in to comment.