diff options
author | Claudia Knobloch | 2012-01-05 09:39:40 +0000 |
---|---|---|
committer | Claudia Knobloch | 2012-01-05 09:39:40 +0000 |
commit | c8319e457ee0dc8d727c74655d510e2a8e7c89d0 (patch) | |
tree | 16b5f8522427875dcf8dfb0b72f8f85111a14783 | |
parent | 69bead07fc1d21667f1e14fde72b122f07bdc808 (diff) | |
download | org.eclipse.ptp-c8319e457ee0dc8d727c74655d510e2a8e7c89d0.tar.gz org.eclipse.ptp-c8319e457ee0dc8d727c74655d510e2a8e7c89d0.tar.xz org.eclipse.ptp-c8319e457ee0dc8d727c74655d510e2a8e7c89d0.zip |
Bug 360430 - Filtering in TableViews; only on the client side.
5 files changed, 42 insertions, 22 deletions
diff --git a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/core/model/ILguiItem.java b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/core/model/ILguiItem.java index e973ca8ef..fbc60926b 100644 --- a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/core/model/ILguiItem.java +++ b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/core/model/ILguiItem.java @@ -79,6 +79,8 @@ public interface ILguiItem { */ public void addUserJob(String jobId, JobStatusData status, boolean force); + public String[] getColumnTitlePattern(String gid); + /** * The meth * diff --git a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/model/LguiItem.java b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/model/LguiItem.java index 95e31ed0a..1b1bf885c 100644 --- a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/model/LguiItem.java +++ b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/model/LguiItem.java @@ -154,6 +154,17 @@ public class LguiItem implements ILguiItem { } } + public String[] getColumnTitlePattern(String gid) { + final List<String> titles = new ArrayList<String>(); + final List<IPattern> patternList = filters.get(gid); + if (patternList != null) { + for (final IPattern pattern : patternList) { + titles.add(pattern.getColumnTitle()); + } + } + return titles.toArray(new String[titles.size()]); + } + /* * (non-Javadoc) * diff --git a/rms/org.eclipse.ptp.rm.lml.monitor.core/src/org/eclipse/ptp/rm/lml/monitor/core/LMLResourceManagerMonitor.java b/rms/org.eclipse.ptp.rm.lml.monitor.core/src/org/eclipse/ptp/rm/lml/monitor/core/LMLResourceManagerMonitor.java index f09121116..14e68b559 100644 --- a/rms/org.eclipse.ptp.rm.lml.monitor.core/src/org/eclipse/ptp/rm/lml/monitor/core/LMLResourceManagerMonitor.java +++ b/rms/org.eclipse.ptp.rm.lml.monitor.core/src/org/eclipse/ptp/rm/lml/monitor/core/LMLResourceManagerMonitor.java @@ -296,7 +296,6 @@ public class LMLResourceManagerMonitor extends AbstractResourceManagerMonitor { } } } - // System.out.println(pattern.keySet().size()); return pattern; } diff --git a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/providers/FilterDialog.java b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/providers/FilterDialog.java index 9a15569ae..f0ff7421d 100644 --- a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/providers/FilterDialog.java +++ b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/providers/FilterDialog.java @@ -262,8 +262,8 @@ public class FilterDialog extends Dialog { } } - LMLManager.getInstance().filterLgui(gid, filterValues); lguiItem.setPattern(gid, filterValues); + LMLManager.getInstance().filterLgui(gid, filterValues); if (buttonId == IDialogConstants.OK_ID) { // Okay Button diff --git a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/TableView.java b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/TableView.java index aeeb5678a..eb100b651 100644 --- a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/TableView.java +++ b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/TableView.java @@ -213,29 +213,25 @@ public class TableView extends ViewPart { if (event.getGid().equals(gid)) { UIUtils.safeRunSyncInUIThread(new SafeRunnable() { public void run() throws Exception { - if (composite != null && viewCreated) { - if (selectedItem != null && !selectedItem.isDisposed()) { - lmlManager.unmarkObject(selectedItem.getData().toString()); - selectedItem = null; - } + if (composite != null && fLguiItem != null && viewCreated) { if (componentAdded) { - if (fLguiItem != null && fLguiItem.getObjectStatus() != null) { - fLguiItem.getObjectStatus().removeComponent(eventForwarder); - } + fLguiItem.getObjectStatus().removeComponent(eventForwarder); componentAdded = false; } + saveColumnLayout(); + disposeTable(); + viewCreated = false; + } + if (composite != null && !viewCreated) { fLguiItem = lmlManager.getSelectedLguiItem(); - - if (fLguiItem != null && fLguiItem.getTableHandler() != null && tree.getSortColumn() != null) { - fLguiItem.getTableHandler().getSortProperties(gid); - fLguiItem.getTableHandler().sort(gid, SWT.UP, getSortIndex(), tree.getSortDirection()); - } - setViewerInput(event.getPattern()); - if (fLguiItem != null && fLguiItem.getTableHandler() != null) { - fLguiItem.getObjectStatus().addComponent(eventForwarder); - componentAdded = true; + if (fLguiItem != null) { + createTable(); + viewCreated = true; + if (fLguiItem.getObjectStatus() != null) { + fLguiItem.getObjectStatus().addComponent(eventForwarder); + componentAdded = true; + } } - } } }); @@ -325,7 +321,6 @@ public class TableView extends ViewPart { fLguiItem.getTableHandler().sort(gid, SWT.UP, getSortIndex(), tree.getSortDirection()); } if (fLguiItem.getPattern(gid).size() > 0) { - System.out.println("here"); setViewerInput(fLguiItem.getPattern(gid)); } else { setViewerInput(); @@ -544,6 +539,8 @@ public class TableView extends ViewPart { treeColumns = new TreeColumn[tableColumnLayouts.length]; savedColumnWidths = new int[tableColumnLayouts.length + 1]; + final String[] columnTitlesPattern = fLguiItem.getColumnTitlePattern(gid); + // first column with color rectangle TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, SWT.NONE); treeViewerColumn.setLabelProvider(new ColumnLabelProvider() { @@ -611,7 +608,18 @@ public class TableView extends ViewPart { }); treeColumn = treeViewerColumn.getColumn(); treeColumn.setMoveable(true); - treeColumn.setText(tableColumnLayouts[i].getTitle()); + boolean isFiltered = false; + for (final String title : columnTitlesPattern) { + if (title.equals(tableColumnLayouts[i].getTitle())) { + isFiltered = true; + } + } + if (isFiltered) { + treeColumn.setText(tableColumnLayouts[i].getTitle() + " #"); + } else { + treeColumn.setText(tableColumnLayouts[i].getTitle()); + } + treeColumn.setAlignment(getColumnAlignment(tableColumnLayouts[i].getStyle())); if (tableColumnLayouts[i].isActive()) { |