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.
This commit is contained in:
John Scipione
2013-05-30 00:05:19 -04:00
parent e9c1c3b70b
commit 14701d3ec9
3 changed files with 63 additions and 52 deletions
+61 -51
View File
@@ -71,14 +71,14 @@ ControlView::AttachedToWindow()
fTextControl = new BTextControl(rect, "TextInput", B_TRANSLATE("Text:"), fTextControl = new BTextControl(rect, "TextInput", B_TRANSLATE("Text:"),
B_TRANSLATE("Haiku, Inc."), NULL); B_TRANSLATE("Haiku, Inc."), NULL);
fTextControl->SetDivider(29.0); fTextControl->SetDivider(36.0);
fTextControl->SetModificationMessage(new BMessage(TEXT_CHANGED_MSG)); fTextControl->SetModificationMessage(new BMessage(TEXT_CHANGED_MSG));
AddChild(fTextControl); AddChild(fTextControl);
rect.OffsetBy(0.0, 27.0); rect.OffsetBy(0.0, 27.0);
_AddFontMenu(rect); _AddFontMenu(rect);
rect.OffsetBy(0.0, 29.0); rect.OffsetBy(0.0, 36.0);
fFontsizeSlider = new BSlider(rect, "Fontsize", B_TRANSLATE("Size: 50"), fFontsizeSlider = new BSlider(rect, "Fontsize", B_TRANSLATE("Size: 50"),
NULL, 4, 360); NULL, 4, 360);
fFontsizeSlider->SetModificationMessage(new BMessage(FONTSIZE_MSG)); fFontsizeSlider->SetModificationMessage(new BMessage(FONTSIZE_MSG));
@@ -122,59 +122,15 @@ ControlView::AttachedToWindow()
fAliasingCheckBox->SetValue(B_CONTROL_ON); fAliasingCheckBox->SetValue(B_CONTROL_ON);
AddChild(fAliasingCheckBox); AddChild(fAliasingCheckBox);
rect.OffsetBy(0.0, offsetX); rect.OffsetBy(0.0, 30.0f);
fDrawingModeMenu = new BMenu("drawingmodemenu"); _AddDrawingModeMenu(rect);
BMessage* drawingMsg = NULL; rect.OffsetBy(0.0, 30.0f);
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);
fBoundingboxesCheckBox = new BCheckBox(rect, "BoundingBoxes", fBoundingboxesCheckBox = new BCheckBox(rect, "BoundingBoxes",
B_TRANSLATE("Bounding boxes"), new BMessage(BOUNDING_BOX_MSG)); B_TRANSLATE("Bounding boxes"), new BMessage(BOUNDING_BOX_MSG));
AddChild(fBoundingboxesCheckBox); AddChild(fBoundingboxesCheckBox);
rect.OffsetBy(0.0, 22.0); rect.OffsetBy(0.0, 30.0f);
fCyclingFontButton = new BButton(rect, "Cyclefonts", fCyclingFontButton = new BButton(rect, "Cyclefonts",
B_TRANSLATE("Cycle fonts"), new BMessage(CYCLING_FONTS_MSG)); B_TRANSLATE("Cycle fonts"), new BMessage(CYCLING_FONTS_MSG));
AddChild(fCyclingFontButton); AddChild(fCyclingFontButton);
@@ -472,13 +428,67 @@ ControlView::_AddFontMenu(BRect rect)
_UpdateFontmenus(true); _UpdateFontmenus(true);
rect.bottom += 4;
fFontMenuField = new BMenuField(rect, "FontMenuField", fFontMenuField = new BMenuField(rect, "FontMenuField",
B_TRANSLATE("Font:"), fFontFamilyMenu, true); B_TRANSLATE("Font:"), fFontFamilyMenu, true);
fFontMenuField->SetDivider(30.0); fFontMenuField->SetDivider(
fFontMenuField->StringWidth(B_TRANSLATE("Font:")) + 5);
AddChild(fFontMenuField); 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 void
ControlView::_UpdateAndSendFamily(const BMessage* message) ControlView::_UpdateAndSendFamily(const BMessage* message)
{ {
+1
View File
@@ -36,6 +36,7 @@ class ControlView : public BView {
private: private:
void _AddFontMenu(BRect rect); void _AddFontMenu(BRect rect);
void _AddDrawingModeMenu(BRect rect);
void _UpdateFontmenus(bool setInitialfont = false); void _UpdateFontmenus(bool setInitialfont = false);
void _DeselectOldItems(); void _DeselectOldItems();
+1 -1
View File
@@ -29,7 +29,7 @@ FontDemo::FontDemo()
FontDemoView* demoView = new FontDemoView(demoWindow->Bounds()); FontDemoView* demoView = new FontDemoView(demoWindow->Bounds());
demoWindow->AddChild(demoView); 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_FLOATING_WINDOW_LOOK, B_FLOATING_APP_WINDOW_FEEL,
B_NOT_CLOSABLE | B_NOT_ZOOMABLE | B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS); B_NOT_CLOSABLE | B_NOT_ZOOMABLE | B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS);