@@ -21,10 +21,12 @@ internal sealed partial class DebugWindow : Window
2121 private readonly GameFont ? _defaultFont ;
2222 private bool _wasParentDrawDebugOutlinesEnabled ;
2323 private bool _drawDebugOutlinesEnabled ;
24+ private ComponentStateFilters _componentStateFilters = ComponentStateFilters . IncludeMouseInputDisabled ;
2425
2526 public DebugWindow ( Base parent ) : base ( parent , Strings . Debug . Title , false , nameof ( DebugWindow ) )
2627 {
2728 _generators = [ ] ;
29+
2830 DisableResizing ( ) ;
2931 MinimumSize = new Point ( 320 , 320 ) ;
3032 Size = new Point ( 400 , 600 ) ;
@@ -39,6 +41,7 @@ public DebugWindow(Base parent) : base(parent, Strings.Debug.Title, false, nameo
3941 TabInfo = Tabs . AddPage ( Strings . Debug . TabLabelInfo , nameof ( TabInfo ) ) ;
4042 CheckboxDrawDebugOutlines = CreateInfoCheckboxDrawDebugOutlines ( TabInfo . Page ) ;
4143 CheckboxEnableLayoutHotReloading = CreateInfoCheckboxEnableLayoutHotReloading ( TabInfo . Page ) ;
44+ CheckboxIncludeTextNodesInHover = CreateInfoCheckboxIncludeTextNodesInHover ( TabInfo . Page ) ;
4245 ButtonShutdownServer = CreateInfoButtonShutdownServer ( TabInfo . Page ) ;
4346 ButtonShutdownServerAndExit = CreateInfoButtonShutdownServerAndExit ( TabInfo . Page ) ;
4447 TableDebugStats = CreateInfoTableDebugStats ( TabInfo . Page ) ;
@@ -144,6 +147,8 @@ private Button CreateAssetsButtonReloadAsset(Table table, SearchableTree assetLi
144147
145148 private LabeledCheckBox CheckboxEnableLayoutHotReloading { get ; }
146149
150+ private LabeledCheckBox CheckboxIncludeTextNodesInHover { get ; }
151+
147152 private Button ButtonShutdownServer { get ; }
148153
149154 private Button ButtonShutdownServerAndExit { get ; }
@@ -237,14 +242,39 @@ private LabeledCheckBox CreateInfoCheckboxEnableLayoutHotReloading(Base parent)
237242 TextColorOverride = Color . Yellow ,
238243 } ;
239244
240- checkbox . CheckChanged += ( sender , args ) => Globals . ContentManager . ContentWatcher . Enabled = checkbox . IsChecked ;
245+ checkbox . CheckChanged += ( _ , _ ) => Globals . ContentManager . ContentWatcher . Enabled = checkbox . IsChecked ;
241246
242247 checkbox . SetToolTipText ( Strings . Internals . ExperimentalFeatureTooltip ) ;
243248 checkbox . TooltipFont = Skin . DefaultFont ;
244249
245250 return checkbox ;
246251 }
247252
253+ private LabeledCheckBox CreateInfoCheckboxIncludeTextNodesInHover ( Base parent )
254+ {
255+ var checkbox = new LabeledCheckBox ( parent , nameof ( CheckboxIncludeTextNodesInHover ) )
256+ {
257+ Dock = Pos . Top ,
258+ Font = _defaultFont ,
259+ IsChecked = _componentStateFilters . HasFlag ( ComponentStateFilters . IncludeText ) ,
260+ Text = Strings . Debug . IncludeTextNodesInHover ,
261+ } ;
262+
263+ checkbox . CheckChanged += ( _ , _ ) =>
264+ {
265+ if ( _componentStateFilters . HasFlag ( ComponentStateFilters . IncludeText ) )
266+ {
267+ _componentStateFilters &= ~ ComponentStateFilters . IncludeText ;
268+ }
269+ else
270+ {
271+ _componentStateFilters |= ComponentStateFilters . IncludeText ;
272+ }
273+ } ;
274+
275+ return checkbox ;
276+ }
277+
248278 private Button CreateInfoButtonShutdownServer ( Base parent )
249279 {
250280 var button = new Button ( parent , nameof ( ButtonShutdownServer ) )
@@ -255,7 +285,7 @@ private Button CreateInfoButtonShutdownServer(Base parent)
255285 Text = Strings . Debug . ShutdownServer ,
256286 } ;
257287
258- button . Clicked += ( sender , args ) =>
288+ button . Clicked += ( _ , _ ) =>
259289 {
260290 // TODO: Implement
261291 } ;
@@ -273,7 +303,7 @@ private Button CreateInfoButtonShutdownServerAndExit(Base parent)
273303 Text = Strings . Debug . ShutdownServerAndExit ,
274304 } ;
275305
276- button . Clicked += ( sender , args ) =>
306+ button . Clicked += ( _ , _ ) =>
277307 {
278308 // TODO: Implement
279309 } ;
@@ -399,12 +429,13 @@ private Table CreateInfoTableDebugStats(Base parent)
399429 table . AddRow ( Strings . Internals . Color , name : "ColorRow" ) . Listen ( controlUnderCursorProvider , 4 ) ;
400430 table . AddRow ( Strings . Internals . ColorOverride , name : "ColorOverrideRow" ) . Listen ( controlUnderCursorProvider , 5 ) ;
401431 table . AddRow ( Strings . Internals . InnerBounds , name : "InnerBoundsRow" ) . Listen ( controlUnderCursorProvider , 6 ) ;
402- table . AddRow ( Strings . Internals . Margin , name : "MarginRow" ) . Listen ( controlUnderCursorProvider , 7 ) ;
403- table . AddRow ( Strings . Internals . Padding , name : "PaddingRow" ) . Listen ( controlUnderCursorProvider , 8 ) ;
404- table . AddRow ( Strings . Internals . Dock , name : "Dock" ) . Listen ( controlUnderCursorProvider , 9 ) ;
405- table . AddRow ( Strings . Internals . Alignment , name : "Alignment" ) . Listen ( controlUnderCursorProvider , 10 ) ;
406- table . AddRow ( Strings . Internals . TextAlign , name : "TextAlign" ) . Listen ( controlUnderCursorProvider , 11 ) ;
407- table . AddRow ( Strings . Internals . TextPadding , name : "TextPadding" ) . Listen ( controlUnderCursorProvider , 12 ) ;
432+ table . AddRow ( Strings . Internals . OuterBounds , name : "OuterBounds" ) . Listen ( controlUnderCursorProvider , 7 ) ;
433+ table . AddRow ( Strings . Internals . Margin , name : "MarginRow" ) . Listen ( controlUnderCursorProvider , 8 ) ;
434+ table . AddRow ( Strings . Internals . Padding , name : "PaddingRow" ) . Listen ( controlUnderCursorProvider , 9 ) ;
435+ table . AddRow ( Strings . Internals . Dock , name : "Dock" ) . Listen ( controlUnderCursorProvider , 10 ) ;
436+ table . AddRow ( Strings . Internals . Alignment , name : "Alignment" ) . Listen ( controlUnderCursorProvider , 11 ) ;
437+ table . AddRow ( Strings . Internals . Alignment , name : "Alignment" ) . Listen ( controlUnderCursorProvider , 11 ) ;
438+ table . AddRow ( Strings . Internals . TextAlign , name : "TextAlign" ) . Listen ( controlUnderCursorProvider , 12 ) ;
408439 table . AddRow ( Strings . Internals . Font , name : "Font" ) . Listen ( controlUnderCursorProvider , 13 ) ;
409440 table . AddRow ( Strings . Internals . AutoSizeToContents , name : "AutoSizeToContents" ) . Listen ( controlUnderCursorProvider , 14 ) ;
410441 _generators . Add ( controlUnderCursorProvider . Generator ) ;
@@ -425,9 +456,9 @@ private Table CreateInfoTableDebugStats(Base parent)
425456
426457 private partial class ControlUnderCursorProvider : ITableDataProvider
427458 {
428- private readonly Base _owner ;
459+ private readonly DebugWindow _owner ;
429460
430- public ControlUnderCursorProvider ( Base owner )
461+ public ControlUnderCursorProvider ( DebugWindow owner )
431462 {
432463 _owner = owner ;
433464 Generator = new CancellableGenerator < Base ? > ( CreateControlUnderCursorGenerator ) ;
@@ -465,8 +496,7 @@ private async Task WaitForOwnerVisible(CancellationToken cancellationToken)
465496 cancellationToken . ThrowIfCancellationRequested ( ) ;
466497 }
467498
468- private static Base ? CreateValue ( Task _ ) =>
469- Interface . FindComponentUnderCursor ( ComponentStateFilters . IncludeMouseInputDisabled ) ;
499+ private Base ? CreateValue ( Task _ ) => Interface . FindComponentUnderCursor ( _owner . _componentStateFilters ) ;
470500
471501 private void HandleValue ( Base ? component )
472502 {
@@ -515,29 +545,29 @@ private void HandleValue(Base? component)
515545 ) ;
516546 DataChanged ? . Invoke (
517547 this ,
518- new TableDataChangedEventArgs ( 7 , 1 , default , component ? . Margin . ToString ( ) ?? string . Empty )
548+ new TableDataChangedEventArgs ( 7 , 1 , default , component ? . OuterBounds . ToString ( ) ?? string . Empty )
519549 ) ;
520550 DataChanged ? . Invoke (
521551 this ,
522- new TableDataChangedEventArgs ( 8 , 1 , default , component ? . Padding . ToString ( ) ?? string . Empty )
552+ new TableDataChangedEventArgs ( 8 , 1 , default , component ? . Margin . ToString ( ) ?? string . Empty )
523553 ) ;
524554 DataChanged ? . Invoke (
525555 this ,
526- new TableDataChangedEventArgs ( 9 , 1 , default , component ? . Dock . ToString ( ) ?? string . Empty )
556+ new TableDataChangedEventArgs ( 9 , 1 , default , component ? . Padding . ToString ( ) ?? string . Empty )
527557 ) ;
528558 DataChanged ? . Invoke (
529559 this ,
530- new TableDataChangedEventArgs ( 10 , 1 , default , string . Join ( ", " , component ? . Alignment ?? [ ] ) )
560+ new TableDataChangedEventArgs ( 10 , 1 , default , component ? . Dock . ToString ( ) ?? string . Empty )
531561 ) ;
532-
533- var label = component as Label ;
534562 DataChanged ? . Invoke (
535563 this ,
536- new TableDataChangedEventArgs ( 11 , 1 , default , label ? . TextAlign . ToString ( ) ?? string . Empty )
564+ new TableDataChangedEventArgs ( 11 , 1 , default , string . Join ( ", " , component ? . Alignment ?? [ ] ) )
537565 ) ;
566+
567+ var label = component as Label ;
538568 DataChanged ? . Invoke (
539569 this ,
540- new TableDataChangedEventArgs ( 12 , 1 , default , label ? . TextPadding . ToString ( ) ?? string . Empty )
570+ new TableDataChangedEventArgs ( 12 , 1 , default , label ? . TextAlign . ToString ( ) ?? string . Empty )
541571 ) ;
542572 DataChanged ? . Invoke (
543573 this ,
0 commit comments