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 |