コード例 #1
0
        protected override void OnFetchCompleted(Diff diff)
        {
            if (DiffViewerHeaders.IsDisposed || DiffViewerFiles.IsDisposed)
            {
                return;
            }

            DiffViewerFiles.BeginUpdate();
            _allDiffPanels.Clear();
            _progressPanel.Remove();
            if (diff != null)
            {
                FlowPanelSeparator separator = null;
                var changedFilesPanel        = new ChangedFilesPanel()
                {
                    Diff = diff
                };
                changedFilesPanel.FileNavigationRequested +=
                    (s, e) =>
                {
                    foreach (var panel in DiffViewerFiles.Panels)
                    {
                        var diffpanel = panel as FileDiffPanel;
                        if (diffpanel != null && diffpanel.DiffFile == e.DiffFile)
                        {
                            diffpanel.ScrollIntoView();
                            break;
                        }
                    }
                };
                changedFilesPanel.StatusFilterChanged += OnStatusFilterChanged;
                DiffViewerHeaders.Panels.Add(changedFilesPanel);
                foreach (var file in diff)
                {
                    var fileDiffPanel = new FileDiffPanel(DiffSource.Repository, file, diff.Type);
                    _allDiffPanels.Add(fileDiffPanel);
                    DiffViewerFiles.Panels.Add(fileDiffPanel);
                    DiffViewerFiles.Panels.Add(separator = new FlowPanelSeparator()
                    {
                        SeparatorStyle = FlowPanelSeparatorStyle.Simple
                    });
                }
                if (separator != null)
                {
                    separator.Height = 6;
                }
            }
            DiffViewerFiles.EndUpdate();
            if (_scrollPosAfterReload != 0)
            {
                DiffViewerFiles.BeginInvoke(new Action <int>(SetScrollPos), _scrollPosAfterReload);
            }
        }
コード例 #2
0
        protected override void OnFetchCompleted(Diff diff)
        {
            if (DiffViewer.IsDisposed)
            {
                return;
            }

            DiffViewer.BeginUpdate();
            _allDiffPanels.Clear();
            _progressPanel.Remove();
            if (diff != null)
            {
                FlowPanelSeparator separator = null;
                var changedFilesPanel        = new ChangedFilesPanel()
                {
                    Diff = diff
                };
                changedFilesPanel.StatusFilterChanged += OnStatusFilterChanged;
                DiffViewer.Panels.Add(changedFilesPanel);
                DiffViewer.Panels.Add(new FlowPanelSeparator()
                {
                    SeparatorStyle = FlowPanelSeparatorStyle.Line
                });
                foreach (var file in diff)
                {
                    var fileDiffPanel = new FileDiffPanel(DiffSource.Repository, file, diff.Type);
                    _allDiffPanels.Add(fileDiffPanel);
                    DiffViewer.Panels.Add(fileDiffPanel);
                    DiffViewer.Panels.Add(separator = new FlowPanelSeparator()
                    {
                        SeparatorStyle = FlowPanelSeparatorStyle.Simple
                    });
                }
                if (separator != null)
                {
                    separator.Height = 6;
                }
            }
            DiffViewer.EndUpdate();
            if (_scrollPosAfterReload != 0)
            {
                DiffViewer.BeginInvoke(new Action <int>(SetScrollPos), _scrollPosAfterReload);
            }
        }