List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java
License:Open Source License
/** * Contributes double-click support, expanding/collapsing nodes. * * @param treeViewer/* w w w . j a v a2 s. co m*/ * tree viewer */ private void contributeDoubleClick(final TreeViewer treeViewer) { treeViewer.getTree().addMouseListener(new MouseAdapter() { public void mouseDoubleClick(MouseEvent event) { IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); Object element = selection.getFirstElement(); if (treeViewer.isExpandable(element)) { if (treeViewer.getExpandedState(element)) { treeViewer.collapseToLevel(element, 1); } else { treeViewer.expandToLevel(element, 1); } } } }); }
From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java
License:Open Source License
/** * Contributes key synchronization between editor and tree selected keys. * * @param treeViewer/*from w ww. jav a 2 s . c o m*/ * tree viewer */ private void contributeModelChanges(final TreeViewer treeViewer) { final IKeyTreeModelListener keyTreeListener = new IKeyTreeModelListener() { public void nodeAdded(KeyTreeNode node) { Display.getDefault().asyncExec(new Runnable() { public void run() { if (!editor.getI18NPage().isDisposed() && !treeViewer.getTree().isDisposed()) { treeViewer.refresh(true); } } }); }; public void nodeRemoved(KeyTreeNode node) { Display.getDefault().asyncExec(new Runnable() { public void run() { if (!editor.getI18NPage().isDisposed() && !treeViewer.getTree().isDisposed()) { treeViewer.refresh(true); } } }); }; }; treeModel.addKeyTreeModelListener(keyTreeListener); editor.addChangeListener(new MessagesEditorChangeAdapter() { public void keyTreeModelChanged(AbstractKeyTreeModel oldModel, AbstractKeyTreeModel newModel) { oldModel.removeKeyTreeModelListener(keyTreeListener); newModel.addKeyTreeModelListener(keyTreeListener); treeViewer.setInput(newModel); treeViewer.refresh(); } public void showOnlyUnusedAndMissingChanged(int hideEverythingElse) { treeViewer.refresh(); } }); }
From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java
License:Open Source License
/** * Contributes key synchronization between editor and tree selected keys. * * @param treeViewer/*from w ww .j a v a 2 s .co m*/ * tree viewer */ private void contributeKeySync(final TreeViewer treeViewer) { // changes in tree selected key update the editor treeViewer.getTree().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); if (selection != null && selection.getFirstElement() != null) { KeyTreeNode node = (KeyTreeNode) selection.getFirstElement(); LOGGER.log(Level.INFO, "viewer key/hash:" + node.getMessageKey() + "/" + node.hashCode()); editor.setSelectedKey(node.getMessageKey()); } else { editor.setSelectedKey(null); } } }); // changes in editor selected key updates the tree editor.addChangeListener(new MessagesEditorChangeAdapter() { public void selectedKeyChanged(String oldKey, String newKey) { ITreeContentProvider provider = (ITreeContentProvider) treeViewer.getContentProvider(); if (provider != null) { // alst workaround KeyTreeNode node = findKeyTreeNode(provider, provider.getElements(null), newKey); if (node != null) { treeViewer.setSelection(new StructuredSelection(node), true); treeViewer.getTree().showSelection(); } } } }); }
From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java
License:Open Source License
/** * Contributes actions to the tree.//from ww w.j av a 2 s .c om * * @param treeViewer * tree viewer */ private void contributeActions(final TreeViewer treeViewer) { Tree tree = treeViewer.getTree(); // Add menu MenuManager menuManager = new MenuManager(); Menu menu = menuManager.createContextMenu(tree); // Add final IAction addAction = new AddKeyAction(editor, treeViewer); menuManager.add(addAction); // Delete final IAction deleteAction = new DeleteKeyAction(editor, treeViewer); menuManager.add(deleteAction); // Refactor final IAction refactorAction = new RefactorKeyAction(editor, treeViewer); menuManager.add(refactorAction); menuManager.update(true); menuManager.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); KeyTreeNode node = (KeyTreeNode) selection.getFirstElement(); refactorAction.setEnabled(node != null && node.getChildren().length == 0); deleteAction.setEnabled(node != null); } }); tree.setMenu(menu); // Bind actions to tree tree.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent event) { if (event.character == SWT.DEL) { deleteAction.run(); } } }); }
From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java
License:Open Source License
/** * Contributes actions to the tree.// w w w. j av a 2 s . com * @param treeViewer tree viewer */ private void contributeActions(final TreeViewer treeViewer) { final Tree tree = treeViewer.getTree(); // Add menu final MenuManager menuManager = new MenuManager(); final Menu menu = menuManager.createContextMenu(tree); // Add final IAction addAction = new AddKeyAction(editor, treeViewer); menuManager.add(addAction); // Delete final IAction deleteAction = new DeleteKeyAction(editor, treeViewer); menuManager.add(deleteAction); // Rename final IAction renameAction = new RenameKeyAction(editor, treeViewer); menuManager.add(renameAction); menuManager.update(true); tree.setMenu(menu); // Bind actions to tree tree.addKeyListener(new KeyAdapter() { @Override public void keyReleased(final KeyEvent event) { if (event.character == SWT.DEL) { deleteAction.run(); } else if (event.keyCode == SWT.F2) { renameAction.run(); } } }); }
From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java
License:Open Source License
/** * Contributes double-click support, expanding/collapsing nodes. * @param treeViewer tree viewer/*from w w w . j av a2s . com*/ */ private void contributeDoubleClick(final TreeViewer treeViewer) { treeViewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(final MouseEvent event) { final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); final Object element = selection.getFirstElement(); if (treeViewer.isExpandable(element)) { if (treeViewer.getExpandedState(element)) { treeViewer.collapseToLevel(element, 1); } else { treeViewer.expandToLevel(element, 1); } } } }); }
From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java
License:Open Source License
/** * Contributes key synchronization between editor and tree selected keys. * @param treeViewer tree viewer/* ww w. j a v a 2 s . com*/ */ private void contributeKeySync(final TreeViewer treeViewer) { // changes in tree selected key update the editor treeViewer.getTree().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); if (selection != null && selection.getFirstElement() != null) { final KeyTreeNode node = (KeyTreeNode) selection.getFirstElement(); System.out.println("viewer key/hash:" + node.getMessageKey() + "/" + node.hashCode()); editor.setSelectedKey(node.getMessageKey()); } else { editor.setSelectedKey(null); } } }); // changes in editor selected key updates the tree editor.addChangeListener(new MessagesEditorChangeAdapter() { @Override public void selectedKeyChanged(final String oldKey, final String newKey) { final ITreeContentProvider provider = (ITreeContentProvider) treeViewer.getContentProvider(); final KeyTreeNode node = findKeyTreeNode(provider, provider.getElements(null), newKey); System.out.println("editor key/hash:" + node.getMessageKey() + "/" + node.hashCode()); // String[] test = newKey.split("\\."); // treeViewer.setSelection(new StructuredSelection(test), true); treeViewer.setSelection(new StructuredSelection(node), true); treeViewer.getTree().showSelection(); } }); }
From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java
License:Open Source License
/** * Contributes markers./*from w w w . j a va 2 s . co m*/ * @param treeViewer tree viewer */ private void contributeMarkers(final TreeViewer treeViewer) { editor.getMarkers().addObserver(new Observer() { public void update(final Observable o, final Object arg) { fRefreshCounter[0]++; final Runnable refreshThread = new Runnable() { final int fRunnableRefreshCounter = fRefreshCounter[0]; public void run() { if (fRunnableRefreshCounter != fRefreshCounter[0]) { // a new refresh event occured return; } if (treeViewer.getTree().isDisposed()) { // widget is disposed return; } treeViewer.refresh(); } }; Display.getDefault().asyncExec(refreshThread); } }); // editor.addChangeListener(new MessagesEditorChangeAdapter() { // public void editorDisposed() { // editor.getMarkers().clear(); // } // }); // final IMarkerListener markerListener = new IMarkerListener() { // public void markerAdded(IMarker marker) { // PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable () { // public void run() { // if (!PlatformUI.getWorkbench().getDisplay().isDisposed()) { // treeViewer.refresh(true); // } // } // }); // } // public void markerRemoved(IMarker marker) { // PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable () { // public void run() { // if (!PlatformUI.getWorkbench().getDisplay().isDisposed()) { // treeViewer.refresh(true); // } // } // }); // } // }; // editor.getMarkerManager().addMarkerListener(markerListener); // editor.addChangeListener(new MessagesEditorChangeAdapter() { // public void editorDisposed() { // editor.getMarkerManager().removeMarkerListener(markerListener); // } // }); }
From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java
License:Open Source License
/** * Contributes key synchronization between editor and tree selected keys. * @param treeViewer tree viewer/*from w w w . j a v a 2 s. c om*/ */ private void contributeKeySync(final TreeViewer treeViewer) { // changes in tree selected key update the editor treeViewer.getTree().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); if (selection != null && selection.getFirstElement() != null) { KeyTreeNode node = (KeyTreeNode) selection.getFirstElement(); System.out.println("viewer key/hash:" + node.getMessageKey() + "/" + node.hashCode()); editor.setSelectedKey(node.getMessageKey()); } else { editor.setSelectedKey(null); } } }); // changes in editor selected key updates the tree editor.addChangeListener(new MessagesEditorChangeAdapter() { public void selectedKeyChanged(String oldKey, String newKey) { ITreeContentProvider provider = (ITreeContentProvider) treeViewer.getContentProvider(); KeyTreeNode node = findKeyTreeNode(provider, provider.getElements(null), newKey); System.out.println("editor key/hash:" + node.getMessageKey() + "/" + node.hashCode()); // String[] test = newKey.split("\\."); // treeViewer.setSelection(new StructuredSelection(test), true); treeViewer.setSelection(new StructuredSelection(node), true); treeViewer.getTree().showSelection(); } }); }
From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java
License:Open Source License
/** * Contributes actions to the tree./*from www .j a va2 s . com*/ * @param treeViewer tree viewer */ private void contributeActions(final TreeViewer treeViewer) { Tree tree = treeViewer.getTree(); // Add menu MenuManager menuManager = new MenuManager(); Menu menu = menuManager.createContextMenu(tree); // Add final IAction addAction = new AddKeyAction(editor, treeViewer); menuManager.add(addAction); // Delete final IAction deleteAction = new DeleteKeyAction(editor, treeViewer); menuManager.add(deleteAction); // Rename final IAction renameAction = new RenameKeyAction(editor, treeViewer); menuManager.add(renameAction); menuManager.update(true); tree.setMenu(menu); // Bind actions to tree tree.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent event) { if (event.character == SWT.DEL) { deleteAction.run(); } else if (event.keyCode == SWT.F2) { renameAction.run(); } } }); }