Search in sources :

Example 1 with ChangePathsTreeViewer

use of org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer in project subclipse by subclipse.

the class ShowRevisionsDialog method createDialogArea.

protected Control createDialogArea(Composite parent) {
    if (title == null)
        // $NON-NLS-1$
        getShell().setText(Policy.bind("HistoryView.showMergedRevisions"));
    else
        getShell().setText(title);
    Composite composite = new Composite(parent, SWT.NULL);
    composite.setLayout(new GridLayout());
    GridData data = new GridData(GridData.FILL_BOTH);
    composite.setLayoutData(data);
    sashForm = new SashForm(composite, SWT.VERTICAL);
    sashForm.setLayout(new GridLayout());
    sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
    Composite historyGroup = new Composite(sashForm, SWT.NULL);
    historyGroup.setLayout(new GridLayout());
    historyGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    Tree tree = new Tree(historyGroup, SWT.BORDER | SWT.FULL_SELECTION);
    treeHistoryViewer = new TreeViewer(tree);
    data = new GridData(GridData.FILL_BOTH);
    data.widthHint = WIDTH_HINT;
    data.heightHint = LOG_HEIGHT_HINT;
    treeHistoryViewer.getTree().setLayoutData(data);
    treeHistoryViewer.getTree().setHeaderVisible(true);
    revisionColumn = new TreeColumn(treeHistoryViewer.getTree(), SWT.NONE);
    revisionColumn.setResizable(true);
    // $NON-NLS-1$
    revisionColumn.setText(Policy.bind("HistoryView.revision"));
    int revisionWidth = 75;
    int tagsWidth = 225;
    int dateWidth = 100;
    int authorWidth = 100;
    int commentWidth = 300;
    try {
        revisionWidth = settings.getInt("ShowRevisionsDialog.width_revision");
        dateWidth = settings.getInt("ShowRevisionsDialog.width_date");
        authorWidth = settings.getInt("ShowRevisionsDialog.width_author");
        commentWidth = settings.getInt("ShowRevisionsDialog.width_comment");
        tagsWidth = settings.getInt("ShowRevisionsDialog.width_tag");
    } catch (Exception e) {
    }
    revisionColumn.setWidth(revisionWidth);
    if (includeTags) {
        tagsColumn = new TreeColumn(treeHistoryViewer.getTree(), SWT.NONE);
        tagsColumn.setResizable(true);
        // $NON-NLS-1$
        tagsColumn.setText(Policy.bind("HistoryView.tags"));
        tagsColumn.setWidth(tagsWidth);
    }
    dateColumn = new TreeColumn(treeHistoryViewer.getTree(), SWT.NONE);
    dateColumn.setResizable(true);
    // $NON-NLS-1$
    dateColumn.setText(Policy.bind("HistoryView.date"));
    dateColumn.setWidth(dateWidth);
    authorColumn = new TreeColumn(treeHistoryViewer.getTree(), SWT.NONE);
    authorColumn.setResizable(true);
    // $NON-NLS-1$
    authorColumn.setText(Policy.bind("HistoryView.author"));
    authorColumn.setWidth(authorWidth);
    commentColumn = new TreeColumn(treeHistoryViewer.getTree(), SWT.NONE);
    commentColumn.setResizable(true);
    // $NON-NLS-1$
    commentColumn.setText(Policy.bind("HistoryView.comment"));
    commentColumn.setWidth(commentWidth);
    treeHistoryViewer.setLabelProvider(new ITableLabelProvider() {

        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            ILogEntry entry = (ILogEntry) element;
            int index = columnIndex;
            if (index > 0 && !includeTags)
                index++;
            switch(index) {
                case COL_REVISION:
                    String revision = entry.getRevision().toString();
                    return revision;
                case COL_TAGS:
                    return AliasManager.getAliasesAsString(entry.getTags());
                case COL_DATE:
                    Date date = entry.getDate();
                    // $NON-NLS-1$
                    if (date == null)
                        return Policy.bind("notAvailable");
                    return DateFormat.getInstance().format(date);
                case COL_AUTHOR:
                    // $NON-NLS-1$
                    if (entry.getAuthor() == null)
                        return Policy.bind("noauthor");
                    return entry.getAuthor();
                case COL_COMMENT:
                    String comment = entry.getComment();
                    // $NON-NLS-1$
                    if (comment == null)
                        return "";
                    // $NON-NLS-1$
                    int rIndex = comment.indexOf("\r");
                    // $NON-NLS-1$
                    int nIndex = comment.indexOf("\n");
                    if ((rIndex == -1) && (nIndex == -1))
                        return comment;
                    if ((rIndex == 0) || (nIndex == 0))
                        // $NON-NLS-1$
                        return Policy.bind("HistoryView.[...]_4");
                    if (rIndex != -1)
                        return Policy.bind("SVNCompareRevisionsInput.truncate", // $NON-NLS-1$
                        comment.substring(0, rIndex));
                    else
                        return Policy.bind("SVNCompareRevisionsInput.truncate", // $NON-NLS-1$
                        comment.substring(0, nIndex));
            }
            return null;
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }
    });
    treeHistoryViewer.setContentProvider(new WorkbenchContentProvider() {

        public Object[] getChildren(Object element) {
            if (element instanceof ILogEntry) {
                return ((ILogEntry) element).getChildMessages();
            }
            ILogEntry[] logEntries = { logEntry };
            return logEntries;
        }

        public Object[] getElements(Object element) {
            return getChildren(element);
        }

        public boolean hasChildren(Object element) {
            if (element instanceof ILogEntry) {
                return ((ILogEntry) element).getNumberOfChildren() > 0;
            }
            return false;
        }
    });
    treeHistoryViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection == null || !(selection instanceof IStructuredSelection)) {
                // $NON-NLS-1$
                textViewer.setDocument(new Document(""));
                changePathsViewer.setInput(null);
                return;
            }
            IStructuredSelection ss = (IStructuredSelection) selection;
            if (ss.size() != 1) {
                // $NON-NLS-1$
                textViewer.setDocument(new Document(""));
                changePathsViewer.setInput(null);
                return;
            }
            LogEntry entry = (LogEntry) ss.getFirstElement();
            textViewer.setDocument(new Document(entry.getComment()));
            changePathsViewer.setInput(entry);
        }
    });
    if (resource == null)
        treeHistoryViewer.setInput(remoteResource);
    else
        treeHistoryViewer.setInput(resource);
    treeHistoryViewer.resetFilters();
    treeHistoryViewer.expandToLevel(2);
    MenuManager menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(treeHistoryViewer.getTree());
    menuMgr.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager menuMgr) {
            fillTreeMenu(menuMgr);
        }
    });
    menuMgr.setRemoveAllWhenShown(true);
    treeHistoryViewer.getTree().setMenu(menu);
    Composite commentGroup = new Composite(sashForm, SWT.NULL);
    commentGroup.setLayout(new GridLayout());
    commentGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    textViewer = new TextViewer(commentGroup, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.READ_ONLY);
    data = new GridData(GridData.FILL_BOTH);
    data.heightHint = COMMENT_HEIGHT_HINT;
    data.widthHint = WIDTH_HINT;
    textViewer.getControl().setLayoutData(data);
    Composite pathGroup = new Composite(sashForm, SWT.NULL);
    pathGroup.setLayout(new GridLayout());
    pathGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    IPreferenceStore store = SVNUIPlugin.getPlugin().getPreferenceStore();
    int mode = store.getInt(ISVNUIConstants.PREF_AFFECTED_PATHS_MODE);
    IStructuredContentProvider contentProvider = new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            if ((inputElement == null) || (!(inputElement instanceof ILogEntry))) {
                return null;
            }
            ILogEntry logEntry = (ILogEntry) inputElement;
            return logEntry.getLogEntryChangePaths();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    };
    switch(mode) {
        case ISVNUIConstants.MODE_COMPRESSED:
            changePathsViewer = new ChangePathsTreeViewer(pathGroup, historyPage);
            break;
        case ISVNUIConstants.MODE_FLAT2:
            changePathsViewer = new ChangePathsFlatViewer(pathGroup, historyPage);
            break;
        default:
            changePathsViewer = new ChangePathsTableProvider(pathGroup, contentProvider);
            break;
    }
    try {
        int[] weights = new int[3];
        // $NON-NLS-1$
        weights[0] = settings.getInt("ShowRevisionsDialog.weights.0");
        // $NON-NLS-1$
        weights[1] = settings.getInt("ShowRevisionsDialog.weights.1");
        // $NON-NLS-1$
        weights[2] = settings.getInt("ShowRevisionsDialog.weights.2");
        sashForm.setWeights(weights);
    } catch (Exception e) {
    }
    if (selectFirst && treeHistoryViewer.getTree().getItemCount() > 0) {
        TreeItem item = treeHistoryViewer.getTree().getItem(0);
        treeHistoryViewer.getTree().setSelection(item);
        // Method not available in 3.3
        // treeHistoryViewer.getTree().select(item);
        treeHistoryViewer.setSelection(treeHistoryViewer.getSelection());
        changePathsViewer.refresh();
        if (changePathsViewer instanceof ChangePathsTreeViewer)
            ((ChangePathsTreeViewer) changePathsViewer).expandAll();
    }
    return composite;
}
Also used : ILogEntry(org.tigris.subversion.subclipse.core.history.ILogEntry) TreeItem(org.eclipse.swt.widgets.TreeItem) TreeViewer(org.eclipse.jface.viewers.TreeViewer) ChangePathsTreeViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) ChangePathsFlatViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsFlatViewer) TreeViewer(org.eclipse.jface.viewers.TreeViewer) ChangePathsTreeViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer) StructuredViewer(org.eclipse.jface.viewers.StructuredViewer) Viewer(org.eclipse.jface.viewers.Viewer) TextViewer(org.eclipse.jface.text.TextViewer) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Image(org.eclipse.swt.graphics.Image) Document(org.eclipse.jface.text.Document) TextViewer(org.eclipse.jface.text.TextViewer) GridLayout(org.eclipse.swt.layout.GridLayout) ITableLabelProvider(org.eclipse.jface.viewers.ITableLabelProvider) ChangePathsFlatViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsFlatViewer) TreeColumn(org.eclipse.swt.widgets.TreeColumn) ISelection(org.eclipse.jface.viewers.ISelection) Tree(org.eclipse.swt.widgets.Tree) Menu(org.eclipse.swt.widgets.Menu) LogEntry(org.tigris.subversion.subclipse.core.history.LogEntry) ILogEntry(org.tigris.subversion.subclipse.core.history.ILogEntry) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) WorkbenchContentProvider(org.eclipse.ui.model.WorkbenchContentProvider) ChangePathsTreeViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer) Point(org.eclipse.swt.graphics.Point) Date(java.util.Date) IMenuListener(org.eclipse.jface.action.IMenuListener) ChangePathsTableProvider(org.tigris.subversion.subclipse.ui.history.ChangePathsTableProvider) SashForm(org.eclipse.swt.custom.SashForm) ILabelProviderListener(org.eclipse.jface.viewers.ILabelProviderListener) GridData(org.eclipse.swt.layout.GridData) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) IMenuManager(org.eclipse.jface.action.IMenuManager) IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore)

