protected override void ComposeTree(TreeComposer composer) { switch (this.Engine.State) { case ExecutionState.Paused: { Actions.Action(composer, "nextline", EditorResources.Actions_NextLine, () => { this.Engine.Continue(pauseAtNextLine: true); return(Task.CompletedTask); }); Actions.Action(composer, "continue", EditorResources.Actions_Continue, () => { this.Engine.Continue(pauseAtNextLine: false); return(JSInterop.Monaco.RemoveDecorations()); }); break; } case ExecutionState.Running: { Actions.Action(composer, "pause", EditorResources.Actions_Pause, () => { this.Engine.Pause(); return(Task.CompletedTask); }); break; } } }
protected override void ComposeLeftActions(TreeComposer composer) { Actions.Action(composer, "back", EditorResources.Actions_Back, () => { NavigationStore.NagivateTo(NavigationStore.PageId.Edit); return(Task.CompletedTask); }); }
protected override void ComposeLeftActions(TreeComposer composer) { Actions.Action(composer, "new", EditorResources.Actions_New, onClick: () => JSInterop.Monaco.ClearEditor(EditorResources.Actions_ClearEverythingConfirmation)); Actions.Separator(composer); Actions.Action(composer, "save", EditorResources.Actions_Save, onClick: JSInterop.Monaco.SaveToFile); Actions.Action(composer, "open", EditorResources.Actions_Open, onClick: () => JSInterop.Monaco.OpenFile(EditorResources.Actions_ClearEverythingConfirmation)); Actions.DisabledAction(composer, "import", EditorResources.Actions_Import, message: EditorResources.Actions_DisabledMessage_ComingSoon); Actions.DisabledAction(composer, "publish", EditorResources.Actions_Publish, message: EditorResources.Actions_DisabledMessage_ComingSoon); Actions.Separator(composer); Actions.Action(composer, "cut", EditorResources.Actions_Cut, onClick: JSInterop.Monaco.Cut); Actions.Action(composer, "copy", EditorResources.Actions_Copy, onClick: JSInterop.Monaco.Copy); Actions.Action(composer, "paste", EditorResources.Actions_Paste, onClick: JSInterop.Monaco.Paste); Actions.Separator(composer); Actions.Action(composer, "undo", EditorResources.Actions_Undo, onClick: JSInterop.Monaco.Undo); Actions.Action(composer, "redo", EditorResources.Actions_Redo, onClick: JSInterop.Monaco.Redo); }
protected override void ComposeTree(TreeComposer composer) { if (CompilationStore.Compilation.Diagnostics.Any()) { string message = string.Format(CultureInfo.CurrentCulture, EditorResources.Errors_Count, CompilationStore.Compilation.Diagnostics.Count); Actions.DisabledAction(composer, "debug", EditorResources.Actions_Debug, message: message); Actions.DisabledAction(composer, "run", EditorResources.Actions_Run, message: message); } else { Actions.Action(composer, "debug", EditorResources.Actions_Debug, onClick: () => { NavigationStore.NagivateTo(NavigationStore.PageId.Debug); return(Task.CompletedTask); }); Actions.Action(composer, "run", EditorResources.Actions_Run, onClick: () => { NavigationStore.NagivateTo(NavigationStore.PageId.Run); return(Task.CompletedTask); }); } }