I’m building a menu bar with FMenuBarBuilder, which is actually quite usable. However, I can’t find any examples or any information on what the options are for styles. I’ve managed to extrapolate a few, such as .Background
and .Button
, but I can’t figure out how to do the drop down menu’s.
Is there anywhere I can find this information or does one of the developers have something of a reference I could use?
If you look in the Editor’s StyleSet (which could be in a couple different places depending on what build you’re on) you should find something like the following:
// MenuBar
{
Set( "Menu.Background", new BOX_BRUSH( "Old/Menu_Background", FMargin(8.0f/64.0f) ) );
Set( "Menu.Icon", new IMAGE_BRUSH( "Icons/icon_tab_toolbar_16px", Icon16x16 ) );
Set( "Menu.Expand", new IMAGE_BRUSH( "Icons/toolbar_expand_16x", Icon16x16) );
Set( "Menu.SubMenuIndicator", new IMAGE_BRUSH( "Common/SubmenuArrow", Icon8x8 ) );
Set( "Menu.SToolBarComboButtonBlock.Padding", FMargin(4.0f));
Set( "Menu.SToolBarButtonBlock.Padding", FMargin(4.0f));
Set( "Menu.SToolBarCheckComboButtonBlock.Padding", FMargin(4.0f));
Set( "Menu.SToolBarButtonBlock.CheckBox.Padding", FMargin(0.0f) );
Set( "Menu.SToolBarComboButtonBlock.ComboButton.Color", DefaultForeground );
Set( "Menu.Block.IndentedPadding", FMargin( 18.0f, 2.0f, 4.0f, 4.0f ) );
Set( "Menu.Block.Padding", FMargin( 2.0f, 2.0f, 4.0f, 4.0f ) );
Set( "Menu.Separator", new BOX_BRUSH( "Old/Button", 4.0f/32.0f ) );
Set( "Menu.Separator.Padding", FMargin( 0.5f ) );
Set( "Menu.Label", FTextBlockStyle(NormalText) .SetFont( TTF_FONT( "Fonts/Roboto-Regular", 9 ) ) );
Set( "Menu.EditableText", FTextBlockStyle(NormalText) .SetFont( TTF_FONT( "Fonts/Roboto-Regular", 9 ) ) );
Set( "Menu.Keybinding", FTextBlockStyle(NormalText) .SetFont( TTF_FONT( "Fonts/Roboto-Regular", 8 ) ) );
...
}
This is where the editor configures the style for it’s menu bars. Depending on your build you should be able to either override the styles in FEditorStyle (not suggested), define your own style in FEditorStyle and pass the multibox your prefix name when you create it (In the above example the prefix name is Menu - better but also not suggested), or finally in the most latest version you should be able to specify your own StyleSet object when constructing your multibox allowing you to break your dependency on FEditorStyle.
Thank you, that’s exactly what I was after. I don’t think we have the latest version then, but I’m very much looking forward to it!