Revision Difference
NavigationView#563506
<cat>Code.Editor</cat>⤶
<title>NavigationView</title>⤶
⤶
# NavigationView⤶
⤶
<page>NavigationView</page> is a widget with a sidebar down the left, allowing you to switch between pages. It's built to be used in the <page>Editor</page>.⤶
⤶
# Example⤶
⤶
<upload src="3c56a/8dd44e8b86fa7b4.mp4" size="2904419" name="2025-02-04 00-52-57.mp4" />⤶
⤶
```cs⤶
using Editor;⤶
⤶
[EditorApp( "NavigationViewExample", "grid_view", "An example app that uses a NavigationView." )]⤶
public class NavigationViewExample : Window⤶
{⤶
NavigationView View;⤶
public NavigationViewExample()⤶
{⤶
⤶
WindowTitle = "Navigation View Example";⤶
Size = new Vector2( 1280, 720 );⤶
⤶
View = new NavigationView( this );⤶
View.Size = this.Size;⤶
⤶
Layout = Layout.Column();⤶
Layout.Add( View, 1 );⤶
⤶
///⤶
/// Page 1⤶
///⤶
var page1 = new NavigationView.Option( "Page 1", "change_history" );⤶
page1.CreatePage = () =>⤶
{⤶
var scroll = new ScrollArea( null );⤶
scroll.Canvas = new Widget( scroll );⤶
scroll.Canvas.Layout = Layout.Column();⤶
scroll.Canvas.Layout.Margin = 32;⤶
⤶
var body = scroll.Canvas.Layout;⤶
⤶
body.Add( new Label.Subtitle( "Page 1" ) );⤶
body.Add( new Label.Body( "Page 1 Body" ) );⤶
⤶
body.AddStretchCell();⤶
⤶
return scroll;⤶
};⤶
⤶
///⤶
/// Page 2⤶
///⤶
var page2 = new NavigationView.Option( "Page 2", "radio_button_unchecked" );⤶
page2.CreatePage = () =>⤶
{⤶
var scroll = new ScrollArea( null );⤶
scroll.Canvas = new Widget( scroll );⤶
scroll.Canvas.Layout = Layout.Column();⤶
scroll.Canvas.Layout.Margin = 32;⤶
⤶
var body = scroll.Canvas.Layout;⤶
⤶
body.Add( new Label.Subtitle( "Page 2" ) );⤶
body.Add( new Label.Body( "Page 2 Body" ) );⤶
⤶
body.AddStretchCell();⤶
⤶
return scroll;⤶
};⤶
⤶
///⤶
/// Page 3⤶
///⤶
var page3 = new NavigationView.Option( "Page 3", "close" );⤶
page3.CreatePage = () =>⤶
{⤶
var scroll = new ScrollArea( null );⤶
scroll.Canvas = new Widget( scroll );⤶
scroll.Canvas.Layout = Layout.Column();⤶
scroll.Canvas.Layout.Margin = 32;⤶
⤶
var body = scroll.Canvas.Layout;⤶
⤶
body.Add( new Label.Subtitle( "Page 3" ) );⤶
body.Add( new Label.Body( "Page 3 Body" ) );⤶
⤶
body.AddStretchCell();⤶
⤶
return scroll;⤶
};⤶
⤶
///⤶
/// Page 4⤶
///⤶
var page4 = new NavigationView.Option( "Page 4", "crop_square" );⤶
page4.CreatePage = () =>⤶
{⤶
var scroll = new ScrollArea( null );⤶
scroll.Canvas = new Widget( scroll );⤶
scroll.Canvas.Layout = Layout.Column();⤶
scroll.Canvas.Layout.Margin = 32;⤶
⤶
var body = scroll.Canvas.Layout;⤶
⤶
body.Add( new Label.Subtitle( "Page 4" ) );⤶
body.Add( new Label.Body( "Page 4 Body" ) );⤶
⤶
body.AddStretchCell();⤶
⤶
return scroll;⤶
};⤶
⤶
View.AddPage( page1 );⤶
View.AddPage( page2 );⤶
View.AddPage( page3 );⤶
View.AddPage( page4 );⤶
⤶
}⤶
}⤶
⤶
⤶
```⤶