Ticket #3651: 3651-2.patch
File 3651-2.patch, 2.8 KB (added by , 15 years ago) |
---|
-
CharacterWindow.cpp
16 16 #include <GroupLayoutBuilder.h> 17 17 #include <ListView.h> 18 18 #include <Menu.h> 19 #include <PopUpMenu.h> 20 #include <MenuField.h> 19 21 #include <MenuBar.h> 20 22 #include <MenuItem.h> 21 23 #include <MessageFilter.h> … … 192 194 fCodeView->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, 193 195 fCodeView->PreferredSize().Height())); 194 196 197 BMenuField* fontField = new BMenuField(BRect(0.0, 0.0, 200.0, 15.0), 198 "FontMenu", "Font:", _CreateFontMenu(), false); 199 fontField->SetAlignment(B_ALIGN_RIGHT); 200 195 201 AddChild(BGroupLayoutBuilder(B_VERTICAL) 196 202 .Add(menuBar) 197 203 .Add(BGroupLayoutBuilder(B_HORIZONTAL, 10)//BSplitLayoutBuilder() … … 201 207 .Add(clearButton)) 202 208 .Add(unicodeScroller)) 203 209 .Add(BGroupLayoutBuilder(B_VERTICAL, 10) 210 .Add(fontField) 204 211 .Add(characterScroller) 205 212 .Add(fFontSizeSlider) 206 213 .Add(fCodeView)) … … 234 241 #endif 235 242 menuBar->AddItem(menu); 236 243 237 menuBar->AddItem(_CreateFontMenu());238 239 244 AddCommonFilter(new EscapeMessageFilter(kMsgClearFilter)); 240 245 AddCommonFilter(new RedirectUpAndDownFilter(fUnicodeBlockView)); 241 246 … … 463 468 } 464 469 465 470 466 B Menu*471 BPopUpMenu* 467 472 CharacterWindow::_CreateFontMenu() 468 473 { 469 B Menu* menu = new BMenu("Font");474 BPopUpMenu* menu = new BPopUpMenu("Font"); 470 475 471 476 font_family currentFamily; 472 477 font_style currentStyle; … … 478 483 for (int32 i = 0; i < numFamilies; i++) { 479 484 font_family family; 480 485 if (get_font_family(i, &family) == B_OK) { 481 BMenu* subMenu = new BMenu(family); 482 menu->AddItem(new BMenuItem(subMenu, 483 new BMessage(kMsgFontSelected))); 486 int numStyles = count_font_styles(family); 484 487 485 int numStyles = count_font_styles(family);486 488 for (int32 j = 0; j < numStyles; j++) { 487 489 font_style style; 488 490 uint32 flags; 489 491 if (get_font_style(family, j, &style, &flags) == B_OK) { 490 BMenuItem* item = new BMenuItem(style, 492 BString displayName; 493 displayName << family << " " << style; 494 495 BMenuItem* item = new BMenuItem(displayName, 491 496 new BMessage(kMsgFontSelected)); 492 subMenu->AddItem(item);497 menu->AddItem(item); 493 498 494 499 if (!strcmp(family, currentFamily) 495 500 && !strcmp(style, currentStyle)) { -
CharacterWindow.h
11 11 12 12 class BFile; 13 13 class BListView; 14 class B Menu;14 class BPopUpMenu; 15 15 class BMenuItem; 16 16 class BSlider; 17 17 class BStringView; … … 34 34 status_t _SaveSettings(); 35 35 36 36 void _SetFont(const char* family, const char* style); 37 B Menu*_CreateFontMenu();37 BPopUpMenu* _CreateFontMenu(); 38 38 39 39 private: 40 40 BTextControl* fFilterControl;