Skip to content

Commit

Permalink
Adjusted according to review discussion
Browse files Browse the repository at this point in the history
  • Loading branch information
rubenthoms committed Oct 13, 2023
1 parent daf4d0a commit 5f09194
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 27 deletions.
8 changes: 8 additions & 0 deletions frontend/src/framework/GuiMessageBroker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import React from "react";

import { Point } from "@lib/utils/geometry";

import { GlobalCursor } from "./internal/GlobalCursor";

export enum DrawerContent {
ModuleSettings = "ModuleSettings",
ModulesList = "ModulesList",
Expand Down Expand Up @@ -84,15 +86,21 @@ export class GuiMessageBroker {
private _eventListeners: Map<GuiEvent, Set<(event: any) => void>>;
private _stateSubscribers: Map<GuiState, Set<(state: any) => void>>;
private _storedValues: Map<GuiState, any>;
private _globalCursor: GlobalCursor;

constructor() {
this._eventListeners = new Map();
this._stateSubscribers = new Map();
this._storedValues = defaultStates;
this._globalCursor = new GlobalCursor();

this.loadPersistentStates();
}

getGlobalCursor(): GlobalCursor {
return this._globalCursor;
}

private loadPersistentStates() {
persistentStates.forEach((state) => {
const value = localStorage.getItem(state);
Expand Down
32 changes: 16 additions & 16 deletions frontend/src/framework/ModuleContext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,6 @@ export class ModuleContext<S extends StateBaseType> {
this._stateStore = stateStore;
}

getInputChannel(name: string): BroadcastChannel | null {
return this._moduleInstance.getInputChannel(name);
}

setInputChannel(inputName: string, channelName: string): void {
this._moduleInstance.setInputChannel(inputName, channelName);
}

getInputChannelDef(name: string): InputBroadcastChannelDef | undefined {
return this._moduleInstance.getInputChannelDefs().find((channelDef) => channelDef.name === name);
}

getInstanceIdString(): string {
return this._moduleInstance.getId();
}
Expand Down Expand Up @@ -63,10 +51,6 @@ export class ModuleContext<S extends StateBaseType> {
return keyArr;
}

getChannel(channelName: string): BroadcastChannel {
return this._moduleInstance.getBroadcastChannel(channelName);
}

setInstanceTitle(title: string): void {
this._moduleInstance.setTitle(title);
}
Expand All @@ -75,6 +59,22 @@ export class ModuleContext<S extends StateBaseType> {
return this._moduleInstance.getStatusController();
}

getChannel(channelName: string): BroadcastChannel {
return this._moduleInstance.getBroadcastChannel(channelName);
}

getInputChannel(name: string): BroadcastChannel | null {
return this._moduleInstance.getInputChannel(name);
}

setInputChannel(inputName: string, channelName: string): void {
this._moduleInstance.setInputChannel(inputName, channelName);
}

getInputChannelDef(name: string): InputBroadcastChannelDef | undefined {
return this._moduleInstance.getInputChannelDefs().find((channelDef) => channelDef.name === name);
}

useInputChannel(name: string, initialSettings?: InitialSettings): BroadcastChannel | null {
const [channel, setChannel] = React.useState<BroadcastChannel | null>(null);

Expand Down
6 changes: 0 additions & 6 deletions frontend/src/framework/Workbench.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ export class Workbench {
private _workbenchSettings: PrivateWorkbenchSettings;
private _broadcaster: Broadcaster;
private _guiMessageBroker: GuiMessageBroker;
private _globalCursor: GlobalCursor;
private _subscribersMap: { [key: string]: Set<() => void> };
private _layout: LayoutElement[];
private _perModuleRunningInstanceNumber: Record<string, number>;
Expand All @@ -48,7 +47,6 @@ export class Workbench {
this._workbenchSettings = new PrivateWorkbenchSettings();
this._broadcaster = new Broadcaster();
this._guiMessageBroker = new GuiMessageBroker();
this._globalCursor = new GlobalCursor();
this._subscribersMap = {};
this._layout = [];
this._perModuleRunningInstanceNumber = {};
Expand Down Expand Up @@ -87,10 +85,6 @@ export class Workbench {
return this._guiMessageBroker;
}

getGlobalCursor(): GlobalCursor {
return this._globalCursor;
}

private notifySubscribers(event: WorkbenchEvents): void {
const subscribers = this._subscribersMap[event];
if (!subscribers) return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export const DataChannelVisualizationLayer: React.FC<DataChannelVisualizationPro
};
setVisible(true);
setOriginPoint(localCurrentOriginPoint);
props.workbench.getGlobalCursor().setOverrideCursor(GlobalCursorType.Crosshair);
guiMessageBroker.getGlobalCursor().setOverrideCursor(GlobalCursorType.Crosshair);
localMousePressed = true;
setCurrentPointerPosition(localCurrentOriginPoint);
setCurrentChannelName(null);
Expand Down Expand Up @@ -100,7 +100,7 @@ export const DataChannelVisualizationLayer: React.FC<DataChannelVisualizationPro
setVisible(false);
setEditDataChannelConnectionsForModuleInstanceId(null);
setShowDataChannelConnections(false);
props.workbench.getGlobalCursor().restoreOverrideCursor();
guiMessageBroker.getGlobalCursor().restoreOverrideCursor();
setDataChannelConnectionsLayerVisible(false);
}

Expand Down Expand Up @@ -136,15 +136,15 @@ export const DataChannelVisualizationLayer: React.FC<DataChannelVisualizationPro
function handleNodeHover(payload: GuiEventPayloads[GuiEvent.DataChannelNodeHover]) {
if (!localEditDataChannelConnections) {
if (payload.connectionAllowed) {
props.workbench.getGlobalCursor().changeOverrideCursor(GlobalCursorType.Copy);
guiMessageBroker.getGlobalCursor().changeOverrideCursor(GlobalCursorType.Copy);
} else {
props.workbench.getGlobalCursor().changeOverrideCursor(GlobalCursorType.NotAllowed);
guiMessageBroker.getGlobalCursor().changeOverrideCursor(GlobalCursorType.NotAllowed);
}
}
}

function handleNodeUnhover() {
props.workbench.getGlobalCursor().restoreOverrideCursor();
guiMessageBroker.getGlobalCursor().restoreOverrideCursor();
}

function handleEditDataChannelConnectionsRequest(
Expand Down

0 comments on commit 5f09194

Please sign in to comment.