Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this |
| 2 // source code is governed by a BSD-style license that can be found in the | 2 // source code is governed by a BSD-style license that can be found in the |
| 3 // LICENSE file. | 3 // LICENSE file. |
| 4 | 4 |
| 5 #include "views/controls/menu/native_menu_gtk.h" | 5 #include "views/controls/menu/native_menu_gtk.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "app/gfx/font.h" | |
| 10 #include "app/gfx/gtk_util.h" | 11 #include "app/gfx/gtk_util.h" |
| 11 #include "app/menus/menu_model.h" | 12 #include "app/menus/menu_model.h" |
| 12 #include "base/keyboard_code_conversion_gtk.h" | 13 #include "base/keyboard_code_conversion_gtk.h" |
| 13 #include "base/keyboard_codes.h" | 14 #include "base/keyboard_codes.h" |
| 14 #include "base/message_loop.h" | 15 #include "base/message_loop.h" |
| 15 #include "base/string_util.h" | 16 #include "base/string_util.h" |
| 16 #include "base/time.h" | 17 #include "base/time.h" |
| 17 #include "third_party/skia/include/core/SkBitmap.h" | 18 #include "third_party/skia/include/core/SkBitmap.h" |
| 18 #include "views/accelerator.h" | 19 #include "views/accelerator.h" |
| 19 #include "views/controls/menu/menu_2.h" | 20 #include "views/controls/menu/menu_2.h" |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 224 } else { | 225 } else { |
| 225 menu_item = gtk_menu_item_new_with_mnemonic(label.c_str()); | 226 menu_item = gtk_menu_item_new_with_mnemonic(label.c_str()); |
| 226 } | 227 } |
| 227 break; | 228 break; |
| 228 } | 229 } |
| 229 default: | 230 default: |
| 230 NOTREACHED(); | 231 NOTREACHED(); |
| 231 break; | 232 break; |
| 232 } | 233 } |
| 233 | 234 |
| 235 // Label font. | |
| 236 const gfx::Font* font = model_->GetLabelFontAt(index); | |
| 237 if (font) { | |
| 238 // The label item is the first child of the menu item. | |
| 239 GtkWidget* label_widget = GTK_BIN(menu_item)->child; | |
| 240 DCHECK(label_widget && GTK_IS_LABEL(label_widget)); | |
| 241 gtk_widget_modify_font(GTK_WIDGET(label_widget), | |
|
sky
2010/02/19 23:34:14
You don't need GTK_WIDGET() here, just label_widge
| |
| 242 gfx::Font::PangoFontFromGfxFont(*font)); | |
| 243 } | |
| 244 | |
| 234 if (type == menus::MenuModel::TYPE_SUBMENU) { | 245 if (type == menus::MenuModel::TYPE_SUBMENU) { |
| 235 Menu2* submenu = new Menu2(model_->GetSubmenuModelAt(index)); | 246 Menu2* submenu = new Menu2(model_->GetSubmenuModelAt(index)); |
| 236 static_cast<NativeMenuGtk*>(submenu->wrapper_.get())->set_parent(this); | 247 static_cast<NativeMenuGtk*>(submenu->wrapper_.get())->set_parent(this); |
| 237 g_object_set_data(G_OBJECT(menu_item), "submenu", submenu); | 248 g_object_set_data(G_OBJECT(menu_item), "submenu", submenu); |
| 238 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), | 249 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), |
| 239 submenu->GetNativeMenu()); | 250 submenu->GetNativeMenu()); |
| 240 } | 251 } |
| 241 | 252 |
| 242 views::Accelerator accelerator(base::VKEY_UNKNOWN, false, false, false); | 253 views::Accelerator accelerator(base::VKEY_UNKNOWN, false, false, false); |
| 243 if (accel_group && model_->GetAcceleratorAt(index, &accelerator)) { | 254 if (accel_group && model_->GetAcceleratorAt(index, &accelerator)) { |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 387 | 398 |
| 388 //////////////////////////////////////////////////////////////////////////////// | 399 //////////////////////////////////////////////////////////////////////////////// |
| 389 // MenuWrapper, public: | 400 // MenuWrapper, public: |
| 390 | 401 |
| 391 // static | 402 // static |
| 392 MenuWrapper* MenuWrapper::CreateWrapper(Menu2* menu) { | 403 MenuWrapper* MenuWrapper::CreateWrapper(Menu2* menu) { |
| 393 return new NativeMenuGtk(menu); | 404 return new NativeMenuGtk(menu); |
| 394 } | 405 } |
| 395 | 406 |
| 396 } // namespace views | 407 } // namespace views |
| OLD | NEW |