Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Unified Diff: ui/views/controls/menu/menu_item_view.h

Issue 10532171: Added support for icon views (view used instead of icon in a menu item). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added support for icon views (view used instead of icon in a menu item). Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ui/views/controls/menu/menu_item_view.cc » ('j') | ui/views/controls/menu/menu_item_view.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/menu/menu_item_view.h
diff --git a/ui/views/controls/menu/menu_item_view.h b/ui/views/controls/menu/menu_item_view.h
index 6f4b89ad6f60bfacfb1bd74faf8b2c899aa769f0..759a8fb0847bbd1dd196db472d35cbf58a40c8b9 100644
--- a/ui/views/controls/menu/menu_item_view.h
+++ b/ui/views/controls/menu/menu_item_view.h
@@ -240,7 +240,12 @@ class VIEWS_EXPORT MenuItemView : public View {
void SetIcon(const gfx::ImageSkia& icon);
// Returns the icon.
- const gfx::ImageSkia& GetIcon() const { return icon_; }
+ const gfx::ImageSkia& GetIcon();
+
+ // Set/Get a View to be used instead of icon.
+ // It always be inserted as a first child view.
+ void SetIconView(View* icon_view);
+ View* GetIconView();
// Sets the command id of this menu item.
void SetCommand(int command) { command_ = command; }
@@ -310,6 +315,9 @@ class VIEWS_EXPORT MenuItemView : public View {
use_right_margin_ = use_right_margin;
}
+ virtual Border* GetMenuBorder();
+ virtual Background* GetMenuBackground();
+
protected:
// Creates a MenuItemView. This is used by the various AddXXX methods.
MenuItemView(MenuItemView* parent, int command, Type type);
@@ -327,7 +335,7 @@ class VIEWS_EXPORT MenuItemView : public View {
// Calculates all sizes that we can from the OS.
//
// This is invoked prior to Running a menu.
- static void UpdateMenuPartSizes(bool has_icons);
+ void UpdateMenuPartSizes();
// Called by the two constructors to initialize this menu item.
void Init(MenuItemView* parent,
@@ -405,6 +413,9 @@ class VIEWS_EXPORT MenuItemView : public View {
// that is responsible for rendering the content.
bool IsContainer() const;
+ // Returns true if menu item has non icon view child.
+ bool HasNonIconChildViews();
+
// The delegate. This is only valid for the root menu item. You shouldn't
// use this directly, instead use GetDelegate() which walks the tree as
// as necessary.
@@ -435,8 +446,8 @@ class VIEWS_EXPORT MenuItemView : public View {
// Title.
string16 title_;
- // Icon.
- gfx::ImageSkia icon_;
+ // Empty icon.
+ static gfx::ImageSkia empty_icon_;
// Does the title have a mnemonic? Only useful on the root menu item.
bool has_mnemonics_;
@@ -445,11 +456,23 @@ class VIEWS_EXPORT MenuItemView : public View {
// MenuConfig says mnemonics should be shown. Only used on the root menu item.
bool show_mnemonics_;
+ // Set if menu has icons or icon_views
+ // (applies to root menu item only).
bool has_icons_;
+ enum IconViewType {
+ NONE,
+ IMAGE_VIEW,
+ SOME_VIEW
Aaron Boodman 2012/06/21 08:15:30 Agree with sky that it would be nicer to have an e
yefimt 2012/06/22 22:14:40 Done.
+ };
+ // Type of an icon view.
+ IconViewType icon_view_type_;
+
// The tooltip to show on hover for this menu item.
string16 tooltip_;
+ static int icon_width_;
+
// X-coordinate of where the label starts.
static int label_start_;
« no previous file with comments | « no previous file | ui/views/controls/menu/menu_item_view.cc » ('j') | ui/views/controls/menu/menu_item_view.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698