Exemple #1
0
        public override async Task ExecuteAsync()
        {
            var symbol = RoslynBasedModelService.GetSymbol(_diagramNode.ModelNode);

            if (await RoslynWorkspaceProvider.HasSourceAsync(symbol))
            {
                await RoslynWorkspaceProvider.ShowSourceAsync(symbol);
            }
            else
            {
                DiagramWindowService.ShowPopupMessage(NoSourceMessage, NoSourceMessageDuration);
            }
        }
        protected async Task <Maybe <IModelNode> > TryAddCurrentSymbolToDiagramAsync()
        {
            var maybeSymbol = await RoslynWorkspaceProvider.TryGetCurrentSymbolAsync();

            if (!maybeSymbol.HasValue)
            {
                return(Maybe <IModelNode> .Nothing);
            }

            var modelNode = RoslynBasedModelService.GetOrAddNode(maybeSymbol.Value);

            DiagramService.AddNode(modelNode.Id);
            return(Maybe.Create(modelNode));
        }
        private async Task ShowProgressAndUpdateModelAsync()
        {
            using (var progressDialog = await HostUiService.CreateProgressDialogAsync("Updating model nodes:"))
            {
                progressDialog.ShowWithDelay();

                try
                {
                    await RoslynBasedModelService.UpdateFromSourceAsync(progressDialog.CancellationToken, progressDialog.Progress);
                }
                catch (OperationCanceledException)
                {
                }
            }
        }
Exemple #4
0
 private async Task ExtendModelWithRelatedEntitiesAsync(
     [NotNull] IModelNode modelNode,
     CancellationToken cancellationToken,
     IIncrementalProgress progress)
 {
     await Task.WhenAll(
         RoslynBasedModelService.ExtendModelWithRelatedNodesAsync(
             modelNode,
             DirectedModelRelationshipTypes.BaseType,
             cancellationToken,
             progress,
             recursive: true),
         RoslynBasedModelService.ExtendModelWithRelatedNodesAsync(
             modelNode,
             DirectedModelRelationshipTypes.Subtype,
             cancellationToken,
             progress,
             recursive: true)
         );
 }
Exemple #5
0
        public override async Task ExecuteAsync()
        {
            await HostUiService.ShowDiagramWindowAsync();

            RoslynBasedModelService.ClearModel();
        }