1 package net.sourceforge.phpdt.sql.view;
3 import org.eclipse.jface.viewers.DoubleClickEvent;
4 import org.eclipse.jface.viewers.IDoubleClickListener;
5 import org.eclipse.jface.viewers.ISelectionChangedListener;
6 import org.eclipse.jface.viewers.SelectionChangedEvent;
7 import org.eclipse.jface.viewers.StructuredSelection;
8 import org.eclipse.jface.viewers.TreeViewer;
9 import org.eclipse.swt.widgets.Composite;
10 import org.eclipse.ui.part.ViewPart;
12 import net.sourceforge.phpdt.sql.view.bookmark.Root;
13 import net.sourceforge.phpdt.sql.view.query.QueryContentProvider;
14 import net.sourceforge.phpdt.sql.view.query.QueryNode;
16 public class QueryHistoryView extends ViewPart {
17 private static QueryHistoryView instance;
18 private QueryContentProvider provider = new QueryContentProvider();
19 private TreeViewer treeViewer;
21 public static QueryHistoryView getInstance() {
24 public Object getCurrent() {
25 StructuredSelection selection = (StructuredSelection) treeViewer.getSelection();
26 if (selection != null) {
27 return selection.getFirstElement();
31 public void createPartControl(Composite parent) {
33 treeViewer = new TreeViewer(parent);
34 treeViewer.setContentProvider(provider);
35 treeViewer.setLabelProvider(new BookmarkLabelProvider());
36 treeViewer.setInput(Root.ROOT);
37 treeViewer.addDoubleClickListener(new IDoubleClickListener() {
38 public void doubleClick(DoubleClickEvent event) {
39 Object sel = getCurrent();
40 if (sel instanceof QueryNode) {
41 QueryNode node = (QueryNode) sel;
42 SQLQueryView.getInstance().setQuery(node.getQuery());
46 treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
47 public void selectionChanged(SelectionChangedEvent event) {
48 Object sel = getCurrent();
57 public void addQuery(String query) {
58 provider.addQuery(query);
62 public void setFocus() {