@@ -95,16 +95,29 @@ private void CreateToolbar()
9595 _toolbar . Add ( _inspectorToggle ) ;
9696
9797 // Clip ProgressBar toggle
98- var clipProgressBarToggle = new ToolbarToggle ( )
98+ var clipProgressDropdownToggle = new ToolbarDropdownToggle ( )
9999 {
100100 text = "Clip Progress" ,
101101 tooltip = "Disabling this option can significantly improve performance." ,
102102 value = _viewUpdateContext . ShowClipProgressBar ,
103103 } ;
104- clipProgressBarToggle . RegisterValueChangedCallback ( ToggleDisplayClipProgressBar ) ;
105- clipProgressBarToggle . Q < TextElement > ( className : "unity-text-element" ) . style . color = NormalTextColor ;
106- _toolbar . Add ( clipProgressBarToggle ) ;
104+ clipProgressDropdownToggle . RegisterValueChangedCallback ( ToggleDisplayClipProgressBar ) ;
105+ clipProgressDropdownToggle . Q < TextElement > ( className : "unity-text-element" ) . style . color = NormalTextColor ;
106+ clipProgressDropdownToggle . menu . AppendAction ( "Progress Text (Low-Performance)" ,
107+ ToggleDisplayClipProgressBarText ,
108+ ( _ ) =>
109+ {
110+ var @checked = _viewUpdateContext . ShowClipProgressBarTitle
111+ ? DropdownMenuAction . Status . Checked
112+ : DropdownMenuAction . Status . Normal ;
113+ var disabled = _viewUpdateContext . ShowClipProgressBar
114+ ? DropdownMenuAction . Status . Normal
115+ : DropdownMenuAction . Status . Disabled ;
116+ return @checked | disabled ;
117+ } ) ;
118+ _toolbar . Add ( clipProgressDropdownToggle ) ;
107119
120+ // Update edge toggle
108121 var updateEdgeToggle = new ToolbarToggle ( )
109122 {
110123 text = "Always Update Edges" ,
@@ -157,6 +170,7 @@ private void CreateToolbar()
157170 var frameAllButton = new ToolbarButton ( OnFrameAllButtonClicked )
158171 {
159172 text = "Frame All" ,
173+ style = { flexShrink = 0 } ,
160174 } ;
161175 frameAllButton . Q < TextElement > ( className : "unity-text-element" ) . style . color = NormalTextColor ;
162176 _toolbar . Add ( frameAllButton ) ;
@@ -165,15 +179,17 @@ private void CreateToolbar()
165179 _toolbar . Add ( new ToolbarSpacer ( ) ) ;
166180 _selectOutputNodeMenu = new ToolbarMenu
167181 {
168- text = "Select Output Node"
182+ text = "Select Output Node" ,
183+ style = { flexShrink = 0 } ,
169184 } ;
170185 _selectOutputNodeMenu . RegisterCallback < PointerEnterEvent > ( OnHoverSelectOutputNodeMenu ) ;
171186 _toolbar . Add ( _selectOutputNodeMenu ) ;
172187
173188 // Select root node
174189 _selectRootNodeMenu = new ToolbarMenu
175190 {
176- text = "Select Root Node"
191+ text = "Select Root Node" ,
192+ style = { flexShrink = 0 } ,
177193 } ;
178194 _selectRootNodeMenu . RegisterCallback < PointerEnterEvent > ( OnHoverSelectRootNodeMenu ) ;
179195 _toolbar . Add ( _selectRootNodeMenu ) ;
@@ -221,6 +237,11 @@ private void ToggleDisplayClipProgressBar(ChangeEvent<bool> evt)
221237 _viewUpdateContext . ShowClipProgressBar = evt . newValue ;
222238 }
223239
240+ private void ToggleDisplayClipProgressBarText ( DropdownMenuAction _ )
241+ {
242+ _viewUpdateContext . ShowClipProgressBarTitle = ! _viewUpdateContext . ShowClipProgressBarTitle ;
243+ }
244+
224245 private void ToggleKeepUpdatingEdges ( ChangeEvent < bool > evt )
225246 {
226247 _viewUpdateContext . KeepUpdatingEdges = evt . newValue ;
0 commit comments