Skip to content

Commit 1c77fdb

Browse files
authored
Merge pull request WolvenKit#2688 from rayshader/feat/scene-graph-ui
feat: improve UI of Scene Graph and its dialog
2 parents fd8056e + 3ee807f commit 1c77fdb

File tree

2 files changed

+471
-319
lines changed

2 files changed

+471
-319
lines changed

WolvenKit/Views/Dialogs/SceneInputDialogView.xaml

Lines changed: 109 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
xmlns:hc="https://handyorg.github.io/handycontrol"
66
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
77
Title="{Binding Title}"
8+
Width="500"
89
MinWidth="{DynamicResource WolvenKitDialogWidthSmall}"
910
MaxWidth="800"
1011
SizeToContent="Height"
11-
Width="500"
12+
ResizeMode="NoResize"
1213
FocusManager.FocusedElement="{Binding ElementName=PrimaryInputTextBox}"
1314
WindowStartupLocation="CenterScreen">
1415
<Grid
@@ -35,88 +36,132 @@
3536
HelpVisibility="Collapsed"
3637
NextVisibility="Collapsed"
3738
PageType="Exterior">
38-
<StackPanel Margin="10" MinWidth="450">
39+
<Grid Margin="{DynamicResource WolvenKitMarginSmallHeader}">
40+
<Grid.RowDefinitions>
41+
<RowDefinition Height="Auto" />
42+
<RowDefinition Height="Auto" />
43+
<RowDefinition Height="Auto" />
44+
<RowDefinition Height="Auto" />
45+
</Grid.RowDefinitions>
46+
47+
<Grid.ColumnDefinitions>
48+
<ColumnDefinition />
49+
</Grid.ColumnDefinitions>
50+
3951
<!-- Dropdown Field (conditionally visible) -->
40-
<Grid Margin="0,0,0,10"
41-
Visibility="{Binding ShowDropdown, Converter={StaticResource BooleanToVisibilityConverter}}">
52+
<Grid
53+
Grid.Row="0"
54+
Grid.Column="0"
55+
Margin="{DynamicResource WolvenKitMarginSmallBottom}"
56+
Visibility="{Binding ShowDropdown,
57+
Converter={StaticResource BooleanToVisibilityConverter}}">
4258
<Grid.ColumnDefinitions>
43-
<ColumnDefinition Width="Auto" MinWidth="140" />
59+
<ColumnDefinition Width="Auto" MinWidth="{DynamicResource WolvenKitLabelWidthMedium}" />
4460
<ColumnDefinition Width="*" />
4561
</Grid.ColumnDefinitions>
46-
<TextBlock Grid.Column="0"
47-
Text="{Binding DropdownLabel}"
48-
VerticalAlignment="Center"
49-
HorizontalAlignment="Right"
50-
Margin="0,0,10,0"
51-
Foreground="{DynamicResource PrimaryTextBrush}"
52-
FontSize="{DynamicResource WolvenKitFontSubTitle}"/>
53-
<ComboBox Grid.Column="1"
54-
Padding="{DynamicResource WolvenKitMarginTiny}"
55-
FontSize="{DynamicResource WolvenKitFontSubTitle}"
56-
ItemsSource="{Binding DropdownOptions}"
57-
SelectedItem="{Binding SelectedDropdownValue, UpdateSourceTrigger=PropertyChanged}"
58-
IsReadOnly="True" />
62+
63+
<TextBlock
64+
Grid.Column="0"
65+
Margin="{DynamicResource WolvenKitMarginSmallRight}"
66+
HorizontalAlignment="Right"
67+
VerticalAlignment="Center"
68+
Foreground="{DynamicResource PrimaryTextBrush}"
69+
FontSize="{DynamicResource WolvenKitFontSubTitle}"
70+
Text="{Binding DropdownLabel}" />
71+
72+
<ComboBox
73+
Grid.Column="1"
74+
Padding="{DynamicResource WolvenKitMarginTiny}"
75+
FontSize="{DynamicResource WolvenKitFontSubTitle}"
76+
ItemsSource="{Binding DropdownOptions}"
77+
SelectedItem="{Binding SelectedDropdownValue,
78+
UpdateSourceTrigger=PropertyChanged}"
79+
IsReadOnly="True" />
5980
</Grid>
6081

6182
<!-- Primary Input Field (always visible) -->
62-
<Grid Margin="0,0,0,10">
83+
<Grid
84+
Grid.Row="1"
85+
Grid.Column="0"
86+
Margin="{DynamicResource WolvenKitMarginSmallBottom}">
6387
<Grid.ColumnDefinitions>
64-
<ColumnDefinition Width="Auto" MinWidth="140" />
88+
<ColumnDefinition Width="Auto" MinWidth="{DynamicResource WolvenKitLabelWidthMedium}" />
6589
<ColumnDefinition Width="*" />
6690
</Grid.ColumnDefinitions>
67-
<TextBlock Grid.Column="0"
68-
Text="{Binding PrimaryLabel}"
69-
VerticalAlignment="Center"
70-
HorizontalAlignment="Right"
71-
Margin="0,0,10,0"
72-
Foreground="{DynamicResource PrimaryTextBrush}"
73-
FontSize="{DynamicResource WolvenKitFontSubTitle}"/>
74-
<TextBox x:Name="PrimaryInputTextBox"
75-
Grid.Column="1"
76-
Padding="{DynamicResource WolvenKitMarginTiny}"
77-
VerticalContentAlignment="Center"
78-
FontSize="{DynamicResource WolvenKitFontSubTitle}"
79-
Text="{Binding PrimaryInputValue, UpdateSourceTrigger=PropertyChanged}"
80-
TextWrapping="Wrap"
81-
AcceptsReturn="False"
82-
VerticalScrollBarVisibility="Auto"
83-
MaxHeight="80" />
91+
92+
<TextBlock
93+
Grid.Column="0"
94+
Margin="{DynamicResource WolvenKitMarginTinyRightSide}"
95+
HorizontalAlignment="Right"
96+
VerticalAlignment="Top"
97+
Foreground="{DynamicResource PrimaryTextBrush}"
98+
FontSize="{DynamicResource WolvenKitFontSubTitle}"
99+
Text="{Binding PrimaryLabel}" />
100+
101+
<TextBox
102+
x:Name="PrimaryInputTextBox"
103+
Grid.Column="1"
104+
Padding="{DynamicResource WolvenKitMarginTiny}"
105+
FontSize="{DynamicResource WolvenKitFontSubTitle}"
106+
Text="{Binding PrimaryInputValue,
107+
UpdateSourceTrigger=PropertyChanged}"
108+
TextWrapping="Wrap"
109+
AcceptsReturn="False"
110+
VerticalScrollBarVisibility="Auto" />
84111
</Grid>
85112

