Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 2367 → Rev 2368

/MKLiveView/v1.0/Source/MainWindow.xaml
823,7 → 823,7
</TabItem>
</TabControl>
</Grid>
<Grid x:Name="GridSettings" Background="#7B000000" HorizontalAlignment="Left" Width="233" Margin="23,36,0,0">
<Grid x:Name="GridSettings" Background="#7B000000" HorizontalAlignment="Left" Width="233" Margin="23,36,0,0" Visibility="Collapsed">
<TabControl x:Name="tabControlSettings" HorizontalAlignment="Left" Width="229" Background="{x:Null}" Margin="4,0,0,0">
<TabItem Header="General" Margin="0,0,5.849,0">
<Grid x:Name="TabGridGeneral">
1179,7 → 1179,7
<Button x:Name="btnOSDEnter" Content="" HorizontalAlignment="Left" Height="34" Margin="87,90,0,0" VerticalAlignment="Top" Width="52" Click="btnOSDEnter_Click"/>
<Button x:Name="btnOSDLeave" Content="" HorizontalAlignment="Left" Height="34" Margin="144,90,0,0" VerticalAlignment="Top" Width="52" Click="btnOSDLeave_Click"/>
</Grid>
<Grid x:Name="GridWP" Margin="23,36,25,0" Background="#7F000000" Height="526" VerticalAlignment="Top" Visibility="Collapsed">
<Grid x:Name="GridWP" Margin="23,36,25,0" Background="#7F000000" Height="526" VerticalAlignment="Top">
<Label x:Name="label4" Content="points" HorizontalAlignment="Right" Margin="0,480,51,0" VerticalAlignment="Top" Width="53" Foreground="White" Height="19" HorizontalContentAlignment="Right" Padding="0" VerticalContentAlignment="Center" FontSize="13"/>
<Label x:Name="lblWPCount" Content="##" HorizontalAlignment="Right" Margin="0,482,19,0" VerticalAlignment="Top" Width="26" Foreground="White" HorizontalContentAlignment="Right" Padding="0" Height="16" FontSize="13"/>
<Label x:Name="label4_Copy" Content="WP Index" HorizontalAlignment="Left" Margin="94,194,0,0" VerticalAlignment="Top" Width="80" Foreground="White" Visibility="Hidden"/>
/MKLiveView/v1.0/Source/MainWindow.xaml.cs
729,7 → 729,34
}
 
}
 
void _clearWPMarker(String text)
{
for (int k = 0; k < MainMap.Markers.Count;)
{
GMapMarker p = MainMap.Markers[k];
if (p.GetType() == typeof(CustomMarkerWP) | (p.Shape != null && p.Shape.GetType() == typeof(CustomMarkerWP)))
if (((CustomMarkerWP)p.Shape).WPText == text)
{ MainMap.Markers.Remove(p); break; }
else
k++;
else
k++;
}
}
void _renameWPMarker(string s1, string s2)
{
for (int k = 0; k < MainMap.Markers.Count;)
{
GMapMarker p = MainMap.Markers[k];
if (p.GetType() == typeof(CustomMarkerWP) | (p.Shape != null && p.Shape.GetType() == typeof(CustomMarkerWP)))
if (((CustomMarkerWP)p.Shape).WPText == s1)
{ ((CustomMarkerWP)p.Shape).WPText = s2; break; }
else
k++;
else
k++;
}
}
// access mode
private void comboBoxMode_DropDownClosed(object sender, EventArgs e)
{
1740,7 → 1767,7
Dispatcher.Invoke(() =>
{
DataGridRow row;
if (_wpIndex > -1 && data[48] == 0)
if (_wpIndex > -1 && data[48] == 0 && wpList.Count > _wpIndex)
{
row = (DataGridRow)dgvWP.ItemContainerGenerator.ContainerFromIndex(_wpIndex);
row.Background = new SolidColorBrush(Colors.Transparent);
1892,7 → 1919,7
MainMap.Markers.Remove(wpActiveMarker);
lblWPRouteDistance.Content = "0 m";
dtWaypoints.Rows.Clear();
_wpEdit = -1;
_wpEdit = -1;_wpIndex = -1;
});
}
DataRow dr = dtWaypoints.NewRow();
1904,23 → 1931,7
if (data[1] == data[0])
{
_bGetWP = false;
Dispatcher.Invoke(() => dgvWP.Items.Refresh());
 
Dispatcher.Invoke(() =>
{
if (comboBoxRouteColor.SelectionBoxItem != null)
{
string s = comboBoxRouteColor.SelectionBoxItem.ToString();
mRouteWP = new GMapRoute(wpList, _getBrush(s));
}
else
mRouteWP = new GMapRoute(wpList, null);
 
if (_bShowWPRoute)
MainMap.Markers.Add(mRouteWP);
});
MapRoute mr = new MapRoute(wpList, "WPList");
Dispatcher.Invoke(() => lblWPRouteDistance.Content = (mr.Distance * 1000).ToString("0 m"));
_routeUpdate();
}
 
}
3170,7 → 3181,7
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalSeparator = ".";
dtWaypoints.Rows.Clear();
_wpEdit = -1;
_wpEdit = -1;_wpIndex = -1;
_clearMapMarkers(typeof(CustomMarkerWP));
_clearMapMarkers(typeof(CustomMarkerWPActive));
wpList.Clear();
3353,14 → 3364,12
mRouteWP = new GMapRoute(wpList, null);
 
