diff options
author | ddunne | 2008-10-15 17:33:43 +0000 |
---|---|---|
committer | ddunne | 2008-10-15 17:33:43 +0000 |
commit | 0832a0a9bec728c433b9b51f2bb1dfaa2bf686ef (patch) | |
tree | 8945bee88abb890028eb79d45f8748712551289d | |
parent | 6842bf5f5c0e18f0bbaa9f783cf114d897315817 (diff) | |
download | org.eclipse.osee-0832a0a9bec728c433b9b51f2bb1dfaa2bf686ef.tar.gz org.eclipse.osee-0832a0a9bec728c433b9b51f2bb1dfaa2bf686ef.tar.xz org.eclipse.osee-0832a0a9bec728c433b9b51f2bb1dfaa2bf686ef.zip |
5 files changed, 90 insertions, 11 deletions
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewer.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewer.java index 01aa3eeabc7..d1bb505c610 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewer.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewer.java @@ -404,7 +404,7 @@ public class XViewer extends TreeViewer { /**
* @return the textFilterComp
*/
- public FilterDataUI getTextFilterComp() {
+ public FilterDataUI getFilterDataUI() {
return filterDataUI;
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java index b5ccd2f5ca1..2bbb69ee625 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java @@ -150,6 +150,7 @@ public class CustomizeManager { }
}
resolvedCustData.getColumnData().setColumns(resolvedColumns);
+ resolvedCustData.getColumnFilterData().setFromXml(loadedCustData.getColumnFilterData().getXml());
resolvedCustData.getFilterData().setFromXml(loadedCustData.getFilterData().getXml());
resolvedCustData.getSortingData().setFromXml(loadedCustData.getSortingData().getXml());
return resolvedCustData;
@@ -175,6 +176,13 @@ public class CustomizeManager { xViewer.refresh();
}
+ public void clearFilters() {
+ xViewer.getFilterDataUI().clear();
+ currentCustData.columnFilterData.clear();
+ xViewerTextFilter.update();
+ xViewer.refresh();
+ }
+
public void clearAllColumnFilters() {
currentCustData.columnFilterData.clear();
xViewerTextFilter.update();
@@ -248,6 +256,7 @@ public class CustomizeManager { custData.columnData.setColumns(columns);
custData.sortingData.setFromXml(currentCustData.sortingData.getXml());
custData.filterData.setFromXml(currentCustData.filterData.getXml());
+ custData.columnFilterData.setFromXml(currentCustData.columnFilterData.getXml());
return custData;
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/FilterDataUI.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/FilterDataUI.java index 677e829fc18..8652f1da09b 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/FilterDataUI.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/FilterDataUI.java @@ -11,10 +11,8 @@ package org.eclipse.osee.framework.ui.skynet.widgets.xviewer.customize; -import org.eclipse.jface.viewers.ViewerFilter; import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin; import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewer; -import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewerTextFilter; import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; @@ -96,17 +94,15 @@ public class FilterDataUI { public void dispose() { } + public void clear() { + filterText.setText(""); + xViewer.getCustomizeMgr().setFilterText(""); + } + public void getStatusLabelAddition(StringBuffer sb) { if (filterText != null && !filterText.getText().equals("")) { sb.append("[Text Filter]"); } } - private boolean isXViewerTextFiltered() { - for (ViewerFilter filter : xViewer.getFilters()) { - if (filter instanceof XViewerTextFilter) return true; - } - return false; - } - } diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/XViewerCustomMenu.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/XViewerCustomMenu.java index b7f16efcb9a..e24eff57a46 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/XViewerCustomMenu.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/XViewerCustomMenu.java @@ -60,6 +60,7 @@ public class XViewerCustomMenu { private final Clipboard clipboard = new Clipboard(null); protected Action clearAllSorting; + protected Action clearAllFilters; protected Action tableProperties; protected Action viewTableReport; protected Action columnMultiEdit; @@ -98,7 +99,6 @@ public class XViewerCustomMenu { MenuManager mm = xViewer.getMenuManager(); mm.add(new GroupMarker(XViewer.MENU_GROUP_PRE)); mm.add(new Separator()); - mm.add(clearAllSorting); mm.add(tableProperties); mm.add(viewTableReport); if (xViewer.isColumnMultiEditEnabled()) mm.add(columnMultiEdit); @@ -106,6 +106,9 @@ public class XViewerCustomMenu { mm.add(copySelected); mm.add(copySelectedCell); mm.add(new Separator()); + mm.add(clearAllSorting); + mm.add(clearAllFilters); + mm.add(new Separator()); mm.add(removeSelected); mm.add(removeNonSelected); mm.add(new GroupMarker(XViewer.MENU_GROUP_POST)); @@ -148,6 +151,12 @@ public class XViewerCustomMenu { xViewer.getCustomizeMgr().clearSorter(); }; }; + clearAllFilters = new Action("Clear All Filters") { + @Override + public void run() { + xViewer.getCustomizeMgr().clearFilters(); + }; + }; tableProperties = new Action("Table Customization") { @Override public void run() { diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java index 5695d9006bf..8417c4fefab 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java @@ -14,6 +14,7 @@ import java.util.ArrayList; import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -34,6 +35,7 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog; import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewer;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewerColumn;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.XViewerColumnLabelProvider;
+import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.customize.ColumnFilterData;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.customize.CustomizeData;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.customize.CustomizeDataLabelProvider;
import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.customize.CustomizeManager;
@@ -73,6 +75,7 @@ public class XViewerCustomizeDialog extends MessageDialog { private OSEEFilteredTree visibleColTable;
private Text sorterText;
private Text filterText;
+ private Text columnFilterText;
// Select Customization Buttons
Button setDefaultButton, deleteButton;
// Config Customization Buttons - Moving items
@@ -459,6 +462,37 @@ public class XViewerCustomizeDialog extends MessageDialog { }
});
+ // Filter text block
+ final Composite composite_8 = new Composite(composite_2, SWT.NONE);
+ composite_8.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 3, 1));
+ final GridLayout gridLayout_14 = new GridLayout();
+ gridLayout_14.numColumns = 3;
+ composite_8.setLayout(gridLayout_14);
+
+ final Label columnFilterLabel = new Label(composite_8, SWT.NONE);
+ columnFilterLabel.setText("Column Filter:");
+
+ columnFilterText = new Text(composite_8, SWT.BORDER);
+ columnFilterText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+
+ final Label clearColumnFilterLabel = new Label(composite_8, SWT.PUSH);
+ if (inWorkbench)
+ clearColumnFilterLabel.setImage(SkynetGuiPlugin.getInstance().getImage("clear.gif"));
+ else
+ clearColumnFilterLabel.setText("clear");
+ clearColumnFilterLabel.addMouseListener(new MouseListener() {
+ public void mouseDown(MouseEvent e) {
+ }
+
+ public void mouseDoubleClick(MouseEvent e) {
+
+ }
+
+ public void mouseUp(MouseEvent e) {
+ columnFilterText.setText("");
+ }
+ });
+
// Button block
final Composite composite_1 = new Composite(composite_2, SWT.NONE);
composite_1.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
@@ -596,6 +630,7 @@ public class XViewerCustomizeDialog extends MessageDialog { hiddenColTable.getViewer().setInput(hiddenCols);
updateSortTextField();
+ updateColumnFilterField();
}
@SuppressWarnings("unchecked")
@@ -620,6 +655,28 @@ public class XViewerCustomizeDialog extends MessageDialog { }
@SuppressWarnings("unchecked")
+ private void updateColumnFilterField() {
+ // get visible column ids
+ List<String> visibleColumnIds = new ArrayList<String>();
+ for (XViewerColumn xCol : (List<XViewerColumn>) visibleColTable.getViewer().getInput()) {
+ visibleColumnIds.add(xCol.getId());
+ }
+ // get current columnFilterIds
+ ColumnFilterData columnFilterData = new ColumnFilterData();
+ columnFilterData.setFromXml(columnFilterText.getText());
+ Set<String> currentSortIds = columnFilterData.getColIds();
+
+ // get complement to determine ids that are sorted but not visible == invalid
+ for (String invalidId : org.eclipse.osee.framework.jdk.core.util.Collections.setComplement(currentSortIds,
+ visibleColumnIds)) {
+ columnFilterData.removeFilterText(invalidId);
+ }
+ if (columnFilterText != null && !columnFilterText.isDisposed()) {
+ columnFilterText.setText(columnFilterData.getXml());
+ }
+ }
+
+ @SuppressWarnings("unchecked")
private void handleAddAllItemButton() {
List<XViewerColumn> hiddenCols = (List<XViewerColumn>) hiddenColTable.getViewer().getInput();
@@ -633,6 +690,7 @@ public class XViewerCustomizeDialog extends MessageDialog { hiddenColTable.getViewer().setInput(hiddenCols);
updateSortTextField();
+ updateColumnFilterField();
}
@SuppressWarnings("unchecked")
@@ -649,6 +707,7 @@ public class XViewerCustomizeDialog extends MessageDialog { visibleColTable.getViewer().setInput(visibleCols);
updateSortTextField();
+ updateColumnFilterField();
}
@SuppressWarnings("unchecked")
@@ -767,6 +826,7 @@ public class XViewerCustomizeDialog extends MessageDialog { custData.getColumnData().setColumns(getConfigCustXViewerColumns());
custData.getSortingData().setFromXml(sorterText.getText());
custData.getFilterData().setFilterText(filterText.getText());
+ custData.getColumnFilterData().setFromXml(columnFilterText.getText());
return custData;
}
@@ -876,6 +936,7 @@ public class XViewerCustomizeDialog extends MessageDialog { }
updateSortTextField();
+ updateColumnFilterField();
updateButtonEnablements();
}
@@ -936,7 +997,11 @@ public class XViewerCustomizeDialog extends MessageDialog { filterText.setText(custData.getFilterData().getFilterText());
filterText.setData(custData);
+ columnFilterText.setText(custData.getColumnFilterData().getXml());
+ columnFilterText.setData(custData);
+
updateSortTextField();
+ updateColumnFilterField();
}
private CustomizeData selectedCustTableCustData = null;
|