Skip to main content

Foldout

See the FoldoutDemo class.

Gui.Heading("Foldouts");

// Returns true if expanded.
if (Gui.Foldout())
{
Gui.TextColorTexture(Properties.SampleTexture);
}
if (Gui.FoldoutTextButton("FoldoutTextButton"))
{
Gui.TextColorTexture(Properties.SampleTexture);
}
// Since the Id changes when the label is different, the WidgetId is specified and fixed.
// This allows the open/close state to remain fixed even if the label changes.
if (Gui.FoldoutTextButton("FoldoutTextButton:" + Time.frameCount % 100 / 10, new WidgetId(hash)))
{
Gui.TextColorTexture(Properties.SampleTexture);
}
if (Gui.FoldoutTextButton("HeaderFoldoutTextButton"))
{
Gui.TextColorTexture(Properties.SampleTexture);
}
if (Gui.FoldoutText("FoldoutText"))
{
Gui.TextColorTexture(Properties.SampleTexture);
}

isOpenFoldoutStatelessText = Gui.FoldoutStatelessText("FoldoutStatelessText", isOpenFoldoutStatelessText);
if (isOpenFoldoutStatelessText)
{
Gui.TextColorTexture(Properties.SampleTexture);
}

Gui.Heading("Tree using FoldoutText");

Gui.LabelDropdown(nameof(OverrideFoldoutStatus), ref overrideFoldoutStatus);
using var p = Style.Foldout.OverrideStatuses.Begin(overrideFoldoutStatus);
if (Gui.FoldoutText("0"))
{
using var indent1 = Ctx.Indent();
if (Gui.FoldoutText("1"))
{
using var indent2 = Ctx.Indent();
if (Gui.FoldoutText("2"))
{
Gui.TextColorTexture(Properties.SampleTexture);
}
}
}