コード例 #1
0
        protected override async Task OnUncheckedAsync()
        {
            await HostUiService.ShowDiagramWindowAsync();

            DiagramWindowService.CollapseAllNodes();
            DiagramWindowService.KeepDiagramCentered();
        }
コード例 #2
0
        public override async Task ExecuteAsync()
        {
            await HostUiService.ShowDiagramWindowAsync();

            DiagramWindowService.ExpandAllNodes();
            DiagramWindowService.KeepDiagramCentered();
        }
コード例 #3
0
        protected async Task CreateAndProcessDiagramImageAsync(
            [NotNull] Action <BitmapSource> imageProcessingAction,
            [NotNull] string imageProcessingMessage)
        {
            // Using int.MaxValue for max progress because the real max value is not yet known.
            using (var progressDialog = await HostUiService.CreateProgressDialogAsync("Generating image..", int.MaxValue))
            {
                progressDialog.ShowProgressNumber = false;
                progressDialog.ShowWithDelay();

                try
                {
                    var bitmapSource = await DiagramWindowService.CreateDiagramImageAsync(
                        DiagramWindowService.ImageExportDpi.Value,
                        DiagramWindowService.ExportedImageMargin,
                        progressDialog.CancellationToken,
                        progressDialog.Progress,
                        progressDialog.MaxProgress);

                    progressDialog.Reset(imageProcessingMessage, showProgressNumber: false);
                    await Task.Factory.StartSTA(() => imageProcessingAction(bitmapSource), progressDialog.CancellationToken);
                }
                catch (OperationCanceledException)
                {
                }
                catch (OutOfMemoryException)
                {
                    HandleOutOfMemory();
                }
            }
        }
コード例 #4
0
        public override async Task ExecuteAsync()
        {
            await ShowProgressAndUpdateModelAsync();

            await HostUiService.ShowDiagramWindowAsync();

            DiagramWindowService.ZoomToDiagram();
        }
コード例 #5
0
        public override async Task ExecuteAsync()
        {
            await ShowProgressAndAddItemsAsync(_modelNodeIds);

            await HostUiService.ShowDiagramWindowAsync();

            if (_followWithViewport)
            {
                DiagramWindowService.FollowDiagramNodes(_modelNodeIds);
            }
        }
コード例 #6
0
        public override async Task ExecuteAsync()
        {
            var maybeModelNode = await TryAddCurrentSymbolToDiagramAsync();

            if (!maybeModelNode.HasValue)
            {
                return;
            }

            await HostUiService.ShowDiagramWindowAsync();

            DiagramWindowService.FollowDiagramNode(maybeModelNode.Value.Id);
        }
コード例 #7
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);
            }
        }
コード例 #8
0
        public override async Task ExecuteAsync()
        {
            var maybeModelNode = await TryAddCurrentSymbolToDiagramAsync();

            if (!maybeModelNode.HasValue)
            {
                return;
            }

            var addedNodeIds = await ExtendModelAndDiagramAsync(maybeModelNode.Value);

            if (!addedNodeIds.Any())
            {
                return;
            }

            await HostUiService.ShowDiagramWindowAsync();

            DiagramWindowService.FollowDiagramNodes(addedNodeIds);
        }
コード例 #9
0
 public ShowHideNodeDescriptionsToggleCommand(IAppServices appServices)
     : base(appServices, initialIsChecked: AppDefaults.NodeDescriptionsVisibleByDefault)
 {
     DiagramWindowService.ExpandAllNodes();
 }
コード例 #10
0
        public override async Task ExecuteAsync()
        {
            await HostUiService.ShowDiagramWindowAsync();

            DiagramWindowService.ZoomToDiagram();
        }