FontSelectionView::FontSelectionView(const char* name, const char* label, bool separateStyles, const BFont* currentFont) : BHandler(name), fMessage(NULL), fTarget(NULL) { if (currentFont == NULL) fCurrentFont = _DefaultFont(); else fCurrentFont = *currentFont; fSavedFont = fCurrentFont; fSizesMenu = new BPopUpMenu("size menu"); fFontsMenu = new BPopUpMenu("font menu"); // font menu fFontsMenuField = new BMenuField("fonts", label, fFontsMenu, B_WILL_DRAW); fFontsMenuField->SetAlignment(B_ALIGN_RIGHT); // styles menu, if desired if (separateStyles) { fStylesMenu = new BPopUpMenu("styles menu"); fStylesMenuField = new BMenuField("styles", B_TRANSLATE("Style:"), fStylesMenu, B_WILL_DRAW); } else { fStylesMenu = NULL; fStylesMenuField = NULL; } // size menu fSizesMenuField = new BMenuField("size", B_TRANSLATE("Size:"), fSizesMenu, B_WILL_DRAW); fSizesMenuField->SetAlignment(B_ALIGN_RIGHT); // preview fPreviewText = new BStringView("preview text", B_TRANSLATE_COMMENT("The quick brown fox jumps over the lazy dog.", "Don't translate this literally ! Use a phrase showing all " "chars from A to Z.")); fPreviewText->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNLIMITED)); fPreviewText->SetHighUIColor(B_PANEL_BACKGROUND_COLOR, 1.65); fPreviewBox = new BBox("preview box", B_WILL_DRAW | B_FRAME_EVENTS); fPreviewBox->AddChild(BGroupLayoutBuilder(B_VERTICAL, B_USE_HALF_ITEM_SPACING) .Add(fPreviewText) .SetInsets(B_USE_HALF_ITEM_SPACING, B_USE_HALF_ITEM_SPACING, B_USE_HALF_ITEM_SPACING, B_USE_HALF_ITEM_SPACING) .TopView() ); _UpdateFontPreview(); }
FontSelectionView::FontSelectionView(const char* name, const char* label, bool separateStyles, const BFont* currentFont) : BHandler(name), fMessage(NULL), fTarget(NULL) { if (currentFont == NULL) fCurrentFont = _DefaultFont(); else fCurrentFont = *currentFont; fSavedFont = fCurrentFont; fSizesMenu = new BPopUpMenu("size menu"); fFontsMenu = new BPopUpMenu("font menu"); // font menu fFontsMenuField = new BMenuField("fonts", label, fFontsMenu, B_WILL_DRAW); fFontsMenuField->SetFont(be_bold_font); // styles menu, if desired if (separateStyles) { fStylesMenu = new BPopUpMenu("styles menu"); fStylesMenuField = new BMenuField("styles", B_TRANSLATE("Style:"), fStylesMenu, B_WILL_DRAW); } else { fStylesMenu = NULL; fStylesMenuField = NULL; } // size menu fSizesMenuField = new BMenuField("size", B_TRANSLATE("Size:"), fSizesMenu, B_WILL_DRAW); fSizesMenuField->SetAlignment(B_ALIGN_RIGHT); // preview fPreviewText = new BStringView("preview text", B_TRANSLATE_COMMENT("The quick brown fox jumps over the lazy dog.", "Don't translate this literally ! Use a phrase showing all " "chars from A to Z.")); fPreviewText->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNLIMITED)); fPreviewText->SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), 1.65)); fPreviewText->SetAlignment(B_ALIGN_RIGHT); _UpdateFontPreview(); }
void FontSelectionView::SetDefaults() { BFont defaultFont = _DefaultFont(); if (defaultFont == fCurrentFont) return; _SelectCurrentFont(false); fCurrentFont = defaultFont; _UpdateFontPreview(); _SelectCurrentFont(true); _SelectCurrentSize(true); }
bool FontSelectionView::IsDefaultable() { return fCurrentFont != _DefaultFont(); }