@@ -10,6 +10,8 @@ namespace VisualPinball.Unity.VisualScripting.Editor
1010
1111 public sealed class LampIdValueInspector : Inspector
1212 {
13+ private static readonly int LabelPadding = 5 ;
14+
1315 public LampIdValueInspector ( Metadata metadata , Func < IEnumerable < string > > getSuggestions ) : base ( metadata )
1416 {
1517 Ensure . That ( nameof ( getSuggestions ) ) . IsNotNull ( getSuggestions ) ;
@@ -34,19 +36,20 @@ private float GetFieldHeight(float width, GUIContent label)
3436
3537 protected override void OnGUI ( Rect position , GUIContent label )
3638 {
39+ LampIdValue lampIdValue = LampIdValue . FromJson ( ( string ) metadata . value ) ;
40+
41+ var valueLabelWidth = EditorStyles . label . CalcSize ( new GUIContent ( "Value" ) ) . x ;
42+ var valueWidth = EditorStyles . textField . CalcSize ( new GUIContent ( $ "{ lampIdValue . value } ") ) . x ;
43+
3744 position = BeginLabeledBlock ( metadata , position , label ) ;
3845
3946 var fieldPosition = position . VerticalSection ( ref y , GetFieldHeight ( position . width , GUIContent . none ) ) ;
40-
41- LampIdValue lampIdValue = LampIdValue . FromJson ( ( string ) metadata . value ) ;
42-
43- var valueWidth = LudiqGUI . GetTextFieldAdaptiveWidth ( lampIdValue . value ) ;
4447
4548 var textFieldPosition = new Rect
4649 (
4750 fieldPosition . x ,
4851 fieldPosition . y ,
49- fieldPosition . width - Styles . popup . fixedWidth - valueWidth - 60 ,
52+ fieldPosition . width - valueWidth - LabelPadding - valueLabelWidth - LabelPadding - Styles . popup . fixedWidth ,
5053 fieldPosition . height
5154 ) ;
5255
@@ -81,26 +84,25 @@ protected override void OnGUI(Rect position, GUIContent label)
8184
8285 EditorGUI . EndDisabledGroup ( ) ;
8386
84- var valueFieldPosition = new Rect
87+ var valueLabelPosition = new Rect
88+ (
89+ fieldPosition . x + fieldPosition . width - valueWidth - LabelPadding - valueLabelWidth ,
90+ fieldPosition . y ,
91+ valueLabelWidth ,
92+ fieldPosition . height
93+ ) ;
94+
95+ EditorGUI . LabelField ( valueLabelPosition , "Value" ) ;
96+
97+ var valueIntFieldPosition = new Rect
8598 (
8699 fieldPosition . x + fieldPosition . width - valueWidth ,
87100 fieldPosition . y ,
88101 valueWidth ,
89102 fieldPosition . height
90- ) ;
91-
92- var valueLabelFieldPosition = new Rect
93- (
94- fieldPosition . x + fieldPosition . width - valueWidth - 50 ,
95- fieldPosition . y ,
96- 50 ,
97- fieldPosition . height
98- ) ;
99-
100-
101- EditorGUI . LabelField ( valueLabelFieldPosition , "Value" ) ;
103+ ) ;
102104
103- var newValue = LudiqGUI . DraggableIntField ( valueFieldPosition , lampIdValue . value ) ;
105+ var newValue = LudiqGUI . DraggableIntField ( valueIntFieldPosition , lampIdValue . value ) ;
104106
105107 if ( EndBlock ( metadata ) )
106108 {
@@ -117,8 +119,12 @@ public override float GetAdaptiveWidth()
117119 {
118120 LampIdValue lampIdValue = LampIdValue . FromJson ( ( string ) metadata . value ) ;
119121
120- return Mathf . Max ( 30 , EditorStyles . textField . CalcSize ( new GUIContent ( lampIdValue . id ) ) . x + 1 + Styles . popup . fixedWidth ) +
121- LudiqGUI . GetTextFieldAdaptiveWidth ( lampIdValue . value ) + 70 ;
122+ return Mathf . Max ( 30 ,
123+ EditorStyles . textField . CalcSize ( new GUIContent ( lampIdValue . id ) ) . x + 1 + Styles . popup . fixedWidth ) +
124+ LabelPadding +
125+ EditorStyles . label . CalcSize ( new GUIContent ( "Value" ) ) . x +
126+ LabelPadding +
127+ EditorStyles . textField . CalcSize ( new GUIContent ( $ "{ lampIdValue . value } ") ) . x ;
122128 }
123129
124130 public static class Styles
0 commit comments