From aee01150e21f5a8a8249dd019ad23bcf173d560f Mon Sep 17 00:00:00 2001 From: Liz Looney Date: Fri, 26 Sep 2025 00:10:38 -0700 Subject: [PATCH] In the toolbox, don't show mechanism methods that the user should not override: fire_event, register_event_handler, and unregister_event_handler. --- src/toolbox/methods_category.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/toolbox/methods_category.ts b/src/toolbox/methods_category.ts index fe978289..c6505850 100644 --- a/src/toolbox/methods_category.ts +++ b/src/toolbox/methods_category.ts @@ -73,7 +73,7 @@ class MethodsCategory { // TODO(lizlooney): We need a way to mark a method in python as not overridable. // For example, in RobotBase, define_hardware, register_event_handler, // unregister_event_handler, and fire_event should not be overridden in a user's robot. - const methodNamesNotOverrideable: string[] = [ + const robotMethodNamesNotOverrideable: string[] = [ 'define_hardware', 'fire_event', 'register_event_handler', @@ -81,13 +81,21 @@ class MethodsCategory { ]; // Add the methods for a Robot. this.addClassBlocksForCurrentModule( - 'More Robot Methods', this.robotClassBlocks, methodNamesNotOverrideable, + 'More Robot Methods', this.robotClassBlocks, robotMethodNamesNotOverrideable, methodNamesAlreadyOverridden, contents); break; case storageModule.ModuleType.MECHANISM: + // TODO(lizlooney): We need a way to mark a method in python as not overridable. + // For example, in Mechanism, register_event_handler, unregister_event_handler, and + // fire_event should not be overridden in a user's mechamism. + const mechanismMethodNamesNotOverrideable: string[] = [ + 'fire_event', + 'register_event_handler', + 'unregister_event_handler', + ]; // Add the methods for a Mechanism. this.addClassBlocksForCurrentModule( - 'More Mechanism Methods', this.mechanismClassBlocks, [], + 'More Mechanism Methods', this.mechanismClassBlocks, mechanismMethodNamesNotOverrideable, methodNamesAlreadyOverridden, contents); break; case storageModule.ModuleType.OPMODE: