export default class Tool { constructor(name, icon, key) { this.name = name; this.icon = icon; this.key = key; this.warnings = false; this.menu = undefined; } getName() { return this.name; } getKey() { return this.key; } getIcon() { return this.icon; } activateTool() { if (this.menu !== undefined) { this.menu.show(); } this.onToolActivate(); } deactivateTool(nextTool) { this.onToolDeactivate(nextTool); if (this.menu !== undefined) { this.menu.hide(); } } onToolActivate() { } onToolDeactivate(nextTool) { } onNodeClick(node) { if (this.warnings) { console.warn('Method "onNodeClick" not implemented.'); } } onLinkClick(link) { if (this.warnings) { console.warn('Method "onLinkClick" not implemented.'); } } onKeyDown(key) { if (this.warnings) { console.warn('Method "onKeyDown" not implemented.'); } } onKeyUp(key) { if (this.warnings) { console.warn('Method "onKeyUp" not implemented.'); } } nodeCanvasObject(node, ctx, globalScale) { if (this.warnings) { console.warn('Method "nodeCanvasObject" not implemented.'); } } nodeCanvasObjectMode(node) { if (this.warnings) { console.warn('Method "nodeCanvasObjectMode" not implemented.'); } } nodePointerAreaPaint(node, color, ctx) { if (this.warnings) { console.warn('Method "nodePointerAreaPaint" not implemented.'); } } linkWidth(link) { if (this.warnings) { console.warn('Method "linkWidth" not implemented.'); } } linkDirectionalParticles() { if (this.warnings) { console.warn('Method "linkDirectionalParticles" not implemented.'); } } linkDirectionalParticleWidth(link) { if (this.warnings) { console.warn( 'Method "linkDirectionalParticleWidth" not implemented.' ); } } linkColor(link) { if (this.warnings) { console.warn( 'Method "linkColor" not implemented.' ); } } nodeColor(node) { if (this.warnings) { console.warn( 'Method "nodeColor" not implemented.' ); } } onBackgroundClick(event, positions) { if (this.warnings) { console.warn('Method "onBackgroundClick" not implemented.'); } } }