1) Fixed issue #751: Pathmap 'Edit' button enable/disable handling.
[phpeclipse.git] / net.sourceforge.phpeclipse.xdebug.ui / src / net / sourceforge / phpeclipse / xdebug / ui / views / logview / LogView.java
index d698b1c..10fae63 100644 (file)
@@ -27,7 +27,6 @@ import java.util.Arrays;
 import java.util.Comparator;
 import java.util.Date;
 
-import net.sourceforge.phpeclipse.xdebug.core.XDebugCorePlugin;
 import net.sourceforge.phpeclipse.xdebug.ui.XDebugUIPlugin;
 import net.sourceforge.phpeclipse.xdebug.ui.XDebugUIPluginImages;
 
@@ -55,14 +54,15 @@ import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.ITreeViewerListener;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableTreeViewer;
+//import org.eclipse.jface.viewers.TableTreeViewer;
 import org.eclipse.jface.viewers.TreeExpansionEvent;
+import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerSorter;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
+//import org.eclipse.swt.custom.TableTree;
+//import org.eclipse.swt.custom.TableTreeItem;
 import org.eclipse.swt.dnd.Clipboard;
 import org.eclipse.swt.dnd.TextTransfer;
 import org.eclipse.swt.dnd.Transfer;
@@ -85,10 +85,14 @@ import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
+//import org.eclipse.swt.widgets.Table;
+//import org.eclipse.swt.widgets.TableColumn;
+//import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.swt.widgets.TreeItem;
+//import org.eclipse.swt.widgets.Tree;
 import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.IMemento;
 import org.eclipse.ui.ISharedImages;
