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="PolicyParameter:" Visibility="Hidden" Margin="5,0,0,0" VerticalAlignment="Center"></TextBlock>
|
---|
51 | <TextBox Name="TextBoxEpsylon" Text="{Binding PolicyParameter}" 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="Iterationen"/>
|
---|
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="Iterationen"/>
|
---|
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>
|
---|