Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/MainWindow.xaml @ 12762

Last change on this file since 12762 was 12762, checked in by aballeit, 9 years ago

#2283 GUI updates, Tree-chart, MCTS Version 2 (prune leaves)

File size: 17.0 KB
Line 
1<Window x:Class="Evaluation.MainWindow"
2        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4        xmlns:d3="clr-namespace:Microsoft.Research.DynamicDataDisplay;assembly=DynamicDataDisplay"
5        xmlns:charts="http://research.microsoft.com/DynamicDataDisplay/1.0"
6
7        Title="MainWindow" Height="900" Width="1600" Loaded="Window_Loaded">
8    <Grid Margin="10">
9        <Grid.RowDefinitions>
10            <RowDefinition Height="Auto" />
11            <RowDefinition Height="Auto" />
12            <RowDefinition Height="*" />
13        </Grid.RowDefinitions>
14        <Grid.ColumnDefinitions>
15            <ColumnDefinition Width="*" />
16        </Grid.ColumnDefinitions>
17        <Grid Grid.Column="0" Grid.Row="0">
18            <Grid.RowDefinitions>
19                <RowDefinition Height="Auto" />
20                <RowDefinition Height="*" />
21            </Grid.RowDefinitions>
22            <Grid.ColumnDefinitions>
23                <ColumnDefinition Width="Auto" />
24                <ColumnDefinition Width="Auto" />
25                <ColumnDefinition Width="*" />
26            </Grid.ColumnDefinitions>
27            <TextBlock VerticalAlignment="Center" Grid.Column="0" Grid.Row="0">Problem:</TextBlock>
28            <ComboBox Name="ComboBoxProblems"
29                      ItemsSource="{Binding Problems}"
30                      DisplayMemberPath="Name"
31                      SelectedValue="{Binding SelectedProblem}"
32                      HorizontalAlignment="Left" Grid.Column="1" Grid.Row="0" Width="200" Margin="2">
33
34            </ComboBox>
35            <TextBlock VerticalAlignment="Center" Grid.Column="0" Grid.Row="1">Algorithm:</TextBlock>
36            <StackPanel Name="AlgorithmStackPanel" Grid.Column="1" Grid.Row="1" Orientation="Horizontal" Margin="2">
37                <ComboBox Name="ComboBoxAlgorithms"
38                          ItemsSource="{Binding Algorithms}"
39                          DisplayMemberPath="Name"
40                          SelectedValue="{Binding SelectedAlgorithm}"
41                          Width="200"
42                          SelectionChanged="ComboBoxAlgorithms_OnSelectionChanged"></ComboBox>
43                <ComboBox Name="ComboBoxPolicies"
44                          IsEnabled="False"
45                          ItemsSource="{Binding Policies}"
46                          DisplayMemberPath="Name"
47                          SelectedValue="{Binding SelectedPolicy}"
48                          Width="200" Margin="5,0,0,0"></ComboBox>
49                <Button Name="ButtonRun" Margin="5,0,0,0" Click="ButtonRun_OnClick" Height="22" VerticalAlignment="Top">Run</Button>
50                <Button Name="ButtonPause" Margin="5,0,0,0" Click="ButtonPause_OnClick" IsEnabled="False">Pause</Button>
51                <Button Name="ButtonStop" Margin="5,0,0,0" Click="ButtonStop_OnClick" IsEnabled="False">Stop</Button>
52            </StackPanel>
53            <StackPanel Grid.Column="2" Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Right">
54                <Button Name="LoadButton" Click="LoadButton_OnClick">Load</Button>
55                <Button Name="SaveButton" Click="SaveButton_OnClick" Margin="5,0,0,0">Save</Button>
56            </StackPanel>
57        </Grid>
58        <GroupBox Grid.Row="1" Header="Settings" Name="GroupBoxSettings">
59            <Grid>
60                <Grid.RowDefinitions>
61                    <RowDefinition Height="Auto" />
62                    <RowDefinition Height="Auto" />
63                </Grid.RowDefinitions>
64                <Grid.ColumnDefinitions>
65                    <ColumnDefinition Width="Auto" />
66                    <ColumnDefinition Width="Auto" />
67                    <ColumnDefinition Width="Auto" />
68                    <ColumnDefinition Width="Auto" />
69                    <ColumnDefinition Width="*" />
70                </Grid.ColumnDefinitions>
71                <TextBlock Margin="2" Grid.Column="0" Grid.Row="0" VerticalAlignment="Center">Runs:</TextBlock>
72                <TextBox Name="TextBoxRuns" Margin="2" Grid.Column="1" Grid.Row="0" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding NrRuns}"></TextBox>
73                <TextBlock Margin="2" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center">MaxEvaluations:</TextBlock>
74                <TextBox Name="TextBoxMaxEvaluations" Margin="2" Grid.Column="1" Grid.Row="1" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding MaxEvaluations}"></TextBox>
75                <TextBlock Margin="2" Grid.Column="2" Grid.Row="0" VerticalAlignment="Center">MaxLen:</TextBlock>
76                <TextBox Name="TextBoxMaxLen" Margin="2" Grid.Column="3" Grid.Row="0" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding MaxLen}"></TextBox>
77                <TextBlock Margin="2" Grid.Column="2" Grid.Row="1" VerticalAlignment="Center">Threads:</TextBlock>
78                <TextBox Name="TextBoxThreads" Margin="2" Grid.Column="3" Grid.Row="1" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding Threads}"></TextBox>
79            </Grid>
80        </GroupBox>
81        <Grid Grid.Row="2">
82            <Grid.RowDefinitions>
83                <RowDefinition Height="*" />
84            </Grid.RowDefinitions>
85            <Grid.ColumnDefinitions>
86                <ColumnDefinition Width="*" />
87                <ColumnDefinition Width="Auto" />
88            </Grid.ColumnDefinitions>
89
90            <TabControl Grid.Row="0" Grid.Column="0" Margin="10,20,10,10" >
91                <TabItem Header="Run-Detail">
92                    <Grid>
93                        <Grid.ColumnDefinitions>
94                            <ColumnDefinition Width="Auto"></ColumnDefinition>
95                            <ColumnDefinition Width="*"></ColumnDefinition>
96                        </Grid.ColumnDefinitions>
97                        <Grid.RowDefinitions>
98                            <RowDefinition Height="*"></RowDefinition>
99                        </Grid.RowDefinitions>
100                        <ListBox Name="ListBoxRuns" Grid.Column="0" Width="100" ItemsSource="{Binding Runs}" SelectionChanged="ListBoxRuns_OnSelectionChanged"/>
101                        <TabControl Grid.Column="1">
102                            <TabItem Header="Chart">
103                                <Grid>
104                                    <Grid.RowDefinitions>
105                                        <RowDefinition Height="*"></RowDefinition>
106                                    </Grid.RowDefinitions>
107                                    <Grid.ColumnDefinitions>
108                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
109                                        <ColumnDefinition Width="*"></ColumnDefinition>
110                                    </Grid.ColumnDefinitions>
111                                    <d3:ChartPlotter Grid.Column="1" x:Name="ChartPlotter" LegendVisible="False" EnableSmoothPanningForNumericAxes="True">
112                                        <d3:Header Content="{Binding HeaderString}"/>
113                                        <d3:VerticalAxisTitle Content="{Binding VerticalAxisString}" />
114                                        <d3:HorizontalAxisTitle Content="{Binding HorizontalAxisString}"/>
115                                    </d3:ChartPlotter>
116                                </Grid>
117                            </TabItem>
118                            <TabItem Header="Tree" Name="TabItemTree">
119                                <Grid>
120                                    <Grid.RowDefinitions>
121                                        <RowDefinition Height="*"></RowDefinition>
122                                    </Grid.RowDefinitions>
123                                    <Grid.ColumnDefinitions>
124                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
125                                        <ColumnDefinition Width="*"></ColumnDefinition>
126                                    </Grid.ColumnDefinitions>
127                                    <Grid Name="MyGrid" Grid.Column="0" DataContext="{Binding CurrentRun.TreeInfos}">
128                                        <Grid.RowDefinitions>
129                                            <RowDefinition Height="Auto"></RowDefinition>
130                                            <RowDefinition Height="Auto"></RowDefinition>
131                                            <RowDefinition Height="Auto"></RowDefinition>
132                                            <RowDefinition Height="Auto"></RowDefinition>
133                                            <RowDefinition Height="Auto"></RowDefinition>
134                                            <RowDefinition Height="Auto"></RowDefinition>
135                                            <RowDefinition Height="Auto"></RowDefinition>
136                                        </Grid.RowDefinitions>
137                                        <Grid.ColumnDefinitions>
138                                            <ColumnDefinition Width="Auto"></ColumnDefinition>
139                                            <ColumnDefinition Width="Auto"></ColumnDefinition>
140                                        </Grid.ColumnDefinitions>
141                                        <TextBlock Grid.Row="0" Grid.Column="0" Text="TotalNodes:"></TextBlock>
142                                        <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding TotalNodes}" TextAlignment="Right"></TextBlock>
143                                        <TextBlock Grid.Row="1" Grid.Column="0" Text="UnexpandedNodes:"></TextBlock>
144                                        <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding UnexpandedNodes}" TextAlignment="Right"></TextBlock>
145                                        <TextBlock Grid.Row="2" Grid.Column="0" Text="ExpandedNodes:"></TextBlock>
146                                        <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding ExpandedNodes}" TextAlignment="Right"></TextBlock>
147                                        <TextBlock Grid.Row="3" Grid.Column="0" Text="LeaveNodes:"></TextBlock>
148                                        <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding LeaveNodes}" TextAlignment="Right"></TextBlock>
149                                        <TextBlock Grid.Row="4" Grid.Column="0" Text="DeepestLevel:"></TextBlock>
150                                        <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding DeepestLevel}" TextAlignment="Right"></TextBlock>
151                                        <TextBlock Grid.Row="5" Grid.Column="0" Text="AverageLevel:"></TextBlock>
152                                        <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding AverageLevel}" TextAlignment="Right"></TextBlock>
153                                        <TextBlock Grid.Row="6" Grid.Column="0" Text="AverageChildren:"></TextBlock>
154                                        <TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding AverageChildren}" TextAlignment="Right"></TextBlock>
155                                    </Grid>
156                                    <Frame Grid.Column="1" Name="treeDrawing" Source="pack://application:,,,/WpfTestSvgSample;component/DrawingPage.xaml"/>
157                                </Grid>
158                            </TabItem>
159                        </TabControl>
160                    </Grid>
161                </TabItem>
162
163                <TabItem Header="Run-Comparison">
164                    <TabControl Name="TabControlRunComparison" SelectionChanged="TabControlRunComparison_OnSelectionChanged">
165                        <TabItem Name="TabItemChartRunComparison" Header="Chart">
166                            <d3:ChartPlotter x:Name="ComparisonChartPlotter" LegendVisible="False" EnableSmoothPanningForNumericAxes="True">
167                                <d3:Header Content="{Binding HeaderString}"/>
168                                <d3:VerticalAxisTitle Content="{Binding VerticalAxisString}" />
169                                <d3:HorizontalAxisTitle Content="{Binding HorizontalAxisString}"/>
170                            </d3:ChartPlotter>
171                        </TabItem>
172                        <TabItem Header="Table">
173                            <ListView ItemsSource="{Binding Path=Runs}">
174                                <ListView.View>
175                                    <GridView>
176                                        <GridView.Columns>
177                                            <GridViewColumn DisplayMemberBinding="{Binding Path=RunNumber}"
178                                                            Header="Run #"/>
179                                            <GridViewColumn DisplayMemberBinding="{Binding Path=Evaluations}"
180                                                            Header="Evaluations"/>
181                                            <GridViewColumn DisplayMemberBinding="{Binding Path=BestKnownQuality}"
182                                                            Header="BestKnownQuality"/>
183                                            <GridViewColumn DisplayMemberBinding="{Binding Path=BestSolutionQuality}"
184                                                            Header="BestFoundQuality"/>
185                                            <GridViewColumn DisplayMemberBinding="{Binding Path=EvaluationsPerSecond}"
186                                                            Header="EvaluationsPerSecond"/>
187                                            <GridViewColumn DisplayMemberBinding="{Binding Path=TotalTime}"
188                                                            Header="TotalTime"/>
189                                            <GridViewColumn DisplayMemberBinding="{Binding Path=BestSolutionTime}"
190                                                            Header="BestSolutionTime"/>
191                                            <GridViewColumn DisplayMemberBinding="{Binding Path=BestSolution}"
192                                                            Header="BestSolution"/>
193                                        </GridView.Columns>
194                                    </GridView>
195                                </ListView.View>
196                            </ListView>
197                        </TabItem>
198                    </TabControl>
199                </TabItem>
200            </TabControl>
201
202            <Grid Grid.Column="1" Grid.Row="0" Margin="0,25,0,0">
203                <Grid.RowDefinitions>
204                    <RowDefinition Height="Auto" />
205                    <RowDefinition Height="Auto" />
206                    <RowDefinition Height="Auto" />
207                    <RowDefinition Height="Auto" />
208                    <RowDefinition Height="Auto" />
209                    <RowDefinition Height="Auto" />
210                    <RowDefinition Height="Auto" />
211                    <RowDefinition Height="Auto" />
212                    <RowDefinition Height="Auto" />
213                </Grid.RowDefinitions>
214                <Grid.ColumnDefinitions>
215                    <ColumnDefinition Width="Auto" />
216                    <ColumnDefinition Width="*" />
217                </Grid.ColumnDefinitions>
218                <TextBlock Grid.Row="0" Grid.Column="0">Run:</TextBlock>
219                <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding CurrentRunString}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
220                <TextBlock Grid.Row="1" Grid.Column="0">Evaluations:</TextBlock>
221                <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding Evaluations}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
222                <TextBlock Grid.Row="2" Grid.Column="0">MaxEvaluations:</TextBlock>
223                <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding MaxEvaluations}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
224                <TextBlock Grid.Row="3" Grid.Column="0">CurrentBestQuality:</TextBlock>
225                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding CurrentBestQuality}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
226                <TextBlock Grid.Row="4" Grid.Column="0">BestKnownQuality:</TextBlock>
227                <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding BestKnownQuality}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
228                <TextBlock Grid.Row="5" Grid.Column="0">MaxLen:</TextBlock>
229                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding MaxLen}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
230                <TextBlock Grid.Row="6" Grid.Column="0">Evaluations/sec:</TextBlock>
231                <TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding EvaluationsPerSec}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
232                <TextBlock Grid.Row="7" Grid.Column="0">BestSolutionFoundAt:</TextBlock>
233                <TextBlock Grid.Row="7" Grid.Column="1" Text="{Binding BestSolutionFoundAt}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
234                <TextBlock Grid.Row="8" Grid.Column="0">BestSolution:</TextBlock>
235                <TextBlock Grid.Row="8" Grid.Column="1" Text="{Binding BestSolution}" Margin="5,0,0,0" HorizontalAlignment="Right" MaxWidth="100"/>
236            </Grid>
237        </Grid>
238    </Grid>
239</Window>
Note: See TracBrowser for help on using the repository browser.