@@ -103,7 +107,8 @@ import org.eclipse.ui.part.ViewPart;
 public class LogView extends ViewPart implements ILogListener {
   public final static String ID_LOGVIEW = "net.sourceforge.phpdt.internal.debug.core.logview.LogView"; //$NON-NLS-1$
 
-  private TableTreeViewer tableTreeViewer;
+  //private TableTreeViewer tableTreeViewer;
+  private /*Table*/TreeViewer tableTreeViewer;
 
   private ArrayList logs = new ArrayList();
 
@@ -173,15 +178,15 @@ public class LogView extends ViewPart implements ILogListener {
 
   private String directory;
 
-  private TableColumn column0;
+  private /*Table*/TreeColumn column0;
 
-  private TableColumn column1;
+  private TreeColumn column1;
 
-  private TableColumn column2;
+  private TreeColumn column2;
 
-  private TableColumn column3;
+  private TreeColumn column3;
 
-  private TableColumn column4;
+  private TreeColumn column4;
 
   private static Font boldFont;
 
@@ -205,24 +210,24 @@ public class LogView extends ViewPart implements ILogListener {
 
   public void createPartControl(Composite parent) {
     readLogFile();
-    TableTree tableTree = new TableTree(parent, SWT.FULL_SELECTION);
+    /*Table*/Tree tableTree = new /*Table*/Tree(parent, SWT.FULL_SELECTION);
+    
     tableTree.setLayoutData(new GridData(GridData.FILL_BOTH));
-    createColumns(tableTree.getTable());
+    createColumns(tableTree/*get getColumns()*//*.get getTable()*/);
     createViewer(tableTree);
     createPopupMenuManager(tableTree);
-    makeActions(tableTree.getTable());
+    makeActions(tableTree/*.getTable()*/);
     fillToolBar();
     Platform.addLogListener(this);
     getSite().setSelectionProvider(tableTreeViewer);
     clipboard = new Clipboard(tableTree.getDisplay());
-    //        WorkbenchHelp.setHelp(tableTree, IHelpContextIds.LOG_VIEW);
-    tableTreeViewer.getTableTree().getTable().setToolTipText(""); //$NON-NLS-1$
+    tableTreeViewer.getTree().setToolTipText(""); // setToolTipText/* getTableTree().getTable()*/./*setToolTipText*/(""); //$NON-NLS-1$
     initializeFonts();
     applyFonts();
   }
 
   private void initializeFonts() {
-    Font tableFont = tableTreeViewer.getTableTree().getFont();
+    Font tableFont = tableTreeViewer.getTree().getFont(); // getTableTree().getFont();
     FontData[] fontDataList = tableFont.getFontData();
     FontData fontData;
     if (fontDataList.length > 0)
@@ -230,26 +235,26 @@ public class LogView extends ViewPart implements ILogListener {
     else
       fontData = new FontData();
     fontData.setStyle(SWT.BOLD);
-    boldFont = new Font(tableTreeViewer.getTableTree().getDisplay(), fontData);
+    boldFont = new Font(tableTreeViewer.getTree()/*getTableTree()*/.getDisplay(), fontData);
   }
 
   /*
    * Set all rows where the tableTreeItem has children to have a <b>bold </b> font.
    */
   private void applyFonts() {
-    if (tableTreeViewer == null || tableTreeViewer.getTableTree().isDisposed())
+    if (tableTreeViewer == null || tableTreeViewer.getTree()/*getTableTree()*/.isDisposed())
       return;
-    int max = tableTreeViewer.getTableTree().getItemCount();
+    int max = tableTreeViewer.getTree().getItemCount();
     int index = 0, tableIndex = 0;
     while (index < max) {
-      LogEntry entry = (LogEntry) tableTreeViewer.getElementAt(index);
+      LogEntry entry = null; //(LogEntry) tableTreeViewer.get getElementAt(index);
       if (entry == null)
         return;
       if (entry.hasChildren()) {
-        tableTreeViewer.getTableTree().getItems()[index].setFont(boldFont);
+        tableTreeViewer.getTree()/*getTableTree()*/.getItems()[index].setFont(boldFont);
         tableIndex = applyChildFonts(entry, tableIndex);
       } else {
-        tableTreeViewer.getTableTree().getItems()[index].setFont(tableTreeViewer.getTableTree().getFont());
+        tableTreeViewer.getTree()/*getTableTree()*/.getItems()[index].setFont(tableTreeViewer.getTree()/*getTableTree()*/.getFont());
       }
       index++;
       tableIndex++;
@@ -263,15 +268,15 @@ public class LogView extends ViewPart implements ILogListener {
     for (int i = 0; i < children.length; i++) {
       index++;
       if (children[i].hasChildren()) {
-        TableItem tableItem = getTableItem(index);
+        /*TableItem*/ TreeItem tableItem = getTableItem(index);
         if (tableItem != null) {
           tableItem.setFont(boldFont);
         }
         index = applyChildFonts(children[i], index);
       } else {
-        TableItem tableItem = getTableItem(index);
+        /*TableItem*/ TreeItem tableItem = getTableItem(index);
         if (tableItem != null) {
-          tableItem.setFont(tableTreeViewer.getTableTree().getFont());
+          tableItem.setFont(tableTreeViewer.getTree()/*getTableTree()*/.getFont());
         }
       }
     }
@@ -287,8 +292,8 @@ public class LogView extends ViewPart implements ILogListener {
     return children;
   }
 
-  private TableItem getTableItem(int index) {
-    TableItem[] tableItems = tableTreeViewer.getTableTree().getTable().getItems();
+  private TreeItem /*TableItem*/ getTableItem(int index) {
+    /*TableItem[]*/ TreeItem[] tableItems = tableTreeViewer.getTree().getItems(); // /*getTableTree()*/.getTable().getItems();
     if (index > tableItems.length - 1)
       return null;
     return tableItems[index];
@@ -312,8 +317,8 @@ public class LogView extends ViewPart implements ILogListener {
     mgr.add(activateViewAction);
   }
 
-  private void createViewer(TableTree tableTree) {
-    tableTreeViewer = new TableTreeViewer(tableTree);
+  private void createViewer(/*Table*/Tree tableTree) {
+    tableTreeViewer = new /*Table*/TreeViewer(tableTree);
     tableTreeViewer.setContentProvider(new LogViewContentProvider(this));
     tableTreeViewer.setLabelProvider(new LogViewLabelProvider());
     tableTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@@ -342,7 +347,7 @@ public class LogView extends ViewPart implements ILogListener {
     tableTreeViewer.setInput(Platform.class);
   }
 
-  private void createPopupMenuManager(TableTree tableTree) {
+  private void createPopupMenuManager(/*Table*/Tree tableTree) {
     MenuManager popupMenuManager = new MenuManager();
     IMenuListener listener = new IMenuListener() {
       public void menuAboutToShow(IMenuManager mng) {
@@ -355,12 +360,12 @@ public class LogView extends ViewPart implements ILogListener {
     tableTree.setMenu(menu);
   }
 
-  private void createColumns(Table table) {
-    column0 = new TableColumn(table, SWT.NULL);
+  private void createColumns(/*Table*/ Tree table) {
+    column0 = new TreeColumn(table, SWT.NULL);
     column0.setText(""); //$NON-NLS-1$
-    column1 = new TableColumn(table, SWT.NULL);
+    column1 = new TreeColumn(table, SWT.NULL);
     column1.setText(XDebugUIPlugin.getString("LogView.column.severity")); //$NON-NLS-1$
-    column2 = new TableColumn(table, SWT.NULL);
+    column2 = new TreeColumn(table, SWT.NULL);
     column2.setText(XDebugUIPlugin.getString("LogView.column.message")); //$NON-NLS-1$
     column2.addSelectionListener(new SelectionAdapter() {
       public void widgetSelected(SelectionEvent e) {
@@ -375,7 +380,7 @@ public class LogView extends ViewPart implements ILogListener {
         applyFonts();
       }
     });
-    column3 = new TableColumn(table, SWT.NULL);
+    column3 = new TreeColumn(table, SWT.NULL);
     column3.setText(XDebugUIPlugin.getString("LogView.column.plugin"));  //$NON-NLS-1$
     column3.addSelectionListener(new SelectionAdapter() {
       public void widgetSelected(SelectionEvent e) {
@@ -390,7 +395,7 @@ public class LogView extends ViewPart implements ILogListener {
         applyFonts();
       }
     });
-    column4 = new TableColumn(table, SWT.NULL);
+    column4 = new TreeColumn(table, SWT.NULL);
     column4.setText(XDebugUIPlugin.getString("LogView.column.date")); //$NON-NLS-1$
     column4.addSelectionListener(new SelectionAdapter() {
       public void widgetSelected(SelectionEvent e) {
@@ -419,7 +424,7 @@ public class LogView extends ViewPart implements ILogListener {
     table.setHeaderVisible(true);
   }
 
-  private void makeActions(Table table) {
+  private void makeActions(/*Table*/Tree table) {
     propertiesAction = new EventDetailsDialogAction(table.getShell(), tableTreeViewer);
     propertiesAction.setImageDescriptor(XDebugUIPluginImages.getImageDescriptor(XDebugUIPluginImages.IMG_PROPERTIES));
     propertiesAction.setDisabledImageDescriptor(XDebugUIPluginImages.getImageDescriptor(XDebugUIPluginImages.IMG_PROPERTIES));
@@ -598,7 +603,7 @@ public class LogView extends ViewPart implements ILogListener {
   }
 
   private void handleFilter() {
-    FilterDialog dialog = new FilterDialog(XDebugCorePlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(), memento);
+    FilterDialog dialog = new FilterDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), memento);
     dialog.create();
     dialog.getShell().setText(XDebugUIPlugin.getString("LogView.FilterDialog.title")); //$NON-NLS-1$
     if (dialog.open() == FilterDialog.OK)
@@ -713,7 +718,8 @@ public class LogView extends ViewPart implements ILogListener {
             deleteLogAction.setEnabled(inputFile.exists() && inputFile.equals(Platform.getLogFileLocation().toFile()));
             viewLogAction.setEnabled(inputFile.exists());
             if (activate && activateViewAction.isChecked()) {
-              IWorkbenchPage page = XDebugCorePlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
+              //IWorkbenchPage page = XDebugCorePlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
+               IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
               if (page != null)
                 page.bringToTop(view);
             }
@@ -725,8 +731,8 @@ public class LogView extends ViewPart implements ILogListener {
   }
 
   public void setFocus() {
-    if (tableTreeViewer != null && !tableTreeViewer.getTableTree().isDisposed())
-      tableTreeViewer.getTableTree().getTable().setFocus();
+    if (tableTreeViewer != null && !tableTreeViewer.getTree()/*getTableTree()*/.isDisposed())
+      tableTreeViewer.getTree().setFocus(); ///*getTableTree()*/.getTable().setFocus();
   }
 
   private void handleSelectionChanged(ISelection selection) {
@@ -832,7 +838,7 @@ public class LogView extends ViewPart implements ILogListener {
     };
     int[] tableEvents = new int[] { SWT.MouseDown, SWT.MouseMove, SWT.MouseHover };
     for (int i = 0; i < tableEvents.length; i++) {
-      tableTreeViewer.getTableTree().getTable().addListener(tableEvents[i], tableListener);
+      tableTreeViewer.getTree().addListener(tableEvents[i], tableListener);
     }
   }
 
@@ -887,8 +893,8 @@ public class LogView extends ViewPart implements ILogListener {
       return;
     canOpenTextShell = false;
     Point point = new Point(e.x, e.y);
-    TableTree table = tableTreeViewer.getTableTree();
-    TableTreeItem item = table.getItem(point);
+    /*Table*/Tree table = tableTreeViewer.getTree()/*getTableTree()*/;
+    /*Table*/TreeItem item = table.getItem(point);
     if (item == null)
       return;
     String message = ((LogEntry) item.getData()).getStack();
@@ -899,7 +905,7 @@ public class LogView extends ViewPart implements ILogListener {
     int x = point.x + 5;
     int y = point.y - (table.getItemHeight() * 2) - 20;
     textShell.setLocation(table.toDisplay(x, y));
-    textShell.setSize(tableTreeViewer.getTableTree().getSize().x - x, 125);
+    textShell.setSize(tableTreeViewer.getTree()/*getTableTree()*/.getSize().x - x, 125);
     textShell.open();
     setFocus();
   }