Free cookie consent management tool by TermsFeed Policy Generator

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

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

#2283 Final

File size: 19.3 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="280"
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"
49                          SelectionChanged="ComboBoxPolicies_OnSelectionChanged"></ComboBox>
50                <TextBlock Name="TextBlockEpsylon" Text="Epsylon:" Visibility="Hidden" Margin="5,0,0,0" VerticalAlignment="Center"></TextBlock>
51                <TextBox Name="TextBoxEpsylon" Text="{Binding Epsylon}" Visibility="Hidden" Margin="5,0,0,0" VerticalAlignment="Center" Width="50"></TextBox>
52                <Button Name="ButtonRun" Margin="5,0,0,0" Click="ButtonRun_OnClick" Height="22" VerticalAlignment="Top">Run</Button>
53                <Button Name="ButtonPause" Margin="5,0,0,0" Click="ButtonPause_OnClick" IsEnabled="False">Pause</Button>
54                <Button Name="ButtonStop" Margin="5,0,0,0" Click="ButtonStop_OnClick" IsEnabled="False">Stop</Button>
55            </StackPanel>
56            <StackPanel Grid.Column="2" Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Right">
57                <Button Name="LoadButton" Click="LoadButton_OnClick">Load</Button>
58                <Button Name="SaveButton" Click="SaveButton_OnClick" Margin="5,0,0,0">Save</Button>
59            </StackPanel>
60        </Grid>
61        <GroupBox Grid.Row="1" Header="Settings" Name="GroupBoxSettings">
62            <Grid>
63                <Grid.RowDefinitions>
64                    <RowDefinition Height="Auto" />
65                    <RowDefinition Height="Auto" />
66                </Grid.RowDefinitions>
67                <Grid.ColumnDefinitions>
68                    <ColumnDefinition Width="Auto" />
69                    <ColumnDefinition Width="Auto" />
70                    <ColumnDefinition Width="Auto" />
71                    <ColumnDefinition Width="Auto" />
72                    <ColumnDefinition Width="*" />
73                </Grid.ColumnDefinitions>
74                <TextBlock Margin="2" Grid.Column="0" Grid.Row="0" VerticalAlignment="Center">Runs:</TextBlock>
75                <TextBox Name="TextBoxRuns" Margin="2" Grid.Column="1" Grid.Row="0" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding NrRuns}"></TextBox>
76                <TextBlock Margin="2" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center">MaxIterations:</TextBlock>
77                <TextBox Name="TextBoxMaxIterations" Margin="2" Grid.Column="1" Grid.Row="1" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding MaxIterations}"></TextBox>
78                <TextBlock Margin="2" Grid.Column="2" Grid.Row="1" VerticalAlignment="Center">MaxThreads:</TextBlock>
79                <TextBox Name="TextBoxMaxThreads" Margin="2" Grid.Column="3" Grid.Row="1" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding MaxThreads}"></TextBox>
80                <TextBlock Margin="2" Grid.Column="2" Grid.Row="0" VerticalAlignment="Center">MaxLen:</TextBlock>
81                <TextBox Name="TextBoxMaxLen" Margin="2" Grid.Column="3" Grid.Row="0" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding MaxLen}"></TextBox>
82            </Grid>
83        </GroupBox>
84        <Grid Grid.Row="2">
85            <Grid.RowDefinitions>
86                <RowDefinition Height="*" />
87            </Grid.RowDefinitions>
88            <Grid.ColumnDefinitions>
89                <ColumnDefinition Width="*" />
90                <ColumnDefinition Width="Auto" />
91            </Grid.ColumnDefinitions>
92
93            <TabControl Grid.Row="0" Grid.Column="0" Margin="10,20,10,10" >
94                <TabItem Header="Run-Detail">
95                    <Grid>
96                        <Grid.ColumnDefinitions>
97                            <ColumnDefinition Width="Auto"></ColumnDefinition>
98                            <ColumnDefinition Width="*"></ColumnDefinition>
99                        </Grid.ColumnDefinitions>
100                        <Grid.RowDefinitions>
101                            <RowDefinition Height="*"></RowDefinition>
102                        </Grid.RowDefinitions>
103                        <ListBox Name="ListBoxRuns" Grid.Column="0" Width="100" ItemsSource="{Binding Runs}" SelectionChanged="ListBoxRuns_OnSelectionChanged"/>
104                        <TabControl Name="ChartSelector" Grid.Column="1" SelectionChanged="Selector_OnSelectionChanged">
105                            <TabItem Name="TabQualityChart" Header="Quality-Chart">
106                                <Grid>
107                                    <Grid.RowDefinitions>
108                                        <RowDefinition Height="*"></RowDefinition>
109                                    </Grid.RowDefinitions>
110                                    <Grid.ColumnDefinitions>
111                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
112                                        <ColumnDefinition Width="*"></ColumnDefinition>
113                                    </Grid.ColumnDefinitions>
114                                    <d3:ChartPlotter Grid.Column="1" x:Name="QualityChartPlotter" LegendVisible="False" EnableSmoothPanningForNumericAxes="True">
115                                        <d3:Header Content="Quality-Chart"/>
116                                        <d3:VerticalAxisTitle Content="Qualität" />
117                                        <d3:HorizontalAxisTitle Content="Evaluierungen"/>
118                                    </d3:ChartPlotter>
119                                </Grid>
120                            </TabItem>
121                            <TabItem Name="TabSelectionIndicator" Header="SelectionIndicator-Chart">
122                                <Grid>
123                                    <Grid.RowDefinitions>
124                                        <RowDefinition Height="*"></RowDefinition>
125                                    </Grid.RowDefinitions>
126                                    <Grid.ColumnDefinitions>
127                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
128                                        <ColumnDefinition Width="*"></ColumnDefinition>
129                                    </Grid.ColumnDefinitions>
130                                    <d3:ChartPlotter Grid.Column="1" x:Name="SelectionChartPlotter" LegendVisible="False" EnableSmoothPanningForNumericAxes="True" >
131                                        <d3:VerticalAxisTitle Content="Qualität" />
132                                        <d3:HorizontalAxisTitle Content="Evaluierungen"/>
133                                    </d3:ChartPlotter>
134                                </Grid>
135                            </TabItem>
136                            <TabItem Header="Tree" Name="TabItemTree">
137                                <Grid>
138                                    <Grid.RowDefinitions>
139                                        <RowDefinition Height="*"></RowDefinition>
140                                    </Grid.RowDefinitions>
141                                    <Grid.ColumnDefinitions>
142                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
143                                        <ColumnDefinition Width="*"></ColumnDefinition>
144                                    </Grid.ColumnDefinitions>
145                                    <Grid Name="MyGrid" Grid.Column="0" DataContext="{Binding SelectedRun.TreeInfos}">
146                                        <Grid.RowDefinitions>
147                                            <RowDefinition Height="Auto"></RowDefinition>
148                                            <RowDefinition Height="Auto"></RowDefinition>
149                                            <RowDefinition Height="Auto"></RowDefinition>
150                                            <RowDefinition Height="Auto"></RowDefinition>
151                                            <RowDefinition Height="Auto"></RowDefinition>
152                                        </Grid.RowDefinitions>
153                                        <Grid.ColumnDefinitions>
154                                            <ColumnDefinition Width="Auto"></ColumnDefinition>
155                                            <ColumnDefinition Width="Auto"></ColumnDefinition>
156                                        </Grid.ColumnDefinitions>
157                                        <TextBlock Grid.Row="0" Grid.Column="0" Text="TotalNodes:"></TextBlock>
158                                        <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding TotalNodes}" TextAlignment="Right"></TextBlock>
159                                        <TextBlock Grid.Row="1" Grid.Column="0" Text="UnexpandedNodes:"></TextBlock>
160                                        <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding UnexpandedNodes}" TextAlignment="Right"></TextBlock>
161                                        <TextBlock Grid.Row="2" Grid.Column="0" Text="ExpandedNodes:"></TextBlock>
162                                        <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding ExpandedNodes}" TextAlignment="Right"></TextBlock>
163                                        <TextBlock Grid.Row="3" Grid.Column="0" Text="LeaveNodes:"></TextBlock>
164                                        <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding LeaveNodes}" TextAlignment="Right"></TextBlock>
165                                        <TextBlock Grid.Row="4" Grid.Column="0" Text="DeepestLevel:"></TextBlock>
166                                        <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding DeepestLevel}" TextAlignment="Right"></TextBlock>
167                                    </Grid>
168                                    <Frame Grid.Column="1" Name="treeDrawing" Source="pack://application:,,,/WpfTestSvgSample;component/DrawingPage.xaml"/>
169                                </Grid>
170                            </TabItem>
171                        </TabControl>
172                    </Grid>
173                </TabItem>
174
175                <TabItem Header="Run-Comparison">
176                    <TabControl Name="TabControlRunComparison">
177                        <TabItem Name="TabItemChartRunComparison" Header="Chart">
178                            <d3:ChartPlotter x:Name="ComparisonChartPlotter" LegendVisible="False" EnableSmoothPanningForNumericAxes="True">
179                                <d3:Header Content="{Binding HeaderString}"/>
180                                <d3:VerticalAxisTitle Content="{Binding VerticalAxisString}" />
181                                <d3:HorizontalAxisTitle Content="{Binding HorizontalAxisString}"/>
182                            </d3:ChartPlotter>
183                        </TabItem>
184                        <TabItem Header="Table">
185                            <ListView Name="ListViewRuns" ItemsSource="{Binding Path=Runs}" SelectionMode="Multiple">
186                                <ListView.ContextMenu>
187                                    <ContextMenu>
188                                        <MenuItem Header="Copy to clipboard" Click="MenuItemCopyToClipboard_OnClick" />
189                                    </ContextMenu>
190                                </ListView.ContextMenu>
191                                <ListView.View>
192                                    <GridView>
193                                        <GridView.Columns>
194                                            <GridViewColumn DisplayMemberBinding="{Binding Path=RunNumber}"
195                                                            Header="Run #"/>
196                                            <GridViewColumn DisplayMemberBinding="{Binding Path=MaxIterations}"
197                                                            Header="MaxIterations"/>
198                                            <GridViewColumn DisplayMemberBinding="{Binding Path=Evaluations}"
199                                                            Header="Evaluations"/>
200                                            <GridViewColumn DisplayMemberBinding="{Binding Path=BestKnownQuality}"
201                                                            Header="BestKnownQuality"/>
202                                            <GridViewColumn DisplayMemberBinding="{Binding Path=BestQuality}"
203                                                            Header="BestQuality"/>
204                                            <GridViewColumn DisplayMemberBinding="{Binding Path=BestSolutionFoundAt}"
205                                                            Header="BestSolutionFoundAt"/>
206                                            <GridViewColumn DisplayMemberBinding="{Binding Path=EvaluationsPerSecond}"
207                                                            Header="EvaluationsPerSecond"/>
208                                            <GridViewColumn DisplayMemberBinding="{Binding Path=TotalTime}"
209                                                            Header="TotalTime"/>
210                                            <GridViewColumn DisplayMemberBinding="{Binding Path=BestSolutionTime}"
211                                                            Header="BestSolutionTime"/>
212                                            <GridViewColumn DisplayMemberBinding="{Binding Path=BestSolution}"
213                                                            Header="BestSolution"/>
214                                        </GridView.Columns>
215                                    </GridView>
216                                </ListView.View>
217                            </ListView>
218                        </TabItem>
219                    </TabControl>
220                </TabItem>
221            </TabControl>
222
223            <Grid Grid.Column="1" Grid.Row="0" Margin="0,25,0,0">
224                <Grid.RowDefinitions>
225                    <RowDefinition Height="Auto" />
226                    <RowDefinition Height="Auto" />
227                    <RowDefinition Height="Auto" />
228                    <RowDefinition Height="Auto" />
229                    <RowDefinition Height="Auto" />
230                    <RowDefinition Height="Auto" />
231                    <RowDefinition Height="Auto" />
232                    <RowDefinition Height="Auto" />
233                    <RowDefinition Height="Auto" />
234                    <RowDefinition Height="Auto" />
235                    <RowDefinition Height="Auto" />
236                </Grid.RowDefinitions>
237                <Grid.ColumnDefinitions>
238                    <ColumnDefinition Width="Auto" />
239                    <ColumnDefinition Width="*" />
240                </Grid.ColumnDefinitions>
241                <TextBlock Grid.Row="0" Grid.Column="0">CompletedRuns:</TextBlock>
242                <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding CompletedRuns}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
243                <TextBlock Grid.Row="1" Grid.Column="0">RunState:</TextBlock>
244                <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding SelectedRun.RunState}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
245                <TextBlock Grid.Row="2" Grid.Column="0">Evaluations:</TextBlock>
246                <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding SelectedRun.Evaluations}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
247                <TextBlock Grid.Row="3" Grid.Column="0">MaxIterations:</TextBlock>
248                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding SelectedRun.MaxIterations}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
249                <TextBlock Grid.Row="4" Grid.Column="0">BestQuality:</TextBlock>
250                <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding SelectedRun.BestQuality}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
251                <TextBlock Grid.Row="5" Grid.Column="0">BestKnownQuality:</TextBlock>
252                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding SelectedRun.BestKnownQuality}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
253                <TextBlock Grid.Row="6" Grid.Column="0">MaxLen:</TextBlock>
254                <TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding SelectedRun.MaxLen}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
255                <TextBlock Grid.Row="7" Grid.Column="0">Evaluations/sec:</TextBlock>
256                <TextBlock Grid.Row="7" Grid.Column="1" Text="{Binding SelectedRun.EvaluationsPerSecond}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
257                <TextBlock Grid.Row="8" Grid.Column="0">BestSolutionFoundAt:</TextBlock>
258                <TextBlock Grid.Row="8" Grid.Column="1" Text="{Binding SelectedRun.BestSolutionFoundAt}" Margin="5,0,0,0" HorizontalAlignment="Right"/>
259                <TextBlock Grid.Row="9" Grid.Column="0">BestSolution:</TextBlock>
260                <TextBlock Grid.Row="9" Grid.Column="1" Text="{Binding SelectedRun.BestSolution}" TextWrapping="Wrap" Margin="5,0,0,0" HorizontalAlignment="Right" MaxWidth="100" MaxHeight="50"/>
261                <TextBlock Grid.Row="10" Grid.Column="0">SelectionIndicator:</TextBlock>
262                <TextBlock Grid.Row="10" Grid.Column="1" Text="{Binding SelectedRun.CurrentSelectionIndicator.Indicator}" TextWrapping="Wrap" Margin="5,0,0,0" HorizontalAlignment="Right" MaxWidth="100"/>
263            </Grid>
264        </Grid>
265    </Grid>
266</Window>
Note: See TracBrowser for help on using the repository browser.