86113
<!-- Secondary Input Checkbox (conditionally visible) -->
87-
<CheckBox Content="{Binding CheckboxText}"
88-
IsChecked="{Binding EnableSecondaryInput}"
89-
VerticalAlignment="Center"
90-
FontSize="{DynamicResource WolvenKitFontSubTitle}"
91-
Margin="0,5,0,10"
92-
Visibility="{Binding ShowSecondaryInput, Converter={StaticResource BooleanToVisibilityConverter}}"/>
114+
<Grid
115+
Grid.Row="2"
116+
Grid.Column="0"
117+
Margin="{DynamicResource WolvenKitMarginSmallBottom}"
118+
VerticalAlignment="Top"
119+
Visibility="{Binding ShowSecondaryInput,
120+
Converter={StaticResource BooleanToVisibilityConverter}}">
121+
<Grid.ColumnDefinitions>
122+
<ColumnDefinition Width="Auto" MinWidth="{DynamicResource WolvenKitLabelWidthMedium}" />
123+
<ColumnDefinition Width="*" />
124+
</Grid.ColumnDefinitions>
125+
126+
<CheckBox
127+
Grid.Column="1"
128+
FontSize="{DynamicResource WolvenKitFontSubTitle}"
129+
Content="{Binding CheckboxText}"
130+
IsChecked="{Binding EnableSecondaryInput}" />
131+
</Grid>
93132

94133
<!-- Secondary Input Field (conditionally visible) -->
95-
<Grid Margin="0,0,0,0"
96-
Visibility="{Binding EnableSecondaryInput, Converter={StaticResource BooleanToVisibilityConverter}}">
134+
<Grid
135+
Grid.Row="3"
136+
Grid.Column="0"
137+
Margin="{DynamicResource WolvenKitMarginSmallBottom}"
138+
Visibility="{Binding EnableSecondaryInput,
139+
Converter={StaticResource BooleanToVisibilityConverter}}">
97140
<Grid.ColumnDefinitions>
98-
<ColumnDefinition Width="Auto" MinWidth="140" />
141+
<ColumnDefinition Width="Auto" MinWidth="{DynamicResource WolvenKitLabelWidthMedium}" />
99142
<ColumnDefinition Width="*" />
100143
</Grid.ColumnDefinitions>
101-
<TextBlock Grid.Column="0"
102-
Text="{Binding SecondaryLabel}"
103-
VerticalAlignment="Top"
104-
HorizontalAlignment="Right"
105-
Margin="0,8,10,0"
106-
Foreground="{DynamicResource PrimaryTextBrush}"
107-
FontSize="{DynamicResource WolvenKitFontSubTitle}"/>
108-
<TextBox Grid.Column="1"
109-
Padding="{DynamicResource WolvenKitMarginTiny}"
110-
VerticalContentAlignment="Top"
111-
FontSize="{DynamicResource WolvenKitFontSubTitle}"
112-
Text="{Binding SecondaryInputValue, UpdateSourceTrigger=PropertyChanged}"
113-
TextWrapping="Wrap"
114-
AcceptsReturn="True"
115-
MinHeight="60"
116-
MaxHeight="120"
117-
VerticalScrollBarVisibility="Auto" />
144+
145+
<TextBlock
146+
Grid.Column="0"
147+
Margin="{DynamicResource WolvenKitMarginTinyRightSide}"
148+
HorizontalAlignment="Right"
149+
VerticalAlignment="Top"
150+
Foreground="{DynamicResource PrimaryTextBrush}"
151+
FontSize="{DynamicResource WolvenKitFontSubTitle}"
152+
Text="{Binding SecondaryLabel}" />
153+
154+
<TextBox
155+
Grid.Column="1"
156+
Padding="{DynamicResource WolvenKitMarginTiny}"
157+
FontSize="{DynamicResource WolvenKitFontSubTitle}"
158+
Text="{Binding SecondaryInputValue,
159+
UpdateSourceTrigger=PropertyChanged}"
160+
TextWrapping="Wrap"
161+
AcceptsReturn="True"
162+
VerticalScrollBarVisibility="Auto" />
118163
</Grid>
119-
</StackPanel>
164+
</Grid>
120165
</syncfusion:WizardPage>
121166
</syncfusion:WizardControl>
122167
</Grid>

0 commit comments

Comments
 (0)