Skip to content

Commit 0afd822

Browse files
committed
Create functions for registering custom categories.
Changed custom values to begin with MRC_.
1 parent 37c7e32 commit 0afd822

File tree

4 files changed

+21
-11
lines changed

4 files changed

+21
-11
lines changed

src/editor/editor.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ import * as eventHandler from '../blocks/mrc_event_handler';
3232
import * as classMethodDef from '../blocks/mrc_class_method_def';
3333
import * as mechanismComponentHolder from '../blocks/mrc_mechanism_component_holder';
3434
//import { testAllBlocksInToolbox } from '../toolbox/toolbox_tests';
35-
import { MethodsCategory } from '../toolbox/methods_category';
36-
import { EventsCategory } from '../toolbox/event_category';
35+
import { registerCategory as registerMethodsCategory } from '../toolbox/methods_category';
36+
import { registerCategory as registerEventsCategory } from '../toolbox/event_category';
3737
import {
3838
registerRobotEventHandlersCategory,
3939
registerMechanismEventHandlersCategory
@@ -67,9 +67,9 @@ export class Editor {
6767
this.blocklyWorkspace = blocklyWorkspace;
6868
this.generatorContext = generatorContext;
6969
this.storage = storage;
70-
// Create the custom toolbox categories so they register their flyout callbacks.
71-
new MethodsCategory(blocklyWorkspace);
72-
new EventsCategory(blocklyWorkspace);
70+
// Register the custom toolbox categories.
71+
registerMethodsCategory(blocklyWorkspace);
72+
registerEventsCategory(blocklyWorkspace);
7373
registerRobotEventHandlersCategory(blocklyWorkspace);
7474
}
7575

src/toolbox/event_category.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ import { createCustomEventBlock } from '../blocks/mrc_event';
2828
import { addFireEventBlocks } from '../blocks/mrc_call_python_function';
2929
import { Editor } from '../editor/editor';
3030

31-
const CUSTOM_CATEGORY_EVENTS = 'EVENTS';
31+
const CUSTOM_CATEGORY_EVENTS = 'MRC_EVENTS';
32+
33+
export function registerCategory(blocklyWorkspace: Blockly.WorkspaceSvg): void {
34+
new EventsCategory(blocklyWorkspace);
35+
}
3236

3337
export function getCategory(): toolboxItems.Category {
3438
return {
@@ -39,7 +43,7 @@ export function getCategory(): toolboxItems.Category {
3943
};
4044
}
4145

42-
export class EventsCategory {
46+
class EventsCategory {
4347
constructor(blocklyWorkspace: Blockly.WorkspaceSvg) {
4448
blocklyWorkspace.registerToolboxCategoryCallback(CUSTOM_CATEGORY_EVENTS, this.eventsFlyout.bind(this));
4549
}

src/toolbox/event_handlers_category.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,11 @@ import { Editor } from '../editor/editor';
3434
// doesn't contain blocks for the event handlers that have already been added to the blockly
3535
// workspace.
3636

37-
const CUSTOM_CATEGORY_EVENT_HANDLERS_ROBOT = 'EVENT_HANDLERS_ROBOT';
38-
const CUSTOM_CATEGORY_EVENT_HANDLERS_MECHANISM_PREFIX = 'EVENT_HANDLERS_MECHANISM_';
37+
const CUSTOM_CATEGORY_EVENT_HANDLERS_ROBOT = 'MRC_EVENT_HANDLERS_ROBOT';
38+
const CUSTOM_CATEGORY_EVENT_HANDLERS_MECHANISM_PREFIX = 'MRC_EVENT_HANDLERS_MECHANISM_';
3939

4040
function getCustomValue(mechanismInRobot: storageModuleContent.MechanismInRobot | null): string {
41+
// If the event is defined in the robot, mechanismInRobot is null.
4142
return (mechanismInRobot === null)
4243
? CUSTOM_CATEGORY_EVENT_HANDLERS_ROBOT
4344
: CUSTOM_CATEGORY_EVENT_HANDLERS_MECHANISM_PREFIX + mechanismInRobot.name;
@@ -70,6 +71,7 @@ export function getMechanismEventHandlersCategory(
7071
}
7172

7273
class EventHandlersCategory {
74+
// If the event is defined in the robot, mechanismInRobot is null.
7375
mechanismInRobot: storageModuleContent.MechanismInRobot | null;
7476

7577
constructor(

src/toolbox/methods_category.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ import { createCustomMethodBlock, getBaseClassBlocks, FIELD_METHOD_NAME } from '
3030
import { Editor } from '../editor/editor';
3131

3232

33-
const CUSTOM_CATEGORY_METHODS = 'METHODS';
33+
const CUSTOM_CATEGORY_METHODS = 'MRC_METHODS';
34+
35+
export function registerCategory(blocklyWorkspace: Blockly.WorkspaceSvg): void {
36+
new MethodsCategory(blocklyWorkspace);
37+
}
3438

3539
export function getCategory(): toolboxItems.Category {
3640
return {
@@ -41,7 +45,7 @@ export function getCategory(): toolboxItems.Category {
4145
};
4246
}
4347

44-
export class MethodsCategory {
48+
class MethodsCategory {
4549
private robotClassBlocks = getBaseClassBlocks(CLASS_NAME_ROBOT_BASE);
4650
private mechanismClassBlocks = getBaseClassBlocks(CLASS_NAME_MECHANISM);
4751
private opmodeClassBlocks = getBaseClassBlocks(CLASS_NAME_OPMODE);

0 commit comments

Comments
 (0)