From 14701d3ec941382b6c9543d9d15be7c5aecb1f6e Mon Sep 17 00:00:00 2001 From: John Scipione Date: Thu, 30 May 2013 00:04:05 -0400 Subject: [PATCH] Font Demo: Tweak layout of menu fields. Need to add more height to the menu fields because we no longer resize them automatically for fixed size mode (for BeOS compat) and the text was shorter in BeOS. --- src/apps/fontdemo/ControlView.cpp | 112 ++++++++++++++++-------------- src/apps/fontdemo/ControlView.h | 1 + src/apps/fontdemo/FontDemo.cpp | 2 +- 3 files changed, 63 insertions(+), 52 deletions(-) diff --git a/src/apps/fontdemo/ControlView.cpp b/src/apps/fontdemo/ControlView.cpp index 80e069a49a..66d8c104c3 100644 --- a/src/apps/fontdemo/ControlView.cpp +++ b/src/apps/fontdemo/ControlView.cpp @@ -71,14 +71,14 @@ ControlView::AttachedToWindow() fTextControl = new BTextControl(rect, "TextInput", B_TRANSLATE("Text:"), B_TRANSLATE("Haiku, Inc."), NULL); - fTextControl->SetDivider(29.0); + fTextControl->SetDivider(36.0); fTextControl->SetModificationMessage(new BMessage(TEXT_CHANGED_MSG)); AddChild(fTextControl); rect.OffsetBy(0.0, 27.0); _AddFontMenu(rect); - rect.OffsetBy(0.0, 29.0); + rect.OffsetBy(0.0, 36.0); fFontsizeSlider = new BSlider(rect, "Fontsize", B_TRANSLATE("Size: 50"), NULL, 4, 360); fFontsizeSlider->SetModificationMessage(new BMessage(FONTSIZE_MSG)); @@ -122,59 +122,15 @@ ControlView::AttachedToWindow() fAliasingCheckBox->SetValue(B_CONTROL_ON); AddChild(fAliasingCheckBox); - rect.OffsetBy(0.0, offsetX); - fDrawingModeMenu = new BMenu("drawingmodemenu"); + rect.OffsetBy(0.0, 30.0f); + _AddDrawingModeMenu(rect); - BMessage* drawingMsg = NULL; - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_COPY); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_COPY", drawingMsg)); - fDrawingModeMenu->ItemAt(0)->SetMarked(true); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_OVER); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_OVER", drawingMsg)); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_ERASE); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_ERASE", drawingMsg)); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_INVERT); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_INVERT", drawingMsg)); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_ADD); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_ADD", drawingMsg)); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_SUBTRACT); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_SUBTRACT", drawingMsg)); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_BLEND); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_BLEND", drawingMsg)); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_MIN); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_MIN", drawingMsg)); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_MAX); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_MAX", drawingMsg)); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_SELECT); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_SELECT", drawingMsg)); - drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); - drawingMsg->AddInt32("_mode", B_OP_ALPHA); - fDrawingModeMenu->AddItem(new BMenuItem("B_OP_ALPHA", drawingMsg)); - - fDrawingModeMenu->SetLabelFromMarked(true); - - BMenuField *drawingModeMenuField = new BMenuField(rect, "FontMenuField", - B_TRANSLATE("Drawing mode:"), fDrawingModeMenu, true); - drawingModeMenuField->SetDivider(5+StringWidth( - B_TRANSLATE("Drawing mode:"))); - AddChild(drawingModeMenuField); - - rect.OffsetBy(0.0, 22); + rect.OffsetBy(0.0, 30.0f); fBoundingboxesCheckBox = new BCheckBox(rect, "BoundingBoxes", B_TRANSLATE("Bounding boxes"), new BMessage(BOUNDING_BOX_MSG)); AddChild(fBoundingboxesCheckBox); - rect.OffsetBy(0.0, 22.0); + rect.OffsetBy(0.0, 30.0f); fCyclingFontButton = new BButton(rect, "Cyclefonts", B_TRANSLATE("Cycle fonts"), new BMessage(CYCLING_FONTS_MSG)); AddChild(fCyclingFontButton); @@ -472,13 +428,67 @@ ControlView::_AddFontMenu(BRect rect) _UpdateFontmenus(true); + rect.bottom += 4; fFontMenuField = new BMenuField(rect, "FontMenuField", B_TRANSLATE("Font:"), fFontFamilyMenu, true); - fFontMenuField->SetDivider(30.0); + fFontMenuField->SetDivider( + fFontMenuField->StringWidth(B_TRANSLATE("Font:")) + 5); AddChild(fFontMenuField); } +void +ControlView::_AddDrawingModeMenu(BRect rect) +{ + fDrawingModeMenu = new BMenu("drawingmodemenu"); + + BMessage* drawingMsg = NULL; + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_COPY); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_COPY", drawingMsg)); + fDrawingModeMenu->ItemAt(0)->SetMarked(true); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_OVER); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_OVER", drawingMsg)); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_ERASE); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_ERASE", drawingMsg)); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_INVERT); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_INVERT", drawingMsg)); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_ADD); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_ADD", drawingMsg)); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_SUBTRACT); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_SUBTRACT", drawingMsg)); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_BLEND); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_BLEND", drawingMsg)); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_MIN); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_MIN", drawingMsg)); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_MAX); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_MAX", drawingMsg)); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_SELECT); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_SELECT", drawingMsg)); + drawingMsg = new BMessage(DRAWINGMODE_CHANGED_MSG); + drawingMsg->AddInt32("_mode", B_OP_ALPHA); + fDrawingModeMenu->AddItem(new BMenuItem("B_OP_ALPHA", drawingMsg)); + + fDrawingModeMenu->SetLabelFromMarked(true); + + rect.bottom += 4; + BMenuField* drawingModeMenuField = new BMenuField(rect, "FontMenuField", + B_TRANSLATE("Drawing mode:"), fDrawingModeMenu, true); + drawingModeMenuField->SetDivider( + fDrawingModeMenu->StringWidth(B_TRANSLATE("Drawing mode:") + 5)); + AddChild(drawingModeMenuField); +} + + void ControlView::_UpdateAndSendFamily(const BMessage* message) { diff --git a/src/apps/fontdemo/ControlView.h b/src/apps/fontdemo/ControlView.h index ff1c0c958a..0e347ed493 100644 --- a/src/apps/fontdemo/ControlView.h +++ b/src/apps/fontdemo/ControlView.h @@ -36,6 +36,7 @@ class ControlView : public BView { private: void _AddFontMenu(BRect rect); + void _AddDrawingModeMenu(BRect rect); void _UpdateFontmenus(bool setInitialfont = false); void _DeselectOldItems(); diff --git a/src/apps/fontdemo/FontDemo.cpp b/src/apps/fontdemo/FontDemo.cpp index b8092329ce..94206c499a 100644 --- a/src/apps/fontdemo/FontDemo.cpp +++ b/src/apps/fontdemo/FontDemo.cpp @@ -29,7 +29,7 @@ FontDemo::FontDemo() FontDemoView* demoView = new FontDemoView(demoWindow->Bounds()); demoWindow->AddChild(demoView); - BWindow* controlWindow = new BWindow(BRect(500, 30, 700, 402), B_TRANSLATE("Controls"), + BWindow* controlWindow = new BWindow(BRect(500, 30, 700, 420), B_TRANSLATE("Controls"), B_FLOATING_WINDOW_LOOK, B_FLOATING_APP_WINDOW_FEEL, B_NOT_CLOSABLE | B_NOT_ZOOMABLE | B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS);