Commit ec7e1c69981e8cd83d3f3d25df3e52fda2694041

Authored by toan
1 parent 2105531904
Exists in master

2063 : Commit source

Showing 5 changed files with 134 additions and 24 deletions Inline Diff

sources/RoboforkApp/RoboforkMenu.xaml
1 <Window x:Class="RoboforkApp.RoboforkMenu" 1 <Window x:Class="RoboforkApp.RoboforkMenu"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 xmlns:s="clr-namespace:RoboforkApp" 4 xmlns:s="clr-namespace:RoboforkApp"
5 Title="Robofork App" 5 Title="Robofork App"
6 ResizeMode="NoResize" 6 ResizeMode="NoResize"
7 WindowStartupLocation="CenterScreen" 7 WindowStartupLocation="CenterScreen"
8 Height="1000" Width="1300"> 8 Height="1000" Width="1300">
9 <Grid ShowGridLines="False" Margin="20,20,20,20"> 9 <Grid ShowGridLines="False" Margin="20,20,20,20">
10 10
11 <Grid.RowDefinitions> 11 <Grid.RowDefinitions>
12 <RowDefinition Height="0.8*"/> 12 <RowDefinition Height="0.8*"/>
13 <RowDefinition Height="10*"/> 13 <RowDefinition Height="10*"/>
14 </Grid.RowDefinitions> 14 </Grid.RowDefinitions>
15 <Border Grid.Row="0" BorderThickness="1" BorderBrush="Gray" Margin="0,0,0,5"> 15 <Border Grid.Row="0" BorderThickness="1" BorderBrush="Gray" Margin="0,0,0,5">
16 <Grid ShowGridLines="False"> 16 <Grid ShowGridLines="False">
17 <Grid.RowDefinitions> 17 <Grid.RowDefinitions>
18 <RowDefinition Height="*"/> 18 <RowDefinition Height="*"/>
19 <RowDefinition Height="*"/> 19 <RowDefinition Height="*"/>
20 </Grid.RowDefinitions> 20 </Grid.RowDefinitions>
21 <Label Grid.Row="0" Content="Autonomous Planning Tool" Margin="10,0,0,0" 21 <Label Grid.Row="0" Content="Autonomous Planning Tool" Margin="10,0,0,0"
22 FontSize="16"/> 22 FontSize="16"/>
23 </Grid> 23 </Grid>
24 </Border> 24 </Border>
25 25
26 <Grid ShowGridLines="False" Grid.Row="1"> 26 <Grid ShowGridLines="False" Grid.Row="1">
27 27
28 <Grid.ColumnDefinitions> 28 <Grid.ColumnDefinitions>
29 <ColumnDefinition Width="1.2*"/> 29 <ColumnDefinition Width="1.2*"/>
30 <ColumnDefinition Width="20"/> 30 <ColumnDefinition Width="20"/>
31 <ColumnDefinition Width="3*"/> 31 <ColumnDefinition Width="3*"/>
32 </Grid.ColumnDefinitions> 32 </Grid.ColumnDefinitions>
33 33
34 <Grid ShowGridLines="False" Grid.Column="0"> 34 <Grid ShowGridLines="False" Grid.Column="0">
35 <Grid.RowDefinitions> 35 <Grid.RowDefinitions>
36 <RowDefinition Height="3*"/> 36 <RowDefinition Height="3*"/>
37 <RowDefinition Height="1*"/> 37 <RowDefinition Height="1*"/>
38 </Grid.RowDefinitions> 38 </Grid.RowDefinitions>
39 <Border Grid.Row="0" BorderThickness="1" BorderBrush="White" Margin="0,0,0,5"> 39 <Border Grid.Row="0" BorderThickness="1" BorderBrush="White" Margin="0,0,0,5">
40 <TreeView > 40 <TreeView >
41 <TreeViewItem IsExpanded="True" Header="Project [AAA工場]" FontSize="17" > 41 <TreeViewItem IsExpanded="True" Header="Project [AAA工場]" FontSize="17" >
42 <TreeViewItem IsExpanded="True" Header="MAP" FontSize="17"> 42 <TreeViewItem IsExpanded="True" Header="MAP" FontSize="17">
43 <TreeViewItem Header="Setup Restriction" FontSize="17" Name="SetupRestriction" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="SetupRestriction"> 43 <TreeViewItem Header="Setup Restriction" FontSize="17" Name="SetupRestriction" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="SetupRestriction">
44 <!--<TreeViewItem Header="Set Start" FontSize="17" Name="btnSetStart" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="SetStart"></TreeViewItem> 44 <!--<TreeViewItem Header="Set Start" FontSize="17" Name="btnSetStart" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="SetStart"></TreeViewItem>
45 <TreeViewItem Header="Set Goal" FontSize="17" Name="btnSetGoal" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="SetGoal"></TreeViewItem> 45 <TreeViewItem Header="Set Goal" FontSize="17" Name="btnSetGoal" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="SetGoal"></TreeViewItem>
46 <TreeViewItem Header="Set Route" FontSize="17" Name="btnSetRoute" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="SetupRoute"></TreeViewItem> 46 <TreeViewItem Header="Set Route" FontSize="17" Name="btnSetRoute" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="SetupRoute"></TreeViewItem>
47 <TreeViewItem Header="Make Root" FontSize="17" Name="btnMakeRoot" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="MakeRoot"></TreeViewItem> 47 <TreeViewItem Header="Make Root" FontSize="17" Name="btnMakeRoot" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="MakeRoot"></TreeViewItem>
48 <TreeViewItem Header="Delete Route" FontSize="17" Name="btnDeleteRoute" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="DeleteRoute"></TreeViewItem>--> 48 <TreeViewItem Header="Delete Route" FontSize="17" Name="btnDeleteRoute" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="DeleteRoute"></TreeViewItem>-->
49 </TreeViewItem> 49 </TreeViewItem>
50 <TreeViewItem IsExpanded="True" Header="Node" FontSize="17" Name="NodeTree" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="NodeTree"> 50 <TreeViewItem IsExpanded="True" Header="Node" FontSize="17" Name="NodeTree" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="NodeTree">
51 </TreeViewItem> 51 </TreeViewItem>
52 <TreeViewItem Header="--------------------" FontSize="17"> 52 <TreeViewItem Header="--------------------" FontSize="17">
53 </TreeViewItem> 53 </TreeViewItem>
54 </TreeViewItem> 54 </TreeViewItem>
55 55
56 <TreeViewItem Header="Vehicle" FontSize="17"> 56 <TreeViewItem Header="Vehicle" FontSize="17">
57 <TreeViewItem Header="FK15_#1" 57 <TreeViewItem Header="FK15_#1"
58 FontSize="17" 58 FontSize="17"
59 Name="FK15Tree" 59 Name="FK15Tree"
60 Selected="GetFK15Tree" 60 Selected="GetFK15Tree"
61 Unselected="SetFK15Tree"> 61 Unselected="SetFK15Tree">
62 </TreeViewItem> 62 </TreeViewItem>
63 <TreeViewItem Header="[+]" 63 <TreeViewItem Header="[+]"
64 FontSize="17" 64 FontSize="17"
65 Name="VehicleAddTree" 65 Name="VehicleAddTree"
66 Selected="GetVehicleAddTree" 66 Selected="GetVehicleAddTree"
67 Unselected="SetVehicleAddTree"> 67 Unselected="btnMenu_UnselectedSet" Tag="VehicleAddTree">
68 </TreeViewItem> 68 </TreeViewItem>
69 <TreeViewItem Header="--------------------"> 69 <TreeViewItem Header="--------------------">
70 </TreeViewItem> 70 </TreeViewItem>
71 </TreeViewItem> 71 </TreeViewItem>
72 72
73 <TreeViewItem Header="Work" 73 <TreeViewItem Header="Work" FontSize="17">
74 FontSize="17"> 74 <TreeViewItem Header="Task patterm [FK15_#1]" FontSize="17"
75 <TreeViewItem Header="Task patterm [FK15_#1]"
76 FontSize="17"
77 Name="TaskpattermTree" 75 Name="TaskpattermTree"
78 Selected="GetTaskpattermTree" 76 Selected="btnMenu_Selected"
79 Unselected="SetTaskpattermTree"> 77 Unselected="btnMenu_UnselectedSet" Tag="TaskpattermTree">
80 </TreeViewItem> 78 </TreeViewItem>
81 <TreeViewItem Header="[+]" 79 <TreeViewItem Header="[+]"
82 FontSize="17" 80 FontSize="17"
83 Name="WorkAddTree" 81 Name="WorkAddTree"
84 Selected="GetWorkAddTree" 82 Selected="GetWorkAddTree"
85 Unselected="SetWorkAddTree"> 83 Unselected="SetWorkAddTree">
86 </TreeViewItem> 84 </TreeViewItem>
87 <TreeViewItem Header="--------------------" 85 <TreeViewItem Header="--------------------"
88 FontSize="17"> 86 FontSize="17">
89 </TreeViewItem> 87 </TreeViewItem>
90 </TreeViewItem> 88 </TreeViewItem>
91 89
92 <TreeViewItem Header="Setting" 90 <TreeViewItem Header="Setting"
93 FontSize="17"> 91 FontSize="17">
94 <TreeViewItem Header="Connect [Wi-Fi]" 92 <TreeViewItem Header="Connect [Wi-Fi]"
95 FontSize="17" 93 FontSize="17"
96 Name="ConnectTree" 94 Name="ConnectTree"
97 Selected="GetConnectTree" 95 Selected="GetConnectTree"
98 Unselected="SetConnectTree"> 96 Unselected="SetConnectTree">
99 </TreeViewItem> 97 </TreeViewItem>
100 <TreeViewItem Header="Parameter" 98 <TreeViewItem Header="Parameter"
101 FontSize="17" 99 FontSize="17"
102 Name="ParameterTree" 100 Name="ParameterTree"
103 Selected="GetParameterTree" 101 Selected="GetParameterTree"
104 Unselected="SetParameterTree"> 102 Unselected="SetParameterTree">
105 </TreeViewItem> 103 </TreeViewItem>
106 <TreeViewItem Header="--------------------" 104 <TreeViewItem Header="--------------------"
107 FontSize="17"> 105 FontSize="17">
108 </TreeViewItem> 106 </TreeViewItem>
109 </TreeViewItem> 107 </TreeViewItem>
110 <!--<TreeViewItem Header="Schedule" FontSize="17" Name="ScheduleTree" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="ScheduleRoute"></TreeViewItem>--> 108 <!--<TreeViewItem Header="Schedule" FontSize="17" Name="ScheduleTree" Selected="btnMenu_Selected" Unselected="btnMenu_UnselectedSet" Tag="ScheduleRoute"></TreeViewItem>-->
111 <TreeViewItem Header="Logging" 109 <TreeViewItem Header="Logging"
112 FontSize="17" 110 FontSize="17"
113 Name="LoggingTree" 111 Name="LoggingTree"
114 Selected="GetLoggingTree" 112 Selected="GetLoggingTree"
115 Unselected="SetLoggingTree"> 113 Unselected="SetLoggingTree">
116 </TreeViewItem> 114 </TreeViewItem>
117 <TreeViewItem Header=" --------------------"> 115 <TreeViewItem Header=" --------------------">
118 </TreeViewItem> 116 </TreeViewItem>
119 </TreeViewItem> 117 </TreeViewItem>
120 <TreeViewItem Header="Alert" 118 <TreeViewItem Header="Alert"
121 FontSize="17" 119 FontSize="17"
122 Name="AlertTree" 120 Name="AlertTree"
123 Selected="GetAlertTree" 121 Selected="GetAlertTree"
124 Unselected="SetAlertTree"> 122 Unselected="SetAlertTree">
125 </TreeViewItem> 123 </TreeViewItem>
126 <TreeViewItem Header="Help" 124 <TreeViewItem Header="Help"
127 FontSize="17" 125 FontSize="17"
128 Name="HelpTree" 126 Name="HelpTree"
129 Selected="GetHelpTree" 127 Selected="GetHelpTree"
130 Unselected="SetHelpTree"> 128 Unselected="SetHelpTree">
131 </TreeViewItem> 129 </TreeViewItem>
132 <TreeViewItem Header="[+New Project]" 130 <TreeViewItem Header="[+New Project]"
133 FontSize="17" 131 FontSize="17"
134 Name="NewProjectTree" 132 Name="NewProjectTree"
135 Selected="GetNewProjectTree" 133 Selected="GetNewProjectTree"
136 Unselected="SetNewProjectTree"> 134 Unselected="SetNewProjectTree">
137 </TreeViewItem> 135 </TreeViewItem>
138 </TreeView> 136 </TreeView>
139 </Border> 137 </Border>
140 <Border Grid.Row="1" BorderThickness="1" BorderBrush="Gray" Margin="0,5,0,0"> 138 <Border Grid.Row="1" BorderThickness="1" BorderBrush="Gray" Margin="0,5,0,0">
141 139
142 <Grid ShowGridLines="False"> 140 <Grid ShowGridLines="False">
143 <Grid.RowDefinitions> 141 <Grid.RowDefinitions>
144 <RowDefinition Height="1*"/> 142 <RowDefinition Height="1*"/>
145 <RowDefinition Height="5*"/> 143 <RowDefinition Height="5*"/>
146 </Grid.RowDefinitions> 144 </Grid.RowDefinitions>
147 <Label Grid.Row="0" Content="Viewer" Margin="10,0,0,0" 145 <Label Grid.Row="0" Content="Viewer" Margin="10,0,0,0"
148 FontSize="17"/> 146 FontSize="17"/>
149 </Grid> 147 </Grid>
150 </Border> 148 </Border>
151 </Grid> 149 </Grid>
152 <TabControl x:Name="MainTab" 150 <TabControl x:Name="MainTab"
153 Margin="0,0,0,0" 151 Margin="0,0,0,0"
154 Grid.Column="2" > 152 Grid.Column="2" >
155 <TabItem x:Name="TabMap" > 153 <TabItem x:Name="TabMap" >
156 <TabItem.Header> 154 <TabItem.Header>
157 <StackPanel Orientation="Horizontal"> 155 <StackPanel Orientation="Horizontal">
158 <TextBlock Text="MAP " VerticalAlignment="Center" FontSize="17"></TextBlock> 156 <TextBlock Text="MAP " VerticalAlignment="Center" FontSize="17"></TextBlock>
159 </StackPanel> 157 </StackPanel>
160 </TabItem.Header> 158 </TabItem.Header>
161 <Grid ShowGridLines="False"> 159 <Grid ShowGridLines="False">
162 <Grid.RowDefinitions> 160 <Grid.RowDefinitions>
163 <RowDefinition Height="5*"/> 161 <RowDefinition Height="5*"/>
164 <RowDefinition Height="1*"/> 162 <RowDefinition Height="1*"/>
165 <RowDefinition Height="1*"/> 163 <RowDefinition Height="1*"/>
166 </Grid.RowDefinitions> 164 </Grid.RowDefinitions>
167 165
168 <Grid ShowGridLines="False" Grid.Row="0" Name="GridMap"> 166 <Grid ShowGridLines="False" Grid.Row="0" Name="GridMap">
169 167
170 <Grid > 168 <Grid >
171 <Grid.ColumnDefinitions> 169 <Grid.ColumnDefinitions>
172 <ColumnDefinition Width="{Binding ActualHeight, ElementName=GridMap}"/> 170 <ColumnDefinition Width="{Binding ActualHeight, ElementName=GridMap}"/>
173 <ColumnDefinition Width="*"/> 171 <ColumnDefinition Width="*"/>
174 </Grid.ColumnDefinitions> 172 </Grid.ColumnDefinitions>
175 <Border Grid.Column="0" BorderThickness="1" BorderBrush="Red" Margin="5,5,5,5"> 173 <Border Grid.Column="0" BorderThickness="1" BorderBrush="Red" Margin="5,5,5,5">
176 174
177 <Grid> 175 <Grid>
178 <!--<Image x:Name="Image_Map" Source="E:\02_Project\Du an Anh Dai\Robofork2\sources\RoboforkApp\Images/map.png" Stretch="Fill" />--> 176 <!--<Image x:Name="Image_Map" Source="E:\02_Project\Du an Anh Dai\Robofork2\sources\RoboforkApp\Images/map.png" Stretch="Fill" />-->
179 177
180 <s:DesignerCanvas x:Name="MyDesignerCanvas" 178 <s:DesignerCanvas x:Name="MyDesignerCanvas"
181 AllowDrop="True" 179 AllowDrop="True"
182 Background="White" HorizontalAlignment="Stretch"> 180 Background="White" HorizontalAlignment="Stretch">
183 <Canvas.LayoutTransform> 181 <Canvas.LayoutTransform>
184 <!--Adjust ScaleX and ScaleY in lock-step to zoom--> 182 <!--Adjust ScaleX and ScaleY in lock-step to zoom-->
185 <ScaleTransform ScaleX=".57" ScaleY=".57" CenterX=".57" CenterY=".57" /> 183 <ScaleTransform ScaleX=".57" ScaleY=".57" CenterX=".57" CenterY=".57" />
186 </Canvas.LayoutTransform> 184 </Canvas.LayoutTransform>
187 <Grid Name="MCGrid" ShowGridLines="True" 185 <Grid Name="MCGrid" ShowGridLines="True"
188 Width="{Binding ActualWidth, ElementName=MyDesignerCanvas}" 186 Width="{Binding ActualWidth, ElementName=MyDesignerCanvas}"
189 Height="{Binding ActualHeight, ElementName=MyDesignerCanvas}"> 187 Height="{Binding ActualHeight, ElementName=MyDesignerCanvas}">
190 188
191 <Grid.Background> 189 <Grid.Background>
192 <ImageBrush ImageSource="Images/map.png"/> 190 <ImageBrush ImageSource="Images/map.png"/>
193 </Grid.Background> 191 </Grid.Background>
194 192
195 <!--<Grid.RowDefinitions> 193 <!--<Grid.RowDefinitions>
196 <RowDefinition Height="1*"/> 194 <RowDefinition Height="1*"/>
197 <RowDefinition Height="1*"/> 195 <RowDefinition Height="1*"/>
198 <RowDefinition Height="1*"/> 196 <RowDefinition Height="1*"/>
199 <RowDefinition Height="1*"/> 197 <RowDefinition Height="1*"/>
200 <RowDefinition Height="1*"/> 198 <RowDefinition Height="1*"/>
201 <RowDefinition Height="1*"/> 199 <RowDefinition Height="1*"/>
202 <RowDefinition Height="1*"/> 200 <RowDefinition Height="1*"/>
203 <RowDefinition Height="1*"/> 201 <RowDefinition Height="1*"/>
204 <RowDefinition Height="1*"/> 202 <RowDefinition Height="1*"/>
205 <RowDefinition Height="1*"/> 203 <RowDefinition Height="1*"/>
206 </Grid.RowDefinitions> 204 </Grid.RowDefinitions>
207 <Grid.ColumnDefinitions> 205 <Grid.ColumnDefinitions>
208 <ColumnDefinition Width="*"/> 206 <ColumnDefinition Width="*"/>
209 <ColumnDefinition Width="*"/> 207 <ColumnDefinition Width="*"/>
210 <ColumnDefinition Width="*"/> 208 <ColumnDefinition Width="*"/>
211 <ColumnDefinition Width="*"/> 209 <ColumnDefinition Width="*"/>
212 <ColumnDefinition Width="*"/> 210 <ColumnDefinition Width="*"/>
213 <ColumnDefinition Width="*"/> 211 <ColumnDefinition Width="*"/>
214 <ColumnDefinition Width="*"/> 212 <ColumnDefinition Width="*"/>
215 <ColumnDefinition Width="*"/> 213 <ColumnDefinition Width="*"/>
216 <ColumnDefinition Width="*"/> 214 <ColumnDefinition Width="*"/>
217 <ColumnDefinition Width="*"/> 215 <ColumnDefinition Width="*"/>
218 </Grid.ColumnDefinitions> 216 </Grid.ColumnDefinitions>
219 <TextBlock Grid.Row="0" Grid.Column="1" Foreground="SkyBlue">100</TextBlock> 217 <TextBlock Grid.Row="0" Grid.Column="1" Foreground="SkyBlue">100</TextBlock>
220 <TextBlock Grid.Row="0" Grid.Column="2" Foreground="SkyBlue">200</TextBlock> 218 <TextBlock Grid.Row="0" Grid.Column="2" Foreground="SkyBlue">200</TextBlock>
221 <TextBlock Grid.Row="0" Grid.Column="3" Foreground="SkyBlue">300</TextBlock> 219 <TextBlock Grid.Row="0" Grid.Column="3" Foreground="SkyBlue">300</TextBlock>
222 <TextBlock Grid.Row="0" Grid.Column="4" Foreground="SkyBlue">400</TextBlock> 220 <TextBlock Grid.Row="0" Grid.Column="4" Foreground="SkyBlue">400</TextBlock>
223 <TextBlock Grid.Row="0" Grid.Column="5" Foreground="SkyBlue">500</TextBlock> 221 <TextBlock Grid.Row="0" Grid.Column="5" Foreground="SkyBlue">500</TextBlock>
224 <TextBlock Grid.Row="0" Grid.Column="6" Foreground="SkyBlue">600</TextBlock> 222 <TextBlock Grid.Row="0" Grid.Column="6" Foreground="SkyBlue">600</TextBlock>
225 <TextBlock Grid.Row="0" Grid.Column="7" Foreground="SkyBlue">700</TextBlock> 223 <TextBlock Grid.Row="0" Grid.Column="7" Foreground="SkyBlue">700</TextBlock>
226 <TextBlock Grid.Row="0" Grid.Column="8" Foreground="SkyBlue">800</TextBlock> 224 <TextBlock Grid.Row="0" Grid.Column="8" Foreground="SkyBlue">800</TextBlock>
227 <TextBlock Grid.Row="0" Grid.Column="9" Foreground="SkyBlue">900</TextBlock> 225 <TextBlock Grid.Row="0" Grid.Column="9" Foreground="SkyBlue">900</TextBlock>
228 226
229 <TextBlock Grid.Row="1" Grid.Column="0" Foreground="SkyBlue">100</TextBlock> 227 <TextBlock Grid.Row="1" Grid.Column="0" Foreground="SkyBlue">100</TextBlock>
230 <TextBlock Grid.Row="2" Grid.Column="0" Foreground="SkyBlue">200</TextBlock> 228 <TextBlock Grid.Row="2" Grid.Column="0" Foreground="SkyBlue">200</TextBlock>
231 <TextBlock Grid.Row="3" Grid.Column="0" Foreground="SkyBlue">300</TextBlock> 229 <TextBlock Grid.Row="3" Grid.Column="0" Foreground="SkyBlue">300</TextBlock>
232 <TextBlock Grid.Row="4" Grid.Column="0" Foreground="SkyBlue">400</TextBlock> 230 <TextBlock Grid.Row="4" Grid.Column="0" Foreground="SkyBlue">400</TextBlock>
233 <TextBlock Grid.Row="5" Grid.Column="0" Foreground="SkyBlue">500</TextBlock> 231 <TextBlock Grid.Row="5" Grid.Column="0" Foreground="SkyBlue">500</TextBlock>
234 <TextBlock Grid.Row="6" Grid.Column="0" Foreground="SkyBlue">600</TextBlock> 232 <TextBlock Grid.Row="6" Grid.Column="0" Foreground="SkyBlue">600</TextBlock>
235 <TextBlock Grid.Row="7" Grid.Column="0" Foreground="SkyBlue">700</TextBlock> 233 <TextBlock Grid.Row="7" Grid.Column="0" Foreground="SkyBlue">700</TextBlock>
236 <TextBlock Grid.Row="8" Grid.Column="0" Foreground="SkyBlue">800</TextBlock> 234 <TextBlock Grid.Row="8" Grid.Column="0" Foreground="SkyBlue">800</TextBlock>
237 <TextBlock Grid.Row="9" Grid.Column="0" Foreground="SkyBlue">900</TextBlock>--> 235 <TextBlock Grid.Row="9" Grid.Column="0" Foreground="SkyBlue">900</TextBlock>-->
238 </Grid> 236 </Grid>
239 237
240 </s:DesignerCanvas> 238 </s:DesignerCanvas>
241 </Grid> 239 </Grid>
242 240
243 </Border> 241 </Border>
244 242
245 <Border Grid.Column="1" BorderThickness="1" BorderBrush="Gray" Margin="5,5,5,5"> 243 <Border Grid.Column="1" BorderThickness="1" BorderBrush="Gray" Margin="5,5,5,5">
246 244
247 <DockPanel > 245 <DockPanel >
248 <ScrollViewer> 246 <ScrollViewer>
249 <Grid Name="grdRouteInfo"> 247 <Grid Name="grdRouteInfo">
250 <Grid.RowDefinitions> 248 <Grid.RowDefinitions>
251 <RowDefinition Height="1*"/> 249 <RowDefinition Height="1*"/>
252 <RowDefinition Height="1*"/> 250 <RowDefinition Height="1*"/>
253 <RowDefinition Height="1*"/> 251 <RowDefinition Height="1*"/>
254 <RowDefinition Height="1*"/> 252 <RowDefinition Height="1*"/>
255 <RowDefinition Height="1*"/> 253 <RowDefinition Height="1*"/>
256 <RowDefinition Height="1*"/> 254 <RowDefinition Height="1*"/>
257 <RowDefinition Height="1*"/> 255 <RowDefinition Height="1*"/>
258 <RowDefinition Height="1*"/> 256 <RowDefinition Height="1*"/>
259 <RowDefinition Height="1*"/> 257 <RowDefinition Height="1*"/>
260 <RowDefinition Height="1*"/> 258 <RowDefinition Height="1*"/>
261 <RowDefinition Height="1*"/> 259 <RowDefinition Height="1*"/>
262 <RowDefinition Height="1*"/> 260 <RowDefinition Height="1*"/>
263 <RowDefinition Height="1*"/> 261 <RowDefinition Height="1*"/>
264 <RowDefinition Height="1*"/> 262 <RowDefinition Height="1*"/>
265 <RowDefinition Height="1*"/> 263 <RowDefinition Height="1*"/>
266 264
267 </Grid.RowDefinitions> 265 </Grid.RowDefinitions>
268 <Grid.ColumnDefinitions> 266 <Grid.ColumnDefinitions>
269 <ColumnDefinition Width="1*"/> 267 <ColumnDefinition Width="1*"/>
270 <ColumnDefinition Width="6*"/> 268 <ColumnDefinition Width="6*"/>
271 </Grid.ColumnDefinitions> 269 </Grid.ColumnDefinitions>
272 <Border Grid.Row="0" Grid.Column="0" BorderThickness="1" /> 270 <Border Grid.Row="0" Grid.Column="0" BorderThickness="1" />
273 <Border Grid.Row="1" Grid.Column="0" BorderThickness="1" /> 271 <Border Grid.Row="1" Grid.Column="0" BorderThickness="1" />
274 <Border Grid.Row="2" Grid.Column="0" BorderThickness="1" /> 272 <Border Grid.Row="2" Grid.Column="0" BorderThickness="1" />
275 <Border Grid.Row="3" Grid.Column="0" BorderThickness="1" /> 273 <Border Grid.Row="3" Grid.Column="0" BorderThickness="1" />
276 <Border Grid.Row="4" Grid.Column="0" BorderThickness="1" /> 274 <Border Grid.Row="4" Grid.Column="0" BorderThickness="1" />
277 <Border Grid.Row="5" Grid.Column="0" BorderThickness="1" /> 275 <Border Grid.Row="5" Grid.Column="0" BorderThickness="1" />
278 <Border Grid.Row="6" Grid.Column="0" BorderThickness="1" /> 276 <Border Grid.Row="6" Grid.Column="0" BorderThickness="1" />
279 <Border Grid.Row="7" Grid.Column="0" BorderThickness="1" /> 277 <Border Grid.Row="7" Grid.Column="0" BorderThickness="1" />
280 <Border Grid.Row="8" Grid.Column="0" BorderThickness="1" /> 278 <Border Grid.Row="8" Grid.Column="0" BorderThickness="1" />
281 <Border Grid.Row="9" Grid.Column="0" BorderThickness="1" /> 279 <Border Grid.Row="9" Grid.Column="0" BorderThickness="1" />
282 <Border Grid.Row="10" Grid.Column="0" BorderThickness="1" /> 280 <Border Grid.Row="10" Grid.Column="0" BorderThickness="1" />
283 <Border Grid.Row="11" Grid.Column="0" BorderThickness="1" /> 281 <Border Grid.Row="11" Grid.Column="0" BorderThickness="1" />
284 <Border Grid.Row="12" Grid.Column="0" BorderThickness="1" /> 282 <Border Grid.Row="12" Grid.Column="0" BorderThickness="1" />
285 <Border Grid.Row="13" Grid.Column="0" BorderThickness="1" /> 283 <Border Grid.Row="13" Grid.Column="0" BorderThickness="1" />
286 <Border Grid.Row="14" Grid.Column="0" BorderThickness="1" /> 284 <Border Grid.Row="14" Grid.Column="0" BorderThickness="1" />
287 <Border Grid.Row="15" Grid.Column="0" BorderThickness="1" /> 285 <Border Grid.Row="15" Grid.Column="0" BorderThickness="1" />
288 286
289 287
290 288
291 <Label Grid.Row="0" Grid.Column="1" Content="Monitor" FontSize="17"/> 289 <Label Grid.Row="0" Grid.Column="1" Content="Monitor" FontSize="17"/>
292 <Label Grid.Row="1" Grid.Column="1" Content="AOR 28249 [kg/h]" FontSize="17"/> 290 <Label Grid.Row="1" Grid.Column="1" Content="AOR 28249 [kg/h]" FontSize="17"/>
293 <Label Grid.Row="2" Grid.Column="1" Content="ABC 4738 [trq]" FontSize="17"/> 291 <Label Grid.Row="2" Grid.Column="1" Content="ABC 4738 [trq]" FontSize="17"/>
294 <Label Grid.Row="3" Grid.Column="1" Content="ATR 49593 [%]" FontSize="17"/> 292 <Label Grid.Row="3" Grid.Column="1" Content="ATR 49593 [%]" FontSize="17"/>
295 <Label Grid.Row="4" Grid.Column="1" Content="DEK 50403 [G]" FontSize="17"/> 293 <Label Grid.Row="4" Grid.Column="1" Content="DEK 50403 [G]" FontSize="17"/>
296 <Label Grid.Row="5" Grid.Column="1" Content="SKG 2739 [kg]" FontSize="17"/> 294 <Label Grid.Row="5" Grid.Column="1" Content="SKG 2739 [kg]" FontSize="17"/>
297 <Label Grid.Row="6" Grid.Column="1" Content="SOC 86 [%]" FontSize="17"/> 295 <Label Grid.Row="6" Grid.Column="1" Content="SOC 86 [%]" FontSize="17"/>
298 <Label Grid.Row="7" Grid.Column="1" Content=" :" FontSize="17"/> 296 <Label Grid.Row="7" Grid.Column="1" Content=" :" FontSize="17"/>
299 <Label Grid.Row="8" Grid.Column="1" Content=" :" FontSize="17"/> 297 <Label Grid.Row="8" Grid.Column="1" Content=" :" FontSize="17"/>
300 <Label Grid.Row="9" Grid.Column="1" Content=" :" FontSize="17"/> 298 <Label Grid.Row="9" Grid.Column="1" Content=" :" FontSize="17"/>
301 <Label Grid.Row="10" Grid.Column="1" Content=" :" FontSize="17"/> 299 <Label Grid.Row="10" Grid.Column="1" Content=" :" FontSize="17"/>
302 <Label Grid.Row="11" Grid.Column="1" Content=" :" FontSize="17"/> 300 <Label Grid.Row="11" Grid.Column="1" Content=" :" FontSize="17"/>
303 </Grid> 301 </Grid>
304 </ScrollViewer> 302 </ScrollViewer>
305 </DockPanel > 303 </DockPanel >
306 </Border> 304 </Border>
307 </Grid> 305 </Grid>
308 306
309 </Grid> 307 </Grid>
310 <Border Grid.Row="1" BorderThickness="1" BorderBrush="Gray" Margin="5,5,5,5"> 308 <Border Grid.Row="1" BorderThickness="1" BorderBrush="Gray" Margin="5,5,5,5">
311 <Grid ShowGridLines="False"> 309 <Grid ShowGridLines="False">
312 <Grid.ColumnDefinitions> 310 <Grid.ColumnDefinitions>
313 <ColumnDefinition Width="1*"/> 311 <ColumnDefinition Width="1*"/>
314 <ColumnDefinition Width="8*"/> 312 <ColumnDefinition Width="8*"/>
315 </Grid.ColumnDefinitions> 313 </Grid.ColumnDefinitions>
316 <Grid ShowGridLines="False" Grid.Column="0"> 314 <Grid ShowGridLines="False" Grid.Column="0">
317 <Grid.RowDefinitions> 315 <Grid.RowDefinitions>
318 <RowDefinition Height="1*"/> 316 <RowDefinition Height="1*"/>
319 <RowDefinition Height="1*"/> 317 <RowDefinition Height="1*"/>
320 <RowDefinition Height="1*"/> 318 <RowDefinition Height="1*"/>
321 </Grid.RowDefinitions> 319 </Grid.RowDefinitions>
322 <Label Grid.Row="0" Content="Schedule" Margin="10,0,0,0" FontSize="17"/> 320 <Label Grid.Row="0" Content="Schedule" Margin="10,0,0,0" FontSize="17"/>
323 <Label Grid.Row="1" Content="FK15_#1" Margin="10,0,0,0" FontSize="17"/> 321 <Label Grid.Row="1" Content="FK15_#1" Margin="10,0,0,0" FontSize="17"/>
324 </Grid> 322 </Grid>
325 <Border Grid.Column="1" BorderThickness="1" BorderBrush="Red" Margin="5,5,5,5"> 323 <Border Grid.Column="1" BorderThickness="1" BorderBrush="Red" Margin="5,5,5,5">
326 324
327 <s:ScheduleCanvas x:Name="MyScheduleCanvas" 325 <s:ScheduleCanvas x:Name="MyScheduleCanvas"
328 AllowDrop="True" 326 AllowDrop="True"
329 Background="White" HorizontalAlignment="Stretch"> 327 Background="White" HorizontalAlignment="Stretch">
330 <Canvas.LayoutTransform> 328 <Canvas.LayoutTransform>
331 <!--Adjust ScaleX and ScaleY in lock-step to zoom--> 329 <!--Adjust ScaleX and ScaleY in lock-step to zoom-->
332 <ScaleTransform ScaleX=".57" ScaleY=".57" CenterX=".57" CenterY=".57" /> 330 <ScaleTransform ScaleX=".57" ScaleY=".57" CenterX=".57" CenterY=".57" />
333 </Canvas.LayoutTransform> 331 </Canvas.LayoutTransform>
334 332
335 <Grid Name="MCGridShedule" Background="White" ShowGridLines="True" 333 <Grid Name="MCGridShedule" Background="White" ShowGridLines="True"
336 Width="{Binding ActualWidth, ElementName=MyScheduleCanvas}" 334 Width="{Binding ActualWidth, ElementName=MyScheduleCanvas}"
337 Height="{Binding ActualHeight, ElementName=MyScheduleCanvas}"> 335 Height="{Binding ActualHeight, ElementName=MyScheduleCanvas}">
338 336
339 <Grid.RowDefinitions> 337 <Grid.RowDefinitions>
340 <RowDefinition Height="1*"/> 338 <RowDefinition Height="1*"/>
341 <RowDefinition Height="1*"/> 339 <RowDefinition Height="1*"/>
342 </Grid.RowDefinitions> 340 </Grid.RowDefinitions>
343 <Grid.ColumnDefinitions> 341 <Grid.ColumnDefinitions>
344 <ColumnDefinition Width="*"/> 342 <ColumnDefinition Width="*"/>
345 </Grid.ColumnDefinitions> 343 </Grid.ColumnDefinitions>
346 344
347 <TextBlock Grid.Row="1" Grid.Column="0" Foreground="SkyBlue">100</TextBlock> 345 <TextBlock Grid.Row="1" Grid.Column="0" Foreground="SkyBlue">100</TextBlock>
348 <!--<TextBlock Grid.Row="2" Grid.Column="0" Foreground="SkyBlue">200</TextBlock>--> 346 <!--<TextBlock Grid.Row="2" Grid.Column="0" Foreground="SkyBlue">200</TextBlock>-->
349 </Grid> 347 </Grid>
350 </s:ScheduleCanvas> 348 </s:ScheduleCanvas>
351 349
352 </Border> 350 </Border>
353 </Grid> 351 </Grid>
354 </Border> 352 </Border>
355 <Border Grid.Row="2" BorderThickness="1" BorderBrush="Gray" Margin="5,5,5,5"> 353 <Border Grid.Row="2" BorderThickness="1" BorderBrush="Gray" Margin="5,5,5,5">
356 <Grid ShowGridLines="False"> 354 <Grid ShowGridLines="False">
357 <Grid.ColumnDefinitions> 355 <Grid.ColumnDefinitions>
358 <ColumnDefinition Width="1*"/> 356 <ColumnDefinition Width="1*"/>
359 <ColumnDefinition Width="8*"/> 357 <ColumnDefinition Width="8*"/>
360 </Grid.ColumnDefinitions> 358 </Grid.ColumnDefinitions>
361 <Grid ShowGridLines="False" Grid.Column="0"> 359 <Grid ShowGridLines="False" Grid.Column="0">
362 <Grid.RowDefinitions> 360 <Grid.RowDefinitions>
363 <RowDefinition Height="1*"/> 361 <RowDefinition Height="1*"/>
364 <RowDefinition Height="1*"/> 362 <RowDefinition Height="1*"/>
365 <RowDefinition Height="1*"/> 363 <RowDefinition Height="1*"/>
366 </Grid.RowDefinitions> 364 </Grid.RowDefinitions>
367 <Label Grid.Row="0" Content="Schedule" Margin="10,0,0,0" FontSize="17"/> 365 <Label Grid.Row="0" Content="Schedule" Margin="10,0,0,0" FontSize="17"/>
368 <Label Grid.Row="1" Content="FK16_#1" Margin="10,0,0,0" FontSize="17"/> 366 <Label Grid.Row="1" Content="FK16_#1" Margin="10,0,0,0" FontSize="17"/>
369 </Grid> 367 </Grid>
370 <Border Grid.Column="1" BorderThickness="1" BorderBrush="Red" Margin="5,5,5,5"> 368 <Border Grid.Column="1" BorderThickness="1" BorderBrush="Red" Margin="5,5,5,5">
371 369
372 <s:ScheduleCanvas_2 x:Name="MyScheduleCanvas2" 370 <s:ScheduleCanvas_2 x:Name="MyScheduleCanvas2"
373 AllowDrop="True" 371 AllowDrop="True"
374 Background="White" HorizontalAlignment="Stretch"> 372 Background="White" HorizontalAlignment="Stretch">
375 <Canvas.LayoutTransform> 373 <Canvas.LayoutTransform>
376 <!--Adjust ScaleX and ScaleY in lock-step to zoom--> 374 <!--Adjust ScaleX and ScaleY in lock-step to zoom-->
377 <ScaleTransform ScaleX=".57" ScaleY=".57" CenterX=".57" CenterY=".57" /> 375 <ScaleTransform ScaleX=".57" ScaleY=".57" CenterX=".57" CenterY=".57" />
378 </Canvas.LayoutTransform> 376 </Canvas.LayoutTransform>
379 377
380 <Grid Name="MCGridShedule2" Background="White" ShowGridLines="True" 378 <Grid Name="MCGridShedule2" Background="White" ShowGridLines="True"
381 Width="{Binding ActualWidth, ElementName=MyScheduleCanvas2}" 379 Width="{Binding ActualWidth, ElementName=MyScheduleCanvas2}"
382 Height="{Binding ActualHeight, ElementName=MyScheduleCanvas2}"> 380 Height="{Binding ActualHeight, ElementName=MyScheduleCanvas2}">
383 381
384 <Grid.RowDefinitions> 382 <Grid.RowDefinitions>
385 <RowDefinition Height="1*"/> 383 <RowDefinition Height="1*"/>
386 <RowDefinition Height="1*"/> 384 <RowDefinition Height="1*"/>
387 </Grid.RowDefinitions> 385 </Grid.RowDefinitions>
388 <Grid.ColumnDefinitions> 386 <Grid.ColumnDefinitions>
389 <ColumnDefinition Width="*"/> 387 <ColumnDefinition Width="*"/>
390 </Grid.ColumnDefinitions> 388 </Grid.ColumnDefinitions>
391 389
392 <TextBlock Grid.Row="1" Grid.Column="0" Foreground="SkyBlue">100</TextBlock> 390 <TextBlock Grid.Row="1" Grid.Column="0" Foreground="SkyBlue">100</TextBlock>
393 <!--<TextBlock Grid.Row="2" Grid.Column="0" Foreground="SkyBlue">200</TextBlock>--> 391 <!--<TextBlock Grid.Row="2" Grid.Column="0" Foreground="SkyBlue">200</TextBlock>-->
394 </Grid> 392 </Grid>
395 </s:ScheduleCanvas_2> 393 </s:ScheduleCanvas_2>
396 394
397 </Border> 395 </Border>
398 </Grid> 396 </Grid>
399 </Border> 397 </Border>
400 </Grid> 398 </Grid>
401 </TabItem> 399 </TabItem>
402 <TabItem x:Name="TabWork" > 400 <TabItem x:Name="TabWork" >
403 <TabItem.Header> 401 <TabItem.Header>
404 <StackPanel Orientation="Horizontal"> 402 <StackPanel Orientation="Horizontal">
405 <TextBlock Text=" Work " VerticalAlignment="Center" FontSize="17"></TextBlock> 403 <TextBlock Text=" Work " VerticalAlignment="Center" FontSize="17"></TextBlock>
406 </StackPanel> 404 </StackPanel>
407 </TabItem.Header> 405 </TabItem.Header>
408 </TabItem> 406 </TabItem>
409 <TabItem x:Name="TabSchedule" > 407 <TabItem x:Name="TabSchedule" >
410 <TabItem.Header> 408 <TabItem.Header>
411 <StackPanel Orientation="Horizontal"> 409 <StackPanel Orientation="Horizontal">
412 <TextBlock Text=" Schedule " VerticalAlignment="Center" FontSize="17"></TextBlock> 410 <TextBlock Text=" Schedule " VerticalAlignment="Center" FontSize="17"></TextBlock>
413 </StackPanel> 411 </StackPanel>
414 </TabItem.Header> 412 </TabItem.Header>
415 </TabItem> 413 </TabItem>
416 </TabControl> 414 </TabControl>
417 </Grid> 415 </Grid>
418 </Grid> 416 </Grid>
419 </Window> 417 </Window>
420 418
sources/RoboforkApp/RoboforkMenu.xaml.cs
1 using System; 1 using System;
2 using System.Collections.Generic; 2 using System.Collections.Generic;
3 using System.Linq; 3 using System.Linq;
4 using System.Text; 4 using System.Text;
5 using System.Threading.Tasks; 5 using System.Threading.Tasks;
6 using System.Windows; 6 using System.Windows;
7 using System.Windows.Controls; 7 using System.Windows.Controls;
8 using System.Windows.Data; 8 using System.Windows.Data;
9 using System.Windows.Documents; 9 using System.Windows.Documents;
10 using System.Windows.Input; 10 using System.Windows.Input;
11 using System.Windows.Media; 11 using System.Windows.Media;
12 using System.Windows.Media.Imaging; 12 using System.Windows.Media.Imaging;
13 using System.Windows.Shapes; 13 using System.Windows.Shapes;
14 14
15 namespace RoboforkApp 15 namespace RoboforkApp
16 { 16 {
17 /// <summary> 17 /// <summary>
18 /// Interaction logic for RoboforkMenu.xaml 18 /// Interaction logic for RoboforkMenu.xaml
19 /// </summary> 19 /// </summary>
20 public partial class RoboforkMenu : Window 20 public partial class RoboforkMenu : Window
21 { 21 {
22 public RoboforkMenu() 22 public RoboforkMenu()
23 { 23 {
24 InitializeComponent(); 24 InitializeComponent();
25 Load_Form(); 25 Load_Form();
26 } 26 }
27 27
28 private void Load_Form() 28 private void Load_Form()
29 { 29 {
30 //PassplanTree.IsEnabled = false; 30 //PassplanTree.IsEnabled = false;
31 //NodeTree.IsEnabled = false; 31 //NodeTree.IsEnabled = false;
32 32
33 } 33 }
34 34
35 private void btnMenu_Selected(object sender, RoutedEventArgs e) 35 private void btnMenu_Selected(object sender, RoutedEventArgs e)
36 { 36 {
37 if (((TreeViewItem)sender) == null) 37 if (((TreeViewItem)sender) == null)
38 { 38 {
39 return; 39 return;
40 } 40 }
41 41
42 string tag = ((TreeViewItem)sender).Tag.ToString(); 42 string tag = ((TreeViewItem)sender).Tag.ToString();
43 switch (tag) 43 switch (tag)
44 { 44 {
45 //2017/03/04 NAM ADD START1 45 //2017/03/04 NAM ADD START1
46 case "NodeTree": 46 case "NodeTree":
47 NewDoBeginSetFreeNotes(); 47 NewDoBeginSetFreeNotes();
48 break; 48 break;
49 //2017/03/04 NAM ADD END 49 //2017/03/04 NAM ADD END
50 50
51 case "SetupRestriction": 51 case "SetupRestriction":
52 DoBeginSetupRestriction(); 52 DoBeginSetupRestriction();
53 break; 53 break;
54 54
55 case "SetStart": 55 case "SetStart":
56 DoBeginSetStart(); 56 DoBeginSetStart();
57 break; 57 break;
58 58
59 case "SetGoal": 59 case "SetGoal":
60 DoBeginSetGoal(); 60 DoBeginSetGoal();
61 break; 61 break;
62 62
63 case "SetupRoute": 63 case "SetupRoute":
64 DoBeginSetupRoute(); 64 DoBeginSetupRoute();
65 break; 65 break;
66 66
67 case "MakeRoot": 67 case "MakeRoot":
68 DoBeginMakeRoot(); 68 DoBeginMakeRoot();
69 break; 69 break;
70 70
71 case "DeleteRoute": 71 case "DeleteRoute":
72 DoBeginDeleteRoute(); 72 DoBeginDeleteRoute();
73 break; 73 break;
74 74
75 case "SetAutoNodes": 75 case "SetAutoNodes":
76 DoBeginSetAutoNotes(); 76 DoBeginSetAutoNotes();
77 break; 77 break;
78 78
79 case "SetFreeNodes": 79 case "SetFreeNodes":
80 DoBeginSetFreeNotes(); 80 DoBeginSetFreeNotes();
81 break; 81 break;
82 82
83 case "ScheduleRoute": 83 case "ScheduleRoute":
84 84
85 DoBeginSetSchedule(); 85 DoBeginSetSchedule();
86 break; 86 break;
87 case "TaskpattermTree":
88 DoBeginTask();
89 break;
87 default: 90 default:
88 break; 91 break;
89 } 92 }
90 } 93 }
91 94
92 95
93 96
94 private void DoBeginSetSchedule() 97 private void DoBeginSetSchedule()
95 { 98 {
96 99
97 MyDesignerCanvas.SetScheduleRoute(); 100 MyDesignerCanvas.SetScheduleRoute();
98 } 101 }
99 102
100 private void NewDoBeginSetFreeNotes() 103 private void NewDoBeginSetFreeNotes()
101 { 104 {
102 MyDesignerCanvas.Init(); 105 MyDesignerCanvas.Init();
103 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.NewDrawSetFreeNode; 106 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.NewDrawSetFreeNode;
104 MyDesignerCanvas.scheduleCanvas = MyScheduleCanvas; 107 MyDesignerCanvas.scheduleCanvas = MyScheduleCanvas;
105 108
106 109
107 MyDesignerCanvas.Init(); 110 MyDesignerCanvas.Init();
108 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.NewDrawSetFreeNode; 111 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.NewDrawSetFreeNode;
109 MyDesignerCanvas.scheduleCanvas_2 = MyScheduleCanvas2; 112 MyDesignerCanvas.scheduleCanvas_2 = MyScheduleCanvas2;
110 } 113 }
111 114
112 private void btnMenu_UnselectedSet(object sender, RoutedEventArgs e) 115 private void btnMenu_UnselectedSet(object sender, RoutedEventArgs e)
113 { 116 {
114 if (((TreeViewItem)sender) == null) 117 if (((TreeViewItem)sender) == null)
115 { 118 {
116 return; 119 return;
117 } 120 }
118 121
119 string tag = ((TreeViewItem)sender).Tag.ToString(); 122 string tag = ((TreeViewItem)sender).Tag.ToString();
120 switch (tag) 123 switch (tag)
121 { 124 {
122 case "SetupRestriction": 125 case "SetupRestriction":
123 //DoBeginSetStart(); 126 //DoBeginSetStart();
124 break; 127 break;
125 128
126 case "SetStart": 129 case "SetStart":
127 //DoBeginSetStart(); 130 //DoBeginSetStart();
128 break; 131 break;
129 132
130 case "SetGoal": 133 case "SetGoal":
131 //DoBeginSetGoal(); 134 //DoBeginSetGoal();
132 break; 135 break;
133 136
134 case "DeleteRoute": 137 case "DeleteRoute":
135 //DoBeginDeleteRoute(); 138 //DoBeginDeleteRoute();
136 break; 139 break;
137 140
138 case "SetupRoute": 141 case "SetupRoute":
139 //DoBeginSetupRoute(); 142 //DoBeginSetupRoute();
140 break; 143 break;
141 144
142 case "MakeRoot": 145 case "MakeRoot":
143 //DoBeginMakeRoot(); 146 //DoBeginMakeRoot();
144 break; 147 break;
145 148
146 default: 149 default:
147 break; 150 break;
148 } 151 }
152 }
153
154 private void DoBeginTask()
155 {
156 MyScheduleCanvas.CreateSimulation();
149 } 157 }
150 158
151 private void DoBeginSetAutoNotes() 159 private void DoBeginSetAutoNotes()
152 { 160 {
153 MyDesignerCanvas.SetAutoNodes(); 161 MyDesignerCanvas.SetAutoNodes();
154 } 162 }
155 163
156 private void DoBeginSetFreeNotes() 164 private void DoBeginSetFreeNotes()
157 { 165 {
158 MyDesignerCanvas.Init(); 166 MyDesignerCanvas.Init();
159 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.DrawSetFreeNode; 167 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.DrawSetFreeNode;
160 } 168 }
161 169
162 private void DoBeginSetupRestriction() 170 private void DoBeginSetupRestriction()
163 { 171 {
164 MyDesignerCanvas.Init(); 172 MyDesignerCanvas.Init();
165 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.DrawObstract; 173 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.DrawObstract;
166 MyDesignerCanvas.mouseState = DesignerCanvas.MouseState.None; 174 MyDesignerCanvas.mouseState = DesignerCanvas.MouseState.None;
167 } 175 }
168 176
169 private void DoBeginSetStart() 177 private void DoBeginSetStart()
170 { 178 {
171 MyDesignerCanvas.CreateStartPoint(); 179 MyDesignerCanvas.CreateStartPoint();
172 } 180 }
173 181
174 private void DoBeginSetGoal() 182 private void DoBeginSetGoal()
175 { 183 {
176 MyDesignerCanvas.CreateGoalPoint(); 184 MyDesignerCanvas.CreateGoalPoint();
177 } 185 }
178 186
179 private void DoBeginSetupRoute() 187 private void DoBeginSetupRoute()
180 { 188 {
181 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.DrawRoute; 189 MyDesignerCanvas.Operation = DesignerCanvas.OperationState.DrawRoute;
182 } 190 }
183 191
184 private void DoBeginMakeRoot() 192 private void DoBeginMakeRoot()
185 { 193 {
186 MyDesignerCanvas.Children.Remove(MyDesignerCanvas.pRootLine); 194 MyDesignerCanvas.Children.Remove(MyDesignerCanvas.pRootLine);
187 MyDesignerCanvas.MakeRoot(); 195 MyDesignerCanvas.MakeRoot();
188 } 196 }
189 197
190 private void DoBeginDeleteRoute() 198 private void DoBeginDeleteRoute()
191 { 199 {
192 MessageBoxResult result = MessageBox.Show("Do you want delete route?", "Delete route", MessageBoxButton.OKCancel); 200 MessageBoxResult result = MessageBox.Show("Do you want delete route?", "Delete route", MessageBoxButton.OKCancel);
193 if (result == MessageBoxResult.OK) 201 if (result == MessageBoxResult.OK)
194 { 202 {
195 MyDesignerCanvas.ClearRoute(); 203 MyDesignerCanvas.ClearRoute();
196 } 204 }
197 } 205 }
198 206
199 private void GetPassplanTree(object sender, RoutedEventArgs e) 207 private void GetPassplanTree(object sender, RoutedEventArgs e)
200 { 208 {
201 MessageBoxResult result = MessageBox.Show("Selected PassplanTree", "", MessageBoxButton.OKCancel); 209 MessageBoxResult result = MessageBox.Show("Selected PassplanTree", "", MessageBoxButton.OKCancel);
202 } 210 }
203 211
204 private void SetPassplanTree(object sender, RoutedEventArgs e) 212 private void SetPassplanTree(object sender, RoutedEventArgs e)
205 { 213 {
206 214
207 } 215 }
208 216
209 private void GetNodeTree(object sender, RoutedEventArgs e) 217 private void GetNodeTree(object sender, RoutedEventArgs e)
210 { 218 {
211 MessageBoxResult result = MessageBox.Show("Selected NodeTree", "", MessageBoxButton.OKCancel); 219 MessageBoxResult result = MessageBox.Show("Selected NodeTree", "", MessageBoxButton.OKCancel);
212 } 220 }
213 221
214 private void SetNodeTree(object sender, RoutedEventArgs e) 222 private void SetNodeTree(object sender, RoutedEventArgs e)
215 { 223 {
216 224
217 } 225 }
218 226
219 private void GetFK15Tree(object sender, RoutedEventArgs e) 227 private void GetFK15Tree(object sender, RoutedEventArgs e)
220 { 228 {
221 MessageBoxResult result = MessageBox.Show("Selected FK15Tree", "", MessageBoxButton.OKCancel); 229 MessageBoxResult result = MessageBox.Show("Selected FK15Tree", "", MessageBoxButton.OKCancel);
222 } 230 }
223 231
224 private void SetFK15Tree(object sender, RoutedEventArgs e) 232 private void SetFK15Tree(object sender, RoutedEventArgs e)
225 { 233 {
226 234
227 } 235 }
228 236
229 private void GetVehicleAddTree(object sender, RoutedEventArgs e) 237 private void GetVehicleAddTree(object sender, RoutedEventArgs e)
230 { 238 {
231 MessageBoxResult result = MessageBox.Show("Selected VehicleAddTree", "", MessageBoxButton.OKCancel); 239 MessageBoxResult result = MessageBox.Show("Selected VehicleAddTree", "", MessageBoxButton.OKCancel);
232 } 240 }
233 241
234 private void SetVehicleAddTree(object sender, RoutedEventArgs e) 242 private void SetVehicleAddTree(object sender, RoutedEventArgs e)
235 { 243 {
236 244
237 } 245 }
238 246
239 private void GetTaskpattermTree(object sender, RoutedEventArgs e) 247 private void GetTaskpattermTree(object sender, RoutedEventArgs e)
240 { 248 {
241 249
242 } 250 }
243 251
244 private void SetTaskpattermTree(object sender, RoutedEventArgs e) 252 private void SetTaskpattermTree(object sender, RoutedEventArgs e)
245 { 253 {
246 254
247 } 255 }
248 256
249 private void GetWorkAddTree(object sender, RoutedEventArgs e) 257 private void GetWorkAddTree(object sender, RoutedEventArgs e)
250 { 258 {
251 259
252 } 260 }
253 261
254 private void SetWorkAddTree(object sender, RoutedEventArgs e) 262 private void SetWorkAddTree(object sender, RoutedEventArgs e)
255 { 263 {
256 264
257 } 265 }
258 266
259 private void GetConnectTree(object sender, RoutedEventArgs e) 267 private void GetConnectTree(object sender, RoutedEventArgs e)
260 { 268 {
261 269
262 } 270 }
263 271
264 private void SetConnectTree(object sender, RoutedEventArgs e) 272 private void SetConnectTree(object sender, RoutedEventArgs e)
265 { 273 {
266 274
267 } 275 }
268 276
269 private void GetParameterTree(object sender, RoutedEventArgs e) 277 private void GetParameterTree(object sender, RoutedEventArgs e)
270 { 278 {
271 279
272 } 280 }
273 281
274 private void SetParameterTree(object sender, RoutedEventArgs e) 282 private void SetParameterTree(object sender, RoutedEventArgs e)
275 { 283 {
276 284
277 } 285 }
278 286
279 private void GetScheduleTree(object sender, RoutedEventArgs e) 287 private void GetScheduleTree(object sender, RoutedEventArgs e)
280 { 288 {
281 289
282 } 290 }
283 291
284 private void SetScheduleTree(object sender, RoutedEventArgs e) 292 private void SetScheduleTree(object sender, RoutedEventArgs e)
285 { 293 {
286 294
287 } 295 }
288 296
289 private void GetLoggingTree(object sender, RoutedEventArgs e) 297 private void GetLoggingTree(object sender, RoutedEventArgs e)
290 { 298 {
291 299
292 } 300 }
293 301
294 private void SetLoggingTree(object sender, RoutedEventArgs e) 302 private void SetLoggingTree(object sender, RoutedEventArgs e)
295 { 303 {
296 304
297 } 305 }
298 306
299 private void GetAlertTree(object sender, RoutedEventArgs e) 307 private void GetAlertTree(object sender, RoutedEventArgs e)
300 { 308 {
301 309
302 } 310 }
303 311
304 private void SetAlertTree(object sender, RoutedEventArgs e) 312 private void SetAlertTree(object sender, RoutedEventArgs e)
305 { 313 {
306 314
307 } 315 }
308 316
309 private void GetHelpTree(object sender, RoutedEventArgs e) 317 private void GetHelpTree(object sender, RoutedEventArgs e)
310 { 318 {
311 319
312 } 320 }
313 321
314 private void SetHelpTree(object sender, RoutedEventArgs e) 322 private void SetHelpTree(object sender, RoutedEventArgs e)
315 { 323 {
316 324
317 } 325 }
318 326
319 private void GetNewProjectTree(object sender, RoutedEventArgs e) 327 private void GetNewProjectTree(object sender, RoutedEventArgs e)
320 { 328 {
321 329
322 } 330 }
323 331
324 private void SetNewProjectTree(object sender, RoutedEventArgs e) 332 private void SetNewProjectTree(object sender, RoutedEventArgs e)
325 { 333 {
326 334
327 } 335 }
328 336
329 337
330 } 338 }
331 } 339 }
332 340
sources/RoboforkApp/ScheduleCanvas.cs
1 using System; 1 using System;
2 using System.Collections.Generic; 2 using System.Collections.Generic;
3 using System.Linq; 3 using System.Linq;
4 using System.Text; 4 using System.Text;
5 using System.Threading.Tasks; 5 using System.Threading.Tasks;
6 using System.Windows; 6 using System.Windows;
7 using System.Windows.Controls; 7 using System.Windows.Controls;
8 using System.Windows.Media; 8 using System.Windows.Media;
9 using System.Windows.Media.Animation;
9 using System.Windows.Shapes; 10 using System.Windows.Shapes;
10 11
11 namespace RoboforkApp 12 namespace RoboforkApp
12 { 13 {
13 public class ScheduleCanvas : Canvas 14 public class ScheduleCanvas : Canvas
14 { 15 {
15 // Add variable for Set Schedule 16 private simulationRobo simulation;
16 private Path pScheduleNode = new Path();
17 private Path pScheduleLine = new Path();
18 private GeometryGroup gGrpScheduleNode = new GeometryGroup();
19 private GeometryGroup gGrpScheduleLine = new GeometryGroup();
20 17
21 public void DrawRoute(List<ucNode> listNode) 18 public void CreateSimulation()
22 { 19 {
23 //Update after 20 if(simulation != null || this.Children.Count < 2)
24 } 21 {
22 return;
23 }
25 24
26 private void CreateNode(Point point, int indexNode) 25 PathGeometry animationPath = new PathGeometry();
27 { 26 PathFigure pFigure = new PathFigure();
28 ucNode _ucNode = new ucNode(); 27 pFigure.StartPoint = new Point(50, 65);
29 _ucNode.btnWidth = 20.0; 28 LineSegment lineSegment = new LineSegment();
30 _ucNode.btnHeight = 20.0; 29 lineSegment.Point = new Point(1270, 65);
31 _ucNode.txtNode = indexNode.ToString(); 30 pFigure.Segments.Add(lineSegment);
32 Canvas.SetLeft(_ucNode, point.X); 31 animationPath.Figures.Add(pFigure);
33 Canvas.SetTop(_ucNode, point.Y); 32
34 this.Children.Add(_ucNode); 33 // Freeze the PathGeometry for performance benefits.
34 animationPath.Freeze();
35
36 // Create a MatrixAnimationUsingPath to move the
37 // button along the path by animating
38 // its MatrixTransform.
39 MatrixAnimationUsingPath matrixAnimation = new MatrixAnimationUsingPath();
40 matrixAnimation.PathGeometry = animationPath;
41 matrixAnimation.Duration = TimeSpan.FromSeconds(10);
42 //matrixAnimation.RepeatBehavior = RepeatBehavior.Forever;
43 matrixAnimation.AutoReverse = false;
44 matrixAnimation.DoesRotateWithTangent = true;
45
46 // Set the animation to target the Matrix property
47 // of the MatrixTransform named "ButtonMatrixTransform".
48 Storyboard.SetTargetName(matrixAnimation, "fl");
49 Storyboard.SetTargetProperty(matrixAnimation, new PropertyPath(MatrixTransform.MatrixProperty));
50
51 // Create a Storyboard to contain and apply the animation.
52 Storyboard pathAnimationStoryboard = new Storyboard();
53 pathAnimationStoryboard.Children.Add(matrixAnimation);
54
55 simulation = new simulationRobo();
56 simulation.storyBoard = pathAnimationStoryboard;
57 this.Children.Add(simulation);
sources/RoboforkApp/UserControls/simulationRobo.xaml
File was created 1 <UserControl x:Class="RoboforkApp.simulationRobo"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6 mc:Ignorable="d"
7 x:Name="SimulationRobo">
8 <Path Name="smuliRobo" Stroke="Orange" StrokeThickness="2" Fill="Orange" RenderTransformOrigin="0.5,0.5" Margin="0,0">
9 <Path.Effect>
10 <DropShadowEffect BlurRadius="20" Opacity="0.5" ShadowDepth="4" />
11 </Path.Effect>
12 <Path.Data>
13 <PathGeometry>
14 <PathGeometry.Figures>
15 <PathFigure StartPoint="0,0" IsClosed="True">
16 <LineSegment Point="40,0"/>
17 <LineSegment Point="60,15"/>
18 <LineSegment Point="40,30"/>
19 <LineSegment Point="0,30"/>
20 </PathFigure>
21 </PathGeometry.Figures>
22 </PathGeometry>
23 </Path.Data>
24
25 <Path.RenderTransform>
26 <TransformGroup>
27 <MatrixTransform x:Name="fl">
28 <MatrixTransform.Matrix>
29 <Matrix />
30 </MatrixTransform.Matrix>
31 </MatrixTransform>
32 </TransformGroup>
33 </Path.RenderTransform>
34
35 <Path.Triggers>
36 <EventTrigger RoutedEvent="FrameworkElement.Loaded">
37 <BeginStoryboard Storyboard="{Binding storyBoard, ElementName=SimulationRobo}" >
38 </BeginStoryboard>
39 </EventTrigger>
40 </Path.Triggers>
41 </Path>
42 </UserControl>
43
sources/RoboforkApp/UserControls/simulationRobo.xaml.cs
File was created 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using System.Windows;
7 using System.Windows.Controls;
8 using System.Windows.Data;
9 using System.Windows.Documents;
10 using System.Windows.Input;
11 using System.Windows.Media;
12 using System.Windows.Media.Animation;
13 using System.Windows.Media.Imaging;
14 using System.Windows.Navigation;
15 using System.Windows.Shapes;
16
17 namespace RoboforkApp
18 {
19 /// <summary>
20 /// Interaction logic for simulationRobo.xaml
21 /// </summary>
22 public partial class simulationRobo : UserControl
23 {
24 public static readonly DependencyProperty storyBoardProperty =
25 DependencyProperty.Register("storyBoard", typeof(Storyboard),
26 typeof(simulationRobo), new FrameworkPropertyMetadata(new Storyboard()));
27
28 public simulationRobo()
29 {
30 InitializeComponent();
31 }
32
33 public Storyboard storyBoard
34 {
35 get { return (Storyboard)GetValue(storyBoardProperty); }
36 set { SetValue(storyBoardProperty, value); }
37 }
38 }
39 }
40