Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2008-10-15 17:33:43 +0000
committerddunne2008-10-15 17:33:43 +0000
commit0832a0a9bec728c433b9b51f2bb1dfaa2bf686ef (patch)
tree8945bee88abb890028eb79d45f8748712551289d
parent6842bf5f5c0e18f0bbaa9f783cf114d897315817 (diff)
downloadorg.eclipse.osee-0832a0a9bec728c433b9b51f2bb1dfaa2bf686ef.tar.gz
org.eclipse.osee-0832a0a9bec728c433b9b51f2bb1dfaa2bf686ef.tar.xz
org.eclipse.osee-0832a0a9bec728c433b9b51f2bb1dfaa2bf686ef.zip
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/XViewer.java2
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/CustomizeManager.java9
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/FilterDataUI.java14
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/XViewerCustomMenu.java11
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xviewer/customize/dialog/XViewerCustomizeDialog.java65
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;

Back to the top