1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 12:32:20 +02:00

Support for empty parent, for | to separate columns

This commit is contained in:
Brian Fiete 2019-09-27 13:01:54 -07:00
parent 3552837b4f
commit be3c968e2b
2 changed files with 40 additions and 9 deletions

View file

@ -29,21 +29,30 @@ namespace Beefy.theme.dark
let darkMenuWidget = (DarkMenuWidget)mMenuWidget;
g.SetFont(mMenuItem.mBold ? darkMenuWidget.mBoldFont : darkMenuWidget.mFont);
if (mMenuItem.mDisabled)
{
using (g.PushColor(0xFFA8A8A8))
g.DrawString(mMenuItem.mLabel, GS!(36), 0);
}
else
g.DrawString(mMenuItem.mLabel, GS!(36), 0);
using (g.PushColor(mMenuItem.mDisabled ? 0xFFA8A8A8 : 0xFFFFFFFF))
{
StringView leftStr = mMenuItem.mLabel;
StringView rightStr = default;
int barIdx = leftStr.IndexOf('|');
if (barIdx != -1)
{
rightStr = .(leftStr, barIdx + 1);
leftStr.RemoveToEnd(barIdx);
}
g.DrawString(leftStr, GS!(36), 0);
if (!rightStr.IsEmpty)
g.DrawString(rightStr, mWidth - GS!(8), 0, .Right);
}
if (mMenuItem.mIconImage != null)
g.Draw(mMenuItem.mIconImage, GS!(4), 0);
}
if (mMenuItem.mItems.Count > 0)
if (mMenuItem.IsParent)
{
g.Draw(DarkTheme.sDarkTheme.GetImage(DarkTheme.ImageIdx.RightArrow), mWidth - GS!(16), 0);
using (g.PushColor(mMenuItem.mDisabled ? 0xFFA8A8A8 : 0xFFFFFFFF))
g.Draw(DarkTheme.sDarkTheme.GetImage(DarkTheme.ImageIdx.RightArrow), mWidth - GS!(16), 0);
}
}

View file

@ -551,12 +551,34 @@ namespace Beefy.widgets
public bool mDisabled;
public bool mBold;
public IDrawable mIconImage;
public bool mForceParent;
public ~this()
{
}
public bool IsEmpty
{
get
{
return mItems.IsEmpty;
}
}
public bool IsParent
{
get
{
return !mItems.IsEmpty || mForceParent;
}
set
{
mForceParent = value;
}
}
public virtual Menu AddItem(StringView label = default)
{
Menu item = new Menu();