modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/footer/FavoritesButton.java | 15 ++++++--- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java | 16 +++++++--- 2 files changed, 23 insertions(+), 8 deletions(-)
New commits: commit 9b0627038c5f77cf610d74acd993b6953e12a68a Author: John Mazzitelli mazz@redhat.com Date: Thu Mar 24 11:54:47 2011 -0400
BZ 609135 - fix the favorites button so its context menu is popped up at the bottom of the button, like a typical context menu.
also get the ancestry items to be auto-sized
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/footer/FavoritesButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/footer/FavoritesButton.java index ba5e649..fd45110 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/footer/FavoritesButton.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/footer/FavoritesButton.java @@ -70,8 +70,11 @@ public class FavoritesButton extends LocatableIMenuButton { final Menu favoriteGroupsMenu = new Menu(); final Menu recentlyViewedMenu = new Menu(); favoriteResourcesMenu.setSubmenuDirection("left"); + favoriteResourcesMenu.setAutoWidth(); favoriteGroupsMenu.setSubmenuDirection("left"); + favoriteGroupsMenu.setAutoWidth(); recentlyViewedMenu.setSubmenuDirection("left"); + recentlyViewedMenu.setAutoWidth(); MenuItem favoriteResourcesMenuItem = new MenuItem(MSG.favorites_resources(), "Favorite_Resource_16.png"); favoriteResourcesMenuItem.setSubmenu(favoriteResourcesMenu); favoriteResourcesMenu.setEmptyMessage(MSG.common_val_none()); @@ -102,7 +105,7 @@ public class FavoritesButton extends LocatableIMenuButton { // if we have no menu items at all, then show the empty menu now if (favoriteGroupIds.isEmpty() && favoriteResourceIds.isEmpty() && recentResourceIds.isEmpty() && recentGroupIds.isEmpty()) { - favoritesMenu.showContextMenu(); + favoritesMenu.showNextTo(FavoritesButton.this, "bottom"); return; }
@@ -149,7 +152,7 @@ public class FavoritesButton extends LocatableIMenuButton { buildRecentlyViewedMenu(favorites, recentlyViewedMenu, recentResourceIds, recentGroupIds, typesWrapper);
- favoritesMenu.showContextMenu(); + favoritesMenu.showNextTo(FavoritesButton.this, "bottom"); } }); } @@ -185,9 +188,11 @@ public class FavoritesButton extends LocatableIMenuButton { item.setAttribute(AncestryUtil.RESOURCE_TYPE_ID, resource.getResourceType().getId()); item.setAttribute(AncestryUtil.RESOURCE_ANCESTRY_TYPES, typesWrapper); Menu ancestryMenu = new Menu(); - MenuItem ancestryItem = new MenuItem(AncestryUtil.getAncestryHoverHTML(item, 0)); + MenuItem ancestryItem = new MenuItem(AncestryUtil.getAncestryHoverHTML(item, -1)); ancestryItem.setEnabled(false); ancestryMenu.setItems(ancestryItem); + ancestryMenu.setSubmenuDirection("left"); + ancestryMenu.setAutoWidth(); item.setSubmenu(ancestryMenu);
item.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() { @@ -260,9 +265,11 @@ public class FavoritesButton extends LocatableIMenuButton { item.setAttribute(AncestryUtil.RESOURCE_ANCESTRY_TYPES, typesWrapper);
Menu ancestryMenu = new Menu(); - MenuItem ancestryItem = new MenuItem(AncestryUtil.getAncestryHoverHTML(item, 0)); + MenuItem ancestryItem = new MenuItem(AncestryUtil.getAncestryHoverHTML(item, -1)); ancestryItem.setEnabled(false); ancestryMenu.setItems(ancestryItem); + ancestryMenu.setSubmenuDirection("left"); + ancestryMenu.setAutoWidth(); item.setSubmenu(ancestryMenu);
item.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java index 20d9937..e28dab2 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java @@ -259,12 +259,20 @@ public abstract class AncestryUtil { ResourceType type = types.get(resourceTypeId); String resourceLongName = getResourceLongName(resourceName, type);
- width = (width <= 0) ? 500 : width; + // note: if width is negative, we do not explicitly define a width in the HTML, thus enabling auto-resizing. + Integer widthObj = null; + if (width >= 0) { + widthObj = (width == 0) ? Integer.valueOf(500) : Integer.valueOf(width); + }
// decode ancestry - StringBuilder sb = new StringBuilder("<p style='width:"); - sb.append(width); - sb.append("px'>"); + StringBuilder sb = new StringBuilder("<p"); + if (widthObj != null) { + sb.append(" style='width:"); + sb.append(widthObj.toString()); + sb.append("px'"); + } + sb.append(">"); String title = (null != ancestry) ? TITLE_ANCESTRY : TITLE_PLATFORM; sb.append(title); sb.append(resourceLongName);
rhq-commits@lists.fedorahosted.org