Example 2 with ChangePathsTreeViewer

use of org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer in project subclipse by subclipse.

the class HistoryDialog method createDialogArea.

protected Control createDialogArea(Composite parent) {
    if (store.getInt(ISVNUIConstants.PREF_LOG_ENTRIES_TO_FETCH) == 0) {
        getAllLogEntries();
    } else {
        getLogEntries();
    }
    if (resource == null) {
        getShell().setText(Policy.bind("HistoryDialog.title") + " - " + // $NON-NLS-1$ //$NON-NLS-2$
        remoteResource.getName());
        setIncludeBugsAndTags(remoteResource);
    } else {
        getShell().setText(Policy.bind("HistoryDialog.title") + " - " + // $NON-NLS-1$ //$NON-NLS-2$
        resource.getName());
        setIncludeBugsAndTags(resource);
    }
    Composite composite = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.verticalSpacing = 0;
    layout.marginHeight = 0;
    composite.setLayout(layout);
    GridData data = new GridData(GridData.FILL_BOTH);
    composite.setLayoutData(data);
    sashForm = new SashForm(composite, SWT.VERTICAL);
    GridLayout sashLayout = new GridLayout();
    sashLayout.verticalSpacing = 0;
    sashLayout.marginHeight = 0;
    sashForm.setLayout(sashLayout);
    sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
    Composite historyGroup = new Composite(sashForm, SWT.NULL);
    GridLayout historyLayout = new GridLayout();
    historyLayout.verticalSpacing = 0;
    historyLayout.marginHeight = 0;
    historyLayout.marginTop = 5;
    historyGroup.setLayout(historyLayout);
    historyGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    historyTableProvider = new HistoryTableProvider(SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER, // $NON-NLS-1$
    "HistoryDialog");
    historyTableProvider.setIncludeBugs(includeBugs);
    historyTableProvider.setProjectProperties(projectProperties);
    historyTableProvider.setIncludeMergeRevisions(false);
    historyTableProvider.setIncludeTags(includeTags);
    historyTableProvider.setRemoteResource(remoteResource);
    tableHistoryViewer = historyTableProvider.createTable(historyGroup);
    data = new GridData(GridData.FILL_BOTH);
    data.widthHint = WIDTH_HINT;
    data.heightHint = LOG_HEIGHT_HINT;
    tableHistoryViewer.getTable().setLayoutData(data);
    tableHistoryViewer.setContentProvider(new IStructuredContentProvider() {

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public Object[] getElements(Object inputElement) {
            return entries;
        }
    });
    tableHistoryViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection == null || !(selection instanceof IStructuredSelection)) {
                // $NON-NLS-1$
                textViewer.setDocument(new Document(""));
                changePathsViewer.setInput(null);
                return;
            }
            IStructuredSelection ss = (IStructuredSelection) selection;
            if (ss.size() != 1) {
                // $NON-NLS-1$
                textViewer.setDocument(new Document(""));
                changePathsViewer.setInput(null);
                return;
            }
            LogEntry entry = (LogEntry) ss.getFirstElement();
            textViewer.setDocument(new Document(entry.getComment()));
            changePathsViewer.setCurrentLogEntry(entry);
            changePathsViewer.setInput(entry);
        }
    });
    tableHistoryViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }
    });
    tableHistoryViewer.setInput(remoteResource);
    tableHistoryViewer.resetFilters();
    Composite commentGroup = new Composite(sashForm, SWT.NULL);
    GridLayout commentLayout = new GridLayout();
    commentLayout.verticalSpacing = 0;
    commentLayout.marginHeight = 0;
    commentGroup.setLayout(commentLayout);
    commentGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    textViewer = new TextViewer(commentGroup, SWT.WRAP | SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.READ_ONLY);
    data = new GridData(GridData.FILL_BOTH);
    data.heightHint = COMMENT_HEIGHT_HINT;
    data.widthHint = WIDTH_HINT;
    textViewer.getControl().setLayoutData(data);
    Composite pathGroup = new Composite(sashForm, SWT.NULL);
    GridLayout pathLayout = new GridLayout();
    pathLayout.verticalSpacing = 0;
    pathLayout.marginHeight = 0;
    pathGroup.setLayout(pathLayout);
    pathGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    ChangePathsTreeContentProvider contentProvider = new ChangePathsTreeContentProvider();
    changePathsViewer = new ChangePathsTreeViewer(pathGroup, contentProvider);
    stopOnCopyButton = new Button(composite, SWT.CHECK);
    data = new GridData();
    data.verticalIndent = 5;
    data.horizontalIndent = 5;
    stopOnCopyButton.setLayoutData(data);
    stopOnCopyButton.setText(Policy.bind("HistoryView.stopOnCopy"));
    stopOnCopyButton.setSelection(store.getBoolean(ISVNUIConstants.PREF_STOP_ON_COPY));
    stopOnCopyButton.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            store.setValue(ISVNUIConstants.PREF_STOP_ON_COPY, stopOnCopyButton.getSelection());
            revisionStart = SVNRevision.HEAD;
            getLogEntries();
            tableHistoryViewer.refresh();
        }
    });
    try {
        int[] weights = new int[3];
        // $NON-NLS-1$
        weights[0] = settings.getInt("HistoryDialog.weights.0");
        // $NON-NLS-1$
        weights[1] = settings.getInt("HistoryDialog.weights.1");
        // $NON-NLS-1$
        weights[2] = settings.getInt("HistoryDialog.weights.2");
        sashForm.setWeights(weights);
    } catch (Exception e) {
    }
    // This is a hack to get around a problem with the initial sorting on OSx
    historyTableProvider.setSortColumn(tableHistoryViewer, 0);
    historyTableProvider.setSortColumn(tableHistoryViewer, 0);
    // set F1 help
    PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, IHelpContextIds.HISTORY_DIALOG);
    return composite;
}
Also used : Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) TableViewer(org.eclipse.jface.viewers.TableViewer) ChangePathsTreeViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer) Viewer(org.eclipse.jface.viewers.Viewer) TextViewer(org.eclipse.jface.text.TextViewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Document(org.eclipse.jface.text.Document) ChangePathsTreeViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer) SVNException(org.tigris.subversion.subclipse.core.SVNException) TeamException(org.eclipse.team.core.TeamException) HistoryTableProvider(org.tigris.subversion.subclipse.ui.history.HistoryTableProvider) TextViewer(org.eclipse.jface.text.TextViewer) SashForm(org.eclipse.swt.custom.SashForm) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) GridData(org.eclipse.swt.layout.GridData) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) ISelection(org.eclipse.jface.viewers.ISelection) SelectionEvent(org.eclipse.swt.events.SelectionEvent) LogEntry(org.tigris.subversion.subclipse.core.history.LogEntry) ILogEntry(org.tigris.subversion.subclipse.core.history.ILogEntry)

