diff --git a/TaskAndTimeTimJahn.txt b/TaskAndTimeTimJahn.txt index 579378433e68e404c68941a2c89b6b7f0d9c5b59..aea00bea96ac164b72b6dc809ca1b45c95b603ec 100644 --- a/TaskAndTimeTimJahn.txt +++ b/TaskAndTimeTimJahn.txt @@ -55,6 +55,7 @@ hours: 11.01.25 4h - 12.01.25 12h - 19.01.25 4h +26.01.25 8h //------------------------------------------------------------------------------------------------------ see https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisite_native_keymap diff --git a/glsp-client/tasklist-glsp/src/model.ts b/glsp-client/tasklist-glsp/src/model.ts index 0def81f0835827dc30961f6b6eb32380ad2789ee..09787fde8d8c3dbd77e4d688c24c7bf43ef87bf1 100644 --- a/glsp-client/tasklist-glsp/src/model.ts +++ b/glsp-client/tasklist-glsp/src/model.ts @@ -184,6 +184,16 @@ export function isPlace(element: GModelElement): boolean { return element.type === PNMLModelTypes.PLACE; } + +export function isRefTransition(element: GModelElement): boolean { + return element.type === PNMLModelTypes.REF_TRANSITION; +} + +export function isRefPlace(element:GModelElement): boolean { + return element.type === PNMLModelTypes.REF_PLACE; +} + + export interface HasArgs { args: any; } diff --git a/glsp-client/tasklist-theia/src/browser/diagram/edit-input-signals-context-menu.ts b/glsp-client/tasklist-theia/src/browser/diagram/edit-input-signals-context-menu.ts index e5bbb7a1b93ab533e4345b7b8607d808211ec362..232ae883637c3ba6adbc416a46d4d8d0b0901179 100644 --- a/glsp-client/tasklist-theia/src/browser/diagram/edit-input-signals-context-menu.ts +++ b/glsp-client/tasklist-theia/src/browser/diagram/edit-input-signals-context-menu.ts @@ -18,7 +18,7 @@ import { GLSPCommandHandler, GLSPContextMenu } from '@eclipse-glsp/theia-integra import { CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry } from '@theia/core'; import { ApplicationShell } from '@theia/core/lib/browser'; import { inject, injectable } from 'inversify'; -import { isTransition, EditInputSignalMenu } from 'tasklist-glsp'; +import { isTransition, EditInputSignalMenu, isRefTransition } from 'tasklist-glsp'; export namespace EditInputSignalsMenuCommand { export const EDIT_INPUT_SIGNALS_MENU = 'edit-input-signals-menu-command'; @@ -37,7 +37,14 @@ export class EditInputSignalsMenuCommandContribution implements CommandContribut visible: true }) ], - isEnabled: context => !context.isReadonly && context.selectedElements.filter(isTransition).length === 1 + isEnabled: context => !context.isReadonly && ( + context.selectedElements.filter(isTransition).length === 1 || + context.selectedElements.filter(isRefTransition).length === 1 + ), + isVisible: context => !context.isReadonly && ( + context.selectedElements.filter(isTransition).length === 1 || + context.selectedElements.filter(isRefTransition).length === 1 + ) }) ); } diff --git a/glsp-client/tasklist-theia/src/browser/diagram/reset-markings-context-menu.ts b/glsp-client/tasklist-theia/src/browser/diagram/reset-markings-context-menu.ts index 2f00eba3a132f57f69016a3e3e82553211c9375f..a64f27aa952ec1905d85e2be1aca0aee65dd0206 100644 --- a/glsp-client/tasklist-theia/src/browser/diagram/reset-markings-context-menu.ts +++ b/glsp-client/tasklist-theia/src/browser/diagram/reset-markings-context-menu.ts @@ -17,7 +17,7 @@ import { GLSPCommandHandler, GLSPContextMenu } from '@eclipse-glsp/theia-integra import { CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry } from '@theia/core'; import { ApplicationShell } from '@theia/core/lib/browser'; import { inject, injectable } from 'inversify'; -import { isPlace, ResetMarkingsOperation } from 'tasklist-glsp'; +import { isPlace, ResetMarkingsOperation, isRefPlace } from 'tasklist-glsp'; export namespace ResetMarkingsCommand { export const RESET_MARKINGS = 'reset-markings-command'; @@ -31,7 +31,14 @@ export class ResetMarkingsCommandContribution implements CommandContribution { { id: ResetMarkingsCommand.RESET_MARKINGS, label: 'Reset Markings' }, new GLSPCommandHandler(this.shell, { actions: context => [ResetMarkingsOperation.create()], - isEnabled: context => !context.isReadonly && context.selectedElements.filter(isPlace).length === 1 + isEnabled: context => !context.isReadonly && ( + context.selectedElements.filter(isPlace).length === 1 || + context.selectedElements.filter(isRefPlace).length == 1 + ), + isVisible: context => !context.isReadonly && ( + context.selectedElements.filter(isPlace).length === 1 || + context.selectedElements.filter(isRefPlace).length == 1 + ) }) ); }