if (_bShowWPRoute)
Dispatcher.Invoke(() => MainMap.Markers.Add(mRouteWP));
MainMap.Markers.Add(mRouteWP);
});
 
MapRoute mr = new MapRoute(wpList, "WPList");
Dispatcher.Invoke(() => lblWPRouteDistance.Content = (mr.Distance * 1000).ToString("0 m"));
 
}
 
GMapMarker _createWP(PointLatLng p, string name, int type)
{
GMapMarker wpMarker = new GMapMarker(p);
3532,6 → 3541,7
// MainMap.Markers.Remove(wpActiveMarker);
dtWaypoints.Rows.Clear();
_wpEdit = -1;
_wpIndex = -1;
Dispatcher.Invoke(() => dgvWP.Items.Refresh());
Dispatcher.Invoke(() => lblWPIndex.Content = 0);
Dispatcher.Invoke(() => lblWPCount.Content = 0);
3557,15 → 3567,15
 
Dispatcher.Invoke(() => {
DataGridRow row;
if (_wpIndex > -1 && _wpIndex < dgvWP.ItemContainerGenerator.Items.Count)
if (_wpEdit > -1 && _wpEdit < dgvWP.ItemContainerGenerator.Items.Count)
{
row = (DataGridRow)dgvWP.ItemContainerGenerator.ContainerFromIndex(_wpIndex);
row = (DataGridRow)dgvWP.ItemContainerGenerator.ContainerFromIndex(_wpEdit);
row.Background = new SolidColorBrush(Colors.Transparent);
row.BorderBrush = new SolidColorBrush(Colors.Transparent);
row.BorderThickness = new Thickness(0);
}
_wpIndex = dgvWP.SelectedIndex;
row = (DataGridRow)dgvWP.ItemContainerGenerator.ContainerFromIndex(_wpIndex);
_wpEdit = dgvWP.SelectedIndex;
row = (DataGridRow)dgvWP.ItemContainerGenerator.ContainerFromIndex(_wpEdit);
row.Background = new SolidColorBrush(Color.FromArgb(80, 0, 255, 100));
row.BorderBrush = new SolidColorBrush(Colors.SpringGreen);
row.BorderThickness = new Thickness(2);
3584,9 → 3594,9
{
if (dgvWP.SelectedIndex > -1 && dgvWP.SelectedIndex < dtWaypoints.Rows.Count)
{
Dispatcher.Invoke(() => {
Dispatcher.Invoke(() => {
DataGridRow row;
if (_wpEdit > -1)
if (_wpEdit > -1 && _wpEdit < dgvWP.ItemContainerGenerator.Items.Count)
{
row = (DataGridRow)dgvWP.ItemContainerGenerator.ContainerFromIndex(_wpEdit);
row.Background = new SolidColorBrush(Colors.Transparent);
3770,7 → 3780,40
}
private void btnEditWPDel_Click(object sender, RoutedEventArgs e)
{
if (dgvWP.SelectedIndex > -1 && dgvWP.SelectedIndex < dtWaypoints.Rows.Count)
{
int index = dgvWP.SelectedIndex;
Dispatcher.Invoke(() => {
DataGridRow row;
if (_wpEdit > -1 && _wpEdit < dgvWP.ItemContainerGenerator.Items.Count)
{
row = (DataGridRow)dgvWP.ItemContainerGenerator.ContainerFromIndex(_wpEdit);
row.Background = new SolidColorBrush(Colors.Transparent);
row.BorderBrush = new SolidColorBrush(Colors.Transparent);
row.BorderThickness = new Thickness(0);
}
if ((int)dtWaypoints.Rows[index][1] == 0)
wpList.Remove(new PointLatLng((double)dtWaypoints.Rows[index][3], (double)dtWaypoints.Rows[index][4]));
_clearWPMarker((string)dtWaypoints.Rows[index][2]);
dtWaypoints.Rows[index].Delete();
_wpIndex = -1;
_wpEdit = -1;
for (int i = index; i < dtWaypoints.Rows.Count; i++) //change the index of points behind deleted point + rename to new index
{
dtWaypoints.Rows[i][0] = i + 1;
string s1 = (string)dtWaypoints.Rows[i][2]; //old name of WP (Prefix + index)
string s2 = s1.Substring(0, 1) + (i + 1).ToString(); //new name of WP
_renameWPMarker(s1, s2);
dtWaypoints.Rows[i][2] = s2;
}
lblWPCount.Content = dtWaypoints.Rows.Count;
if (mRouteWP != null)
MainMap.Markers.Remove(mRouteWP);
_routeUpdate();
 
dgvWP.UpdateLayout();
});
}
}
private void tbWPEdit_TouchDown(object sender, TouchEventArgs e)
{
3924,13 → 3967,7
o[15] = "0";
 
dtWaypoints.Rows.Add(o);
GMapMarker wpMarker = new GMapMarker(new PointLatLng((double)o[3], (double)o[4]));
wpMarker.Shape = new CustomMarkerWP(this, wpMarker, (string)o[2], (int)o[1]);
wpMarker.Offset = new System.Windows.Point(-11.5, -11.5);
wpMarker.ZIndex = 100;
_setMarkerColor(wpMarker, (int)o[1]);
MainMap.Markers.Add(wpMarker);
wpList.Add(new PointLatLng((double)o[3], (double)o[4]));
_createWP(new PointLatLng((double)o[3], (double)o[4]), (string)o[2], (int)o[1]);
Dispatcher.Invoke(() => lblWPCount.Content = o[0].ToString());
if (mRouteWP != null)
MainMap.Markers.Remove(mRouteWP);