From db078f194d38a9336be359bd9cec01610cd03a26 Mon Sep 17 00:00:00 2001 From: Timur Doumler Date: Fri, 7 Aug 2015 10:14:35 +0100 Subject: [PATCH] PopupMenu: added option to include an iconToUse to addCommandItem. --- modules/juce_gui_basics/menus/juce_PopupMenu.cpp | 5 +++-- modules/juce_gui_basics/menus/juce_PopupMenu.h | 7 ++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp index 143de113ba..4595b7f13a 100644 --- a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp +++ b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp @@ -1328,7 +1328,8 @@ void PopupMenu::addItem (int itemResultID, const String& itemText, bool isActive void PopupMenu::addCommandItem (ApplicationCommandManager* commandManager, const CommandID commandID, - const String& displayName) + const String& displayName, + Drawable* iconToUse) { jassert (commandManager != nullptr && commandID != 0); @@ -1342,7 +1343,7 @@ void PopupMenu::addCommandItem (ApplicationCommandManager* commandManager, : info.shortName, target != nullptr && (info.flags & ApplicationCommandInfo::isDisabled) == 0, (info.flags & ApplicationCommandInfo::isTicked) != 0, - nullptr, + iconToUse, Colours::black, false, nullptr, nullptr, diff --git a/modules/juce_gui_basics/menus/juce_PopupMenu.h b/modules/juce_gui_basics/menus/juce_PopupMenu.h index a14b2de515..69fd8dd302 100644 --- a/modules/juce_gui_basics/menus/juce_PopupMenu.h +++ b/modules/juce_gui_basics/menus/juce_PopupMenu.h @@ -165,10 +165,15 @@ public: @param commandID the ID of the command @param displayName if this is non-empty, then this string will be used instead of the command's registered name + @param iconToUse an optional Drawable object to use as the icon to the left of the item. + The menu will take ownership of this drawable object and will + delete it later when no longer needed */ void addCommandItem (ApplicationCommandManager* commandManager, CommandID commandID, - const String& displayName = String::empty); + const String& displayName = String::empty, + Drawable* iconToUse = nullptr); + /** Appends a text item with a special colour.