From a2ddd3a6b87ed9baebd15c4abe96d76fb02a632f Mon Sep 17 00:00:00 2001 From: David McKnight Date: Fri, 30 Sep 2011 15:29:41 +0000 Subject: [PATCH] [357587] Custom sorter is changed to SystemTableViewSorter --- .../internal/ui/view/SystemTableTreeView.java | 24 ++++++++++++------- .../ui/view/SystemTableViewSorter.java | 5 ++++ .../eclipse/rse/ui/view/SystemTableView.java | 24 ++++++++++++------- 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableTreeView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableTreeView.java index f0e8b12a766..5ea97098531 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableTreeView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableTreeView.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2010 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,7 @@ * Xuan Chen (IBM) - [160775] [api] rename (at least within a zip) blocks UI thread * David McKnight (IBM) - [224313] [api] Create RSE Events for MOVE and COPY holding both source and destination fields * David McKnight (IBM) - [296877] Allow user to choose the attributes for remote search result + * David McKnight (IBM) - [357587] Custom sorter is changed to SystemTableViewSorter *******************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -217,16 +218,21 @@ public class SystemTableTreeView TreeColumn tcolumn = (TreeColumn)e.widget; int column = table.indexOf(tcolumn); SystemTableViewSorter oldSorter = (SystemTableViewSorter) getSorter(); - if (oldSorter != null && column == oldSorter.getColumnNumber()) + if (oldSorter != null) { - oldSorter.setReversed(!oldSorter.isReversed()); - if (tcolumn.getImage() == _upI) - { - tcolumn.setImage(_downI); + if (column == oldSorter.getColumnNumber()){ + oldSorter.setReversed(!oldSorter.isReversed()); + if (tcolumn.getImage() == _upI) + { + tcolumn.setImage(_downI); + } + else + { + tcolumn.setImage(_upI); + } } - else - { - tcolumn.setImage(_upI); + else { + oldSorter.setColumnNumber(column); } } else diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewSorter.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewSorter.java index 2ff76802427..0e4d58e3fc1 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewSorter.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewSorter.java @@ -14,6 +14,7 @@ * Contributors: * David McKnight (IBM) - [331986] Sort in Remote System Details view shows wrong results * David McKnight (IBM) - [355467] The result of sorting resources that contains null blank cells is not correct in Remote System Details view. + * David McKnight (IBM) - [357587] Custom sorter is changed to SystemTableViewSorter *******************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -52,6 +53,10 @@ public class SystemTableViewSorter extends ViewerSorter _view = view; _columnManager = columnManager; } + + public void setColumnNumber(int columnNumber){ + _columnNumber = columnNumber; + } public boolean isSorterProperty(java.lang.Object element, java.lang.Object property) { diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java index f96db316118..42c17e2006b 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java @@ -29,6 +29,7 @@ * David McKnight (IBM) - [308783] Value in Properties view remains "Pending..." * David McKnight (IBM) - [215814] [performance] Duplicate Queries between Table and Remote Systems View * David McKnight (IBM) - [340912] inconsistencies with columns in RSE table viewers + * David McKnight (IBM) - [357587] Custom sorter is changed to SystemTableViewSorter ********************************************************************************/ package org.eclipse.rse.ui.view; @@ -224,18 +225,23 @@ public class SystemTableView TableColumn tcolumn = (TableColumn)e.widget; int column = table.indexOf(tcolumn); SystemTableViewSorter oldSorter = (SystemTableViewSorter) getSorter(); - if (oldSorter != null && column == oldSorter.getColumnNumber()) + if (oldSorter != null) { - oldSorter.setReversed(!oldSorter.isReversed()); - if (tcolumn.getImage() == _upI) - { - tcolumn.setImage(_downI); + if (column == oldSorter.getColumnNumber()){ + oldSorter.setReversed(!oldSorter.isReversed()); + if (tcolumn.getImage() == _upI) + { + tcolumn.setImage(_downI); + } + else + { + tcolumn.setImage(_upI); + } } - else - { - tcolumn.setImage(_upI); + else { + oldSorter.setColumnNumber(column); } - } + } else { setSorter(new SystemTableViewSorter(column, SystemTableView.this, _columnManager));