Example 3 with ChangePathsTreeViewer

use of org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer in project subclipse by subclipse.

the class MergeWizardRevisionsPage method createControl.

public void createControl(Composite parent) {
    final MergeWizard wizard = (MergeWizard) getWizard();
    resources = wizard.getResources();
    if (resources != null && resources.length > 0) {
        svnResource = SVNWorkspaceRoot.getSVNResourceFor(resources[0]);
        try {
            repositoryLocation = svnResource.getRepository();
        } catch (Exception e1) {
        }
    }
    Composite composite = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.verticalSpacing = 0;
    layout.marginHeight = 0;
    composite.setLayout(layout);
    GridData data = new GridData(GridData.FILL_BOTH);
    composite.setLayoutData(data);
    horizontalSash = new SashForm(composite, SWT.HORIZONTAL);
    horizontalSash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    verticalSash = new SashForm(horizontalSash, SWT.VERTICAL);
    GridLayout sashLayout = new GridLayout();
    sashLayout.verticalSpacing = 0;
    sashLayout.marginHeight = 0;
    verticalSash.setLayout(sashLayout);
    verticalSash.setLayoutData(new GridData(GridData.FILL_BOTH));
    Composite historyGroup = new Composite(verticalSash, SWT.NULL);
    GridLayout historyLayout = new GridLayout();
    historyLayout.verticalSpacing = 5;
    historyLayout.marginHeight = 0;
    historyGroup.setLayout(historyLayout);
    historyGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    Composite filterGroup = new Composite(historyGroup, SWT.NULL);
    GridLayout filterLayout = new GridLayout();
    filterLayout.verticalSpacing = 0;
    filterLayout.marginHeight = 0;
    filterLayout.numColumns = 3;
    filterGroup.setLayout(filterLayout);
    filterGroup.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
    Label filterLabel = new Label(filterGroup, SWT.NULL);
    filterLabel.setText(Messages.MergeWizardRevisionsPage_filter);
    filterText = new Text(filterGroup, SWT.BORDER);
    filterText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
    filterText.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent e) {
            tableHistoryViewer.addFilter(new TextViewFilter());
            tableHistoryViewer.refresh();
            TableItem[] items = tableHistoryViewer.getTable().getItems();
            for (TableItem item : items) {
                ILogEntry entry = adaptToLogEntry(item.getData());
                if (entry != null) {
                    SVNRevision.Number revision = entry.getRevision();
                    item.setChecked(selectedRevisions.contains(revision));
                }
            }
            showMessage();
        }
    });
    this.moreOptionsButton = new Button(filterGroup, 8);
    this.moreOptionsButton.setText(Messages.MergeWizardRevisionsPage_moreOptions);
    SelectionListener selectionListener = getSelectionListener();
    this.moreOptionsButton.addSelectionListener(selectionListener);
    historyTableProvider = new HistoryTableProvider(SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK, pageName);
    historyTableProvider.setIncludeMergeRevisions(false);
    historyTableProvider.setIncludeTags(false);
    tableHistoryViewer = historyTableProvider.createTable(historyGroup);
    data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 500;
    data.heightHint = 100;
    tableHistoryViewer.getTable().setLayoutData(data);
    tableHistoryViewer.setContentProvider(new IStructuredContentProvider() {

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public Object[] getElements(Object inputElement) {
            if (entries == null)
                return new ILogEntry[0];
            return entries;
        }
    });
    tableHistoryViewer.setInput(getUrl());
    tableHistoryViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            generateChangeLogButton.setEnabled(!tableHistoryViewer.getSelection().isEmpty());
            TableItem[] items = tableHistoryViewer.getTable().getItems();
            for (TableItem item : items) {
                ILogEntry entry = adaptToLogEntry(item.getData());
                SVNRevision.Number revision = entry.getRevision();
                if (item.getChecked()) {
                    selectedRevisions.add(revision);
                } else {
                    selectedRevisions.remove(revision);
                }
            }
            if (selectedRevisions.size() == 0) {
                if (message == null)
                    showMessage();
                else
                    setMessage(message);
            } else {
                // check size of entries and table data
                setMessage(selectedRevisions.size() + Messages.MergeWizardRevisionsPage_revisionsSelected);
            }
            setPageComplete(canFinish());
        }
    });
    tableHistoryViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            setPageComplete(canFinish());
            ISelection selection = event.getSelection();
            if (selection == null || !(selection instanceof IStructuredSelection)) {
                // $NON-NLS-1$
                textViewer.setDocument(new Document(""));
                changePathsViewer.setInput(null);
                return;
            }
            IStructuredSelection ss = (IStructuredSelection) selection;
            if (ss.size() != 1) {
                // $NON-NLS-1$
                textViewer.setDocument(new Document(""));
                changePathsViewer.setInput(null);
                return;
            }
            LogEntry entry = (LogEntry) ss.getFirstElement();
            textViewer.setDocument(new Document(entry.getComment()));
            changePathsViewer.setCurrentLogEntry(entry);
            changePathsViewer.setInput(entry);
        }
    });
    generateChangeLogAction = new GenerateChangeLogAction(new ISelectionProvider() {

        public void addSelectionChangedListener(ISelectionChangedListener listener) {
        }

        public ISelection getSelection() {
            return tableHistoryViewer.getSelection();
        }

        public void setSelection(ISelection selection) {
        }

        public void removeSelectionChangedListener(ISelectionChangedListener listener) {
        }
    });
    MenuManager menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(tableHistoryViewer.getTable());
    menuMgr.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager menuMgr) {
            if (!tableHistoryViewer.getSelection().isEmpty()) {
                menuMgr.add(new ToggleSelectionAction());
                menuMgr.add(generateChangeLogAction);
            }
        }
    });
    menuMgr.setRemoveAllWhenShown(true);
    tableHistoryViewer.getTable().setMenu(menu);
    Composite commentGroup = new Composite(verticalSash, SWT.NULL);
    GridLayout commentLayout = new GridLayout();
    commentLayout.verticalSpacing = 0;
    commentLayout.marginHeight = 0;
    commentGroup.setLayout(commentLayout);
    commentGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    textViewer = new TextViewer(commentGroup, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.READ_ONLY);
    data = new GridData(GridData.FILL_BOTH);
    data.heightHint = 100;
    data.widthHint = 500;
    textViewer.getControl().setLayoutData(data);
    Composite pathGroup = new Composite(verticalSash, SWT.NULL);
    GridLayout pathLayout = new GridLayout();
    pathLayout.verticalSpacing = 0;
    pathLayout.marginHeight = 0;
    pathGroup.setLayout(pathLayout);
    pathGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    ViewForm viewerPane = new ViewForm(pathGroup, SWT.BORDER | SWT.FLAT);
    viewerPane.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    CLabel toolbarLabel = new CLabel(viewerPane, SWT.NONE) {

        public Point computeSize(int wHint, int hHint, boolean changed) {
            return super.computeSize(wHint, Math.max(24, hHint), changed);
        }
    };
    toolbarLabel.setText(Messages.MergeWizardRevisionsPage_2);
    viewerPane.setTopLeft(toolbarLabel);
    ToolBar toolbar = new ToolBar(viewerPane, SWT.FLAT);
    viewerPane.setTopCenter(toolbar);
    ToolBarManager toolbarManager = new ToolBarManager(toolbar);
    toolbarManager.add(new Separator());
    toolbarManager.add(new // $NON-NLS-1$
    ControlContribution(// $NON-NLS-1$
    "showCompare") {

        @Override
        protected Control createControl(Composite parent) {
            showCompareButton = new Button(parent, SWT.TOGGLE | SWT.FLAT);
            showCompareButton.setImage(SVNUIPlugin.getImage(ISVNUIConstants.IMG_SYNCPANE));
            showCompareButton.setToolTipText(Messages.MergeWizardRevisionsPage_4);
            showCompareButton.setSelection(showCompare);
            showCompareButton.addSelectionListener(new SelectionAdapter() {

                public void widgetSelected(SelectionEvent e) {
                    showComparePane(!showCompare);
                    if (showCompare) {
                        compareRevisions();
                    }
                }
            });
            return showCompareButton;
        }
    });
    toolbarManager.update(true);
    ChangePathsTreeContentProvider contentProvider = new ChangePathsTreeContentProvider();
    changePathsViewer = new ChangePathsTreeViewer(viewerPane, contentProvider);
    viewerPane.setContent(changePathsViewer.getTree());
    changePathsViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            compareRevisions();
        }
    });
    changePathsViewer.getTree().addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            if (showCompare) {
                compareRevisions();
            }
        }
    });
    setPageComplete(canFinish());
    if (message == null)
        setMessage(Messages.MergeWizardRevisionsPage_specifyRevisions);
    else
        setMessage(message);
    try {
        int[] weights = new int[3];
        // $NON-NLS-1$
        weights[0] = settings.getInt("MergeWizardRevisionsPageWeights0");
        // $NON-NLS-1$
        weights[1] = settings.getInt("MergeWizardRevisionsPageWeights1");
        // $NON-NLS-1$
        weights[2] = settings.getInt("MergeWizardRevisionsPageWeights2");
        verticalSash.setWeights(weights);
    } catch (Exception e) {
    }
    compareViewerPane = new CompareViewerSwitchingPane(horizontalSash, SWT.BORDER | SWT.FLAT) {

        protected Viewer getViewer(Viewer oldViewer, Object input) {
            CompareConfiguration cc = compareInput.getCompareConfiguration();
            cc.setLeftEditable(false);
            cc.setRightEditable(false);
            cc.setLeftLabel(compareInput.getLeftLabel());
            cc.setRightLabel(compareInput.getRightLabel());
            return CompareUI.findContentViewer(oldViewer, input, this, cc);
        }
    };
    compareViewerPane.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    try {
        int[] weights = new int[2];
        // $NON-NLS-1$
        weights[0] = settings.getInt("MergeWizardRevisionsPageWeightsHorizontal0");
        // $NON-NLS-1$
        weights[1] = settings.getInt("MergeWizardRevisionsPageWeightsHorizontal1");
        horizontalSash.setWeights(weights);
    } catch (Exception e) {
    }
    Composite buttonGroup = new Composite(composite, SWT.NULL);
    GridLayout buttonLayout = new GridLayout();
    buttonLayout.numColumns = 3;
    buttonGroup.setLayout(buttonLayout);
    data = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
    buttonGroup.setLayoutData(data);
    generateChangeLogButton = new Button(buttonGroup, SWT.PUSH);
    generateChangeLogButton.setText(Messages.MergeWizardRevisionsPage_generateChangeLog);
    generateChangeLogButton.setEnabled(false);
    generateChangeLogButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            generateChangeLogAction.run();
        }
    });
    if (!showCompare) {
        horizontalSash.setMaximizedControl(verticalSash);
    } else {
        showCompareButton.setSelection(true);
    }
    setControl(composite);
}
Also used : ILogEntry(org.tigris.subversion.subclipse.core.history.ILogEntry) TableItem(org.eclipse.swt.widgets.TableItem) CLabel(org.eclipse.swt.custom.CLabel) Label(org.eclipse.swt.widgets.Label) ChangePathsTreeViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer) TextViewer(org.eclipse.jface.text.TextViewer) TableViewer(org.eclipse.jface.viewers.TableViewer) Viewer(org.eclipse.jface.viewers.Viewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Document(org.eclipse.jface.text.Document) TextViewer(org.eclipse.jface.text.TextViewer) ModifyEvent(org.eclipse.swt.events.ModifyEvent) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) GenerateChangeLogAction(org.tigris.subversion.subclipse.ui.actions.GenerateChangeLogAction) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) CompareViewerSwitchingPane(org.eclipse.compare.CompareViewerSwitchingPane) ChangePathsTreeViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer) ViewForm(org.eclipse.swt.custom.ViewForm) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) SelectionListener(org.eclipse.swt.events.SelectionListener) CLabel(org.eclipse.swt.custom.CLabel) ModifyListener(org.eclipse.swt.events.ModifyListener) CompareConfiguration(org.eclipse.compare.CompareConfiguration) ToolBarManager(org.eclipse.jface.action.ToolBarManager) HistoryTableProvider(org.tigris.subversion.subclipse.ui.history.HistoryTableProvider) GridLayout(org.eclipse.swt.layout.GridLayout) Control(org.eclipse.swt.widgets.Control) ISelectionProvider(org.eclipse.jface.viewers.ISelectionProvider) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) ISelection(org.eclipse.jface.viewers.ISelection) Menu(org.eclipse.swt.widgets.Menu) ILogEntry(org.tigris.subversion.subclipse.core.history.ILogEntry) LogEntry(org.tigris.subversion.subclipse.core.history.LogEntry) Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Text(org.eclipse.swt.widgets.Text) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) SVNException(org.tigris.subversion.subclipse.core.SVNException) InvocationTargetException(java.lang.reflect.InvocationTargetException) TeamException(org.eclipse.team.core.TeamException) MalformedURLException(java.net.MalformedURLException) IMenuListener(org.eclipse.jface.action.IMenuListener) SashForm(org.eclipse.swt.custom.SashForm) GridData(org.eclipse.swt.layout.GridData) ToolBar(org.eclipse.swt.widgets.ToolBar) IMenuManager(org.eclipse.jface.action.IMenuManager) Separator(org.eclipse.jface.action.Separator)

