Issue #1529 Disable menu items when no subscriptions selected

Amend:
  Rebase to 13.2.1

Change-Id: I5265c1036bc31a87a8bacadfd7b3a9219922f073

Former-commit-id: 572733ff56 [formerly fc332a8b9a] [formerly e9ae4c62c1 [formerly 50a157e679cc16cc47653314d538738355aada49]]
Former-commit-id: e9ae4c62c1
Former-commit-id: f6dfeb1823
This commit is contained in:
Dustin Johnson 2013-01-28 11:42:34 -06:00
parent 30ab7d00ff
commit a5ecfa14a9
3 changed files with 23 additions and 5 deletions

View file

@ -91,6 +91,7 @@ import com.raytheon.uf.viz.datadelivery.utils.DataDeliveryUtils;
* Nov 6, 2012 1269 lvenable Initial creation. * Nov 6, 2012 1269 lvenable Initial creation.
* Dec 13, 2012 1269 lvenable Fixes and updates. * Dec 13, 2012 1269 lvenable Fixes and updates.
* Jan 07, 2013 1451 djohnson Use TimeUtil.newGmtCalendar(). * Jan 07, 2013 1451 djohnson Use TimeUtil.newGmtCalendar().
* Jan 28, 2013 1529 djohnson Disable menu items if no subscriptions selected.
* *
* </pre> * </pre>
* *
@ -886,6 +887,7 @@ public class BandwidthCanvasComp extends Composite implements IDialogClosed,
MenuItem viewSubs = new MenuItem(m, SWT.NONE); MenuItem viewSubs = new MenuItem(m, SWT.NONE);
viewSubs.setText("View Selected Subscriptions..."); viewSubs.setText("View Selected Subscriptions...");
viewSubs.setEnabled(imageMgr.hasSubscriptionNameChecked());
viewSubs.addListener(SWT.Selection, new Listener() { viewSubs.addListener(SWT.Selection, new Listener() {
@Override @Override
public void handleEvent(Event event) { public void handleEvent(Event event) {

View file

@ -45,6 +45,7 @@ import com.raytheon.uf.common.datadelivery.registry.Subscription.SubscriptionPri
* Nov 28, 2012 1269 lvenable Initial creation * Nov 28, 2012 1269 lvenable Initial creation
* Dec 13, 2012 1269 lvenable Fixes and updates. * Dec 13, 2012 1269 lvenable Fixes and updates.
* Jan 25, 2013 1528 djohnson Subscription priority is now an enum on subscriptions. * Jan 25, 2013 1528 djohnson Subscription priority is now an enum on subscriptions.
* Jan 28, 2013 1529 djohnson Add hasSubscriptionNameChecked().
* *
* </pre> * </pre>
* *
@ -491,4 +492,13 @@ public class BandwidthImageMgr implements IGraphOptions {
regenerateImage(CanvasImages.X_HEADER); regenerateImage(CanvasImages.X_HEADER);
} }
}
/**
* Check whether there is a checked subscription name.
*
* @return true if at least one subscription name is checked
*/
public boolean hasSubscriptionNameChecked() {
return checkMap.containsValue(Boolean.TRUE);
}
}

View file

@ -100,6 +100,7 @@ import com.raytheon.uf.viz.datadelivery.utils.DataDeliveryUtils.TABLE_TYPE;
* Dec 03, 2012 1279 mpduff Add ability to populate from a list of subscription names. * Dec 03, 2012 1279 mpduff Add ability to populate from a list of subscription names.
* Dec 12, 2012 1391 bgonzale Added a job for subscription retrieves. * Dec 12, 2012 1391 bgonzale Added a job for subscription retrieves.
* Jan 07, 2013 1437 bgonzale Added sort column direction updates. * Jan 07, 2013 1437 bgonzale Added sort column direction updates.
* Jan 28, 2013 1529 djohnson Disable menu items if no subscriptions are selected.
* *
* </pre> * </pre>
* *
@ -120,7 +121,7 @@ public class SubscriptionTableComp extends TableComp implements IGroupAction {
* Subscription action callback that is called when there is a table * Subscription action callback that is called when there is a table
* selection. * selection.
*/ */
private ISubscriptionAction subActionCallback; private final ISubscriptionAction subActionCallback;
/** TableDataManager object. */ /** TableDataManager object. */
private TableDataManager<SubscriptionManagerRowData> subManagerData; private TableDataManager<SubscriptionManagerRowData> subManagerData;
@ -756,11 +757,14 @@ public class SubscriptionTableComp extends TableComp implements IGroupAction {
popupMenu.dispose(); popupMenu.dispose();
} }
final boolean menuItemsEnabled = table.getSelectionIndices().length > 0;
// Detail popup menu // Detail popup menu
popupMenu = new Menu(table); popupMenu = new Menu(table);
MenuItem item1 = new MenuItem(popupMenu, SWT.PUSH); MenuItem detailsItem = new MenuItem(popupMenu, SWT.PUSH);
item1.setText("Details... "); detailsItem.setText("Details... ");
item1.addSelectionListener(new SelectionAdapter() { detailsItem.setEnabled(menuItemsEnabled);
detailsItem.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
handleDetails(); handleDetails();
@ -770,6 +774,7 @@ public class SubscriptionTableComp extends TableComp implements IGroupAction {
if (subType == SubscriptionType.MANAGER) { if (subType == SubscriptionType.MANAGER) {
MenuItem editItem = new MenuItem(popupMenu, SWT.PUSH); MenuItem editItem = new MenuItem(popupMenu, SWT.PUSH);
editItem.setText("Edit..."); editItem.setText("Edit...");
editItem.setEnabled(menuItemsEnabled);
editItem.addSelectionListener(new SelectionAdapter() { editItem.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
@ -780,6 +785,7 @@ public class SubscriptionTableComp extends TableComp implements IGroupAction {
// Add the selected row to a subscription group // Add the selected row to a subscription group
MenuItem groupItem = new MenuItem(popupMenu, SWT.PUSH); MenuItem groupItem = new MenuItem(popupMenu, SWT.PUSH);
groupItem.setText("Add to Group..."); groupItem.setText("Add to Group...");
groupItem.setEnabled(menuItemsEnabled);
groupItem.addSelectionListener(new SelectionAdapter() { groupItem.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {