Issue #2419 - fixed issue with DualList and how it was being used.

Former-commit-id: 0758d67964 [formerly 0758d67964 [formerly 7020ca52e6e22a68013de74bc9891ad44942c48a]]
Former-commit-id: 9c02d45802
Former-commit-id: b9fd15122e
This commit is contained in:
Lee Venable 2013-09-27 15:07:02 -05:00
parent 72b5f0927a
commit 87be8618c4
4 changed files with 28 additions and 24 deletions

View file

@ -60,6 +60,8 @@ import com.raytheon.viz.ui.widgets.duallist.DualListConfig;
* Mar 20, 2012 240 jpiatt Updates to filter notification table data. * Mar 20, 2012 240 jpiatt Updates to filter notification table data.
* Jun 1, 2012 645 jpiatt Added tooltips. * Jun 1, 2012 645 jpiatt Added tooltips.
* Sep 25, 2013 2408 mpduff Added sort to subscription lists. * Sep 25, 2013 2408 mpduff Added sort to subscription lists.
* Sep 27, 2013 #2419 lvenable Update code to reflect changes made in
* the dual list.
* *
* </pre> * </pre>
* *
@ -172,8 +174,8 @@ public class NotificationFilterDlg extends CaveSWTDialogBase {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
if (alwaysIncludeMeBtn.getSelection()) { if (alwaysIncludeMeBtn.getSelection()) {
userDualList.getConfig().getIncludeList().clear(); userDualList.clearIncludeList();
userDualList.getConfig().getIncludeList().add(currentUser); userDualList.addToIncludeList(currentUser);
// Available and Selected Filter Lists // Available and Selected Filter Lists
String[] available = userDualList.getAvailableListItems(); String[] available = userDualList.getAvailableListItems();
@ -210,7 +212,7 @@ public class NotificationFilterDlg extends CaveSWTDialogBase {
userDualList.setAvailableItems(arr2); userDualList.setAvailableItems(arr2);
} else { } else {
userDualList.getConfig().getIncludeList().clear(); userDualList.clearIncludeList();
} }
} }
@ -261,11 +263,11 @@ public class NotificationFilterDlg extends CaveSWTDialogBase {
} }
HashSet<String> h = new HashSet<String>(); HashSet<String> includeItems = new HashSet<String>();
if (selfInclude) { if (selfInclude) {
h.add(currentUser); includeItems.add(currentUser);
} }
// Create the user dual list // Create the user dual list
@ -273,7 +275,7 @@ public class NotificationFilterDlg extends CaveSWTDialogBase {
dualConfig.setListHeight(120); dualConfig.setListHeight(120);
dualConfig.setListWidth(125); dualConfig.setListWidth(125);
dualConfig.setShowUpDownBtns(false); dualConfig.setShowUpDownBtns(false);
dualConfig.setIncludeList(h); dualConfig.setIncludeList(includeItems);
dualConfig.setAvailableListLabel("Available Users:"); dualConfig.setAvailableListLabel("Available Users:");
dualConfig.setSelectedListLabel("Selected Users:"); dualConfig.setSelectedListLabel("Selected Users:");

View file

@ -74,6 +74,8 @@ import com.raytheon.viz.ui.widgets.duallist.IUpdate;
* Sep 25, 2012 1357 mpduff Initial creation. * Sep 25, 2012 1357 mpduff Initial creation.
* Jan 17, 2013 1357 mpduff Added timestep settings. * Jan 17, 2013 1357 mpduff Added timestep settings.
* Feb 26, 2013 1667 mpduff Sort categories. * Feb 26, 2013 1667 mpduff Sort categories.
* Sep 27, 2013 #2419 lvenable Changed code so the dual list will
* function correctly on start up.
* *
* </pre> * </pre>
* *
@ -518,9 +520,7 @@ public class StatsControlDlg extends CaveSWTDialog implements IStatsControl,
List<String> groupList = data.getGroupList(); List<String> groupList = data.getGroupList();
Collections.sort(groupList); Collections.sort(groupList);
groupFilterDualList.clearAvailableList(true); groupFilterDualList.clearAvailableList(true);
groupFilterDualList.clearSelection(); groupFilterDualList.setFullList(groupList);
groupFilterDualList.setAvailableItems(groupList);
groupFilterDualList.getConfig().setFullList(groupList);
} }
/** /**
@ -544,9 +544,7 @@ public class StatsControlDlg extends CaveSWTDialog implements IStatsControl,
List<String> groupList = data.getGroupList(); List<String> groupList = data.getGroupList();
Collections.sort(groupList); Collections.sort(groupList);
groupFilterDualList.clearAvailableList(true); groupFilterDualList.clearAvailableList(true);
groupFilterDualList.clearSelection(); groupFilterDualList.setFullList(groupList);
groupFilterDualList.setAvailableItems(groupList);
groupFilterDualList.getConfig().setFullList(groupList);
} }
/** /**

View file

@ -57,6 +57,9 @@ import com.raytheon.viz.ui.widgets.duallist.ButtonImages.ButtonImage;
* Dec 17, 2012 1431 mpduff Fix filter problem when deselecting items. * Dec 17, 2012 1431 mpduff Fix filter problem when deselecting items.
* Jan 07, 2013 1456 bgonzale Added setSelectedList(ArrayList<String>). * Jan 07, 2013 1456 bgonzale Added setSelectedList(ArrayList<String>).
* Aug 20, 2013 1733 mpduff Search now uses SearchUtils. * Aug 20, 2013 1733 mpduff Search now uses SearchUtils.
* Sep 27, 2013 #2419 lvenable Removed the ability to get the dual config list
* and added some convenience methods to clear and add
* to the include list.
* *
* </pre> * </pre>
* *
@ -447,7 +450,7 @@ public class DualList extends Composite {
* @param fullList * @param fullList
* all users listed in notification table * all users listed in notification table
*/ */
public void setFullList(ArrayList<String> fullList) { public void setFullList(java.util.List<String> fullList) {
config.setFullList(fullList); config.setFullList(fullList);
populateLists(); populateLists();
} }
@ -911,22 +914,21 @@ public class DualList extends Composite {
} }
/** /**
* Get the configuration. * Clear the include list. The include list is the list of items that will
* * always be present in the selected list control.
* @return the configuration.
*/ */
public DualListConfig getConfig() { public void clearIncludeList() {
return config; config.getIncludeList().clear();
} }
/** /**
* Set the configuration. * Add an item to the include list.
* *
* @param config * @param item
* the configuration. * Item to add to the include list.
*/ */
public void setConfig(DualListConfig config) { public void addToIncludeList(String item) {
this.config = config; config.getIncludeList().add(item);
} }
/** /**

View file

@ -36,6 +36,7 @@ import java.util.List;
* Aug 10, 2012 1002 mpduff Added numeric flag for sorting. * Aug 10, 2012 1002 mpduff Added numeric flag for sorting.
* Jan 07, 2013 1431 mpduff Add case sensitive and exclude flags. * Jan 07, 2013 1431 mpduff Add case sensitive and exclude flags.
* Aug 20, 2013 1733 mpduff Add match flag. * Aug 20, 2013 1733 mpduff Add match flag.
* Sep 27, 2013 #2419 lvenable Updated include description.
* *
* </pre> * </pre>
* *
@ -81,7 +82,8 @@ public class DualListConfig {
private List<String> fullList = new ArrayList<String>(); private List<String> fullList = new ArrayList<String>();
/** /**
* The list to include. * The include list is a set of items that will always be present the
* selected list and cannot be removed from the selected list.
*/ */
private HashSet<String> includeList = new HashSet<String>(); private HashSet<String> includeList = new HashSet<String>();