Example 4 with ChangePathsTreeViewer

use of org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer in project subclipse by subclipse.

the class MergeWizardUnblockRevisionsPage method createControl.

public void createControl(Composite parent) {
    final MergeWizard wizard = (MergeWizard) getWizard();
    resource = wizard.getResource();
    if (resource != null) {
        svnResource = SVNWorkspaceRoot.getSVNResourceFor(resource);
        try {
            repositoryLocation = svnResource.getRepository();
        } catch (Exception e1) {
        }
    }
    Composite composite = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.verticalSpacing = 0;
    layout.marginHeight = 0;
    composite.setLayout(layout);
    GridData data = new GridData(GridData.FILL_BOTH);
    composite.setLayoutData(data);
    horizontalSash = new SashForm(composite, SWT.HORIZONTAL);
    horizontalSash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    verticalSash = new SashForm(horizontalSash, SWT.VERTICAL);
    GridLayout sashLayout = new GridLayout();
    sashLayout.verticalSpacing = 0;
    sashLayout.marginHeight = 0;
    verticalSash.setLayout(sashLayout);
    verticalSash.setLayoutData(new GridData(GridData.FILL_BOTH));
    Composite historyGroup = new Composite(verticalSash, SWT.NULL);
    GridLayout historyLayout = new GridLayout();
    historyLayout.verticalSpacing = 0;
    historyLayout.marginHeight = 0;
    historyGroup.setLayout(historyLayout);
    historyGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    historyTableProvider = new HistoryTableProvider(SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK, // $NON-NLS-1$
    "MergeWizardUnblockRevisionsPage");
    historyTableProvider.setIncludeMergeRevisions(false);
    historyTableProvider.setIncludeTags(false);
    tableHistoryViewer = historyTableProvider.createTable(historyGroup);
    data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 500;
    data.heightHint = 100;
    tableHistoryViewer.getTable().setLayoutData(data);
    tableHistoryViewer.setContentProvider(new IStructuredContentProvider() {

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public Object[] getElements(Object inputElement) {
            if (entries == null)
                return new ILogEntry[0];
            return entries;
        }
    });
    tableHistoryViewer.setInput(fromUrl);
    tableHistoryViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            setPageComplete(canFinish());
            ISelection selection = event.getSelection();
            if (selection == null || !(selection instanceof IStructuredSelection)) {
                // $NON-NLS-1$
                textViewer.setDocument(new Document(""));
                changePathsViewer.setInput(null);
                return;
            }
            IStructuredSelection ss = (IStructuredSelection) selection;
            if (ss.size() != 1) {
                // $NON-NLS-1$
                textViewer.setDocument(new Document(""));
                changePathsViewer.setInput(null);
                return;
            }
            LogEntry entry = (LogEntry) ss.getFirstElement();
            textViewer.setDocument(new Document(entry.getComment()));
            changePathsViewer.setCurrentLogEntry(entry);
            changePathsViewer.setInput(entry);
        }
    });
    MenuManager menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(tableHistoryViewer.getTable());
    menuMgr.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager menuMgr) {
            if (!tableHistoryViewer.getSelection().isEmpty()) {
                menuMgr.add(new ToggleSelectionAction());
            }
        }
    });
    menuMgr.setRemoveAllWhenShown(true);
    tableHistoryViewer.getTable().setMenu(menu);
    Composite commentGroup = new Composite(verticalSash, SWT.NULL);
    GridLayout commentLayout = new GridLayout();
    commentLayout.verticalSpacing = 0;
    commentLayout.marginHeight = 0;
    commentGroup.setLayout(commentLayout);
    commentGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    textViewer = new TextViewer(commentGroup, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.READ_ONLY);
    data = new GridData(GridData.FILL_BOTH);
    data.heightHint = 100;
    data.widthHint = 500;
    textViewer.getControl().setLayoutData(data);
    Composite pathGroup = new Composite(verticalSash, SWT.NULL);
    GridLayout pathLayout = new GridLayout();
    pathLayout.verticalSpacing = 0;
    pathLayout.marginHeight = 0;
    pathGroup.setLayout(pathLayout);
    pathGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    ViewForm viewerPane = new ViewForm(pathGroup, SWT.BORDER | SWT.FLAT);
    viewerPane.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    CLabel toolbarLabel = new CLabel(viewerPane, SWT.NONE) {

        public Point computeSize(int wHint, int hHint, boolean changed) {
            return super.computeSize(wHint, Math.max(24, hHint), changed);
        }
    };
    toolbarLabel.setText(Messages.MergeWizardRevisionsPage_2);
    viewerPane.setTopLeft(toolbarLabel);
    ToolBar toolbar = new ToolBar(viewerPane, SWT.FLAT);
    viewerPane.setTopCenter(toolbar);
    ToolBarManager toolbarManager = new ToolBarManager(toolbar);
    toolbarManager.add(new Separator());
    toolbarManager.add(new // $NON-NLS-1$
    ControlContribution(// $NON-NLS-1$
    "showCompare") {

        @Override
        protected Control createControl(Composite parent) {
            showCompareButton = new Button(parent, SWT.TOGGLE | SWT.FLAT);
            showCompareButton.setImage(SVNUIPlugin.getImage(ISVNUIConstants.IMG_SYNCPANE));
            showCompareButton.setToolTipText(Messages.MergeWizardRevisionsPage_4);
            showCompareButton.setSelection(showCompare);
            showCompareButton.addSelectionListener(new SelectionAdapter() {

                public void widgetSelected(SelectionEvent e) {
                    showComparePane(!showCompare);
                    if (showCompare) {
                        compareRevisions();
                    }
                }
            });
            return showCompareButton;
        }
    });
    toolbarManager.update(true);
    ChangePathsTreeContentProvider contentProvider = new ChangePathsTreeContentProvider();
    changePathsViewer = new ChangePathsTreeViewer(viewerPane, contentProvider);
    viewerPane.setContent(changePathsViewer.getTree());
    changePathsViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            compareRevisions();
        }
    });
    changePathsViewer.getTree().addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            if (showCompare) {
                compareRevisions();
            }
        }
    });
    setPageComplete(false);
    setMessage(Messages.MergeWizardUnblockRevisionsPage_specifyRevisions);
    try {
        int[] weights = new int[3];
        // $NON-NLS-1$
        weights[0] = settings.getInt("MergeWizardRevisionsPageWeights0");
        // $NON-NLS-1$
        weights[1] = settings.getInt("MergeWizardRevisionsPageWeights1");
        // $NON-NLS-1$
        weights[2] = settings.getInt("MergeWizardRevisionsPageWeights2");
        verticalSash.setWeights(weights);
    } catch (Exception e) {
    }
    compareViewerPane = new CompareViewerSwitchingPane(horizontalSash, SWT.BORDER | SWT.FLAT) {

        protected Viewer getViewer(Viewer oldViewer, Object input) {
            CompareConfiguration cc = compareInput.getCompareConfiguration();
            cc.setLeftEditable(false);
            cc.setRightEditable(false);
            cc.setLeftLabel(compareInput.getLeftLabel());
            cc.setRightLabel(compareInput.getRightLabel());
            return CompareUI.findContentViewer(oldViewer, input, this, cc);
        }
    };
    compareViewerPane.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    try {
        int[] weights = new int[2];
        // $NON-NLS-1$
        weights[0] = settings.getInt("MergeWizardRevisionsPageWeightsHorizontal0");
        // $NON-NLS-1$
        weights[1] = settings.getInt("MergeWizardRevisionsPageWeightsHorizontal1");
        horizontalSash.setWeights(weights);
    } catch (Exception e) {
    }
    if (!showCompare) {
        horizontalSash.setMaximizedControl(verticalSash);
    } else {
        showCompareButton.setSelection(true);
    }
    setControl(composite);
}
Also used : CLabel(org.eclipse.swt.custom.CLabel) ILogEntry(org.tigris.subversion.subclipse.core.history.ILogEntry) CompareConfiguration(org.eclipse.compare.CompareConfiguration) TableViewer(org.eclipse.jface.viewers.TableViewer) ChangePathsTreeViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer) Viewer(org.eclipse.jface.viewers.Viewer) TextViewer(org.eclipse.jface.text.TextViewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Document(org.eclipse.jface.text.Document) ToolBarManager(org.eclipse.jface.action.ToolBarManager) HistoryTableProvider(org.tigris.subversion.subclipse.ui.history.HistoryTableProvider) TextViewer(org.eclipse.jface.text.TextViewer) GridLayout(org.eclipse.swt.layout.GridLayout) Control(org.eclipse.swt.widgets.Control) Button(org.eclipse.swt.widgets.Button) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) ISelection(org.eclipse.jface.viewers.ISelection) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Menu(org.eclipse.swt.widgets.Menu) LogEntry(org.tigris.subversion.subclipse.core.history.LogEntry) ILogEntry(org.tigris.subversion.subclipse.core.history.ILogEntry) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) CompareViewerSwitchingPane(org.eclipse.compare.CompareViewerSwitchingPane) ChangePathsTreeViewer(org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer) InvocationTargetException(java.lang.reflect.InvocationTargetException) TeamException(org.eclipse.team.core.TeamException) IMenuListener(org.eclipse.jface.action.IMenuListener) SashForm(org.eclipse.swt.custom.SashForm) ViewForm(org.eclipse.swt.custom.ViewForm) GridData(org.eclipse.swt.layout.GridData) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) ToolBar(org.eclipse.swt.widgets.ToolBar) IMenuManager(org.eclipse.jface.action.IMenuManager) Separator(org.eclipse.jface.action.Separator)

Aggregations

Document (org.eclipse.jface.text.Document)4 TextViewer (org.eclipse.jface.text.TextViewer)4 ISelection (org.eclipse.jface.viewers.ISelection)4 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)4 IStructuredContentProvider (org.eclipse.jface.viewers.IStructuredContentProvider)4 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)4 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)4 Viewer (org.eclipse.jface.viewers.Viewer)4 SashForm (org.eclipse.swt.custom.SashForm)4 GridData (org.eclipse.swt.layout.GridData)4 GridLayout (org.eclipse.swt.layout.GridLayout)4 Composite (org.eclipse.swt.widgets.Composite)4 ILogEntry (org.tigris.subversion.subclipse.core.history.ILogEntry)4 LogEntry (org.tigris.subversion.subclipse.core.history.LogEntry)4 ChangePathsTreeViewer (org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer)4 IMenuListener (org.eclipse.jface.action.IMenuListener)3 IMenuManager (org.eclipse.jface.action.IMenuManager)3 MenuManager (org.eclipse.jface.action.MenuManager)3 DoubleClickEvent (org.eclipse.jface.viewers.DoubleClickEvent)3 IDoubleClickListener (org.eclipse.jface.viewers.IDoubleClickListener)3