-
Notifications
You must be signed in to change notification settings - Fork 0
/
DStreetViewViewModel.cs
107 lines (85 loc) · 2.49 KB
/
DStreetViewViewModel.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
namespace PAMStreetView
{
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using PAMStreetView.Properties;
using System.Globalization;
internal class DStreetViewViewModel : DockPane
{
private const string _dockPaneID = "PAMStreetView_DStreetView";
protected DStreetViewViewModel() { }
/// <summary>
/// Show the DockPane.
/// </summary>
internal static void Show()
{
DockPane pane = FrameworkApplication.DockPaneManager.Find(_dockPaneID);
if (pane == null)
{
return;
}
pane.Activate();
}
internal double currentX = double.NaN;
internal double currentY = double.NaN;
private string webAddress;
public string WebAddress
{
get
{
return webAddress;
}
set
{
SetProperty(ref webAddress, value, () => WebAddress);
}
}
private int wbHeight;
public int WbHeight
{
get
{
return wbHeight;
}
set
{
SetProperty(ref wbHeight, value, () => WbHeight);
WebBrowserUpdate();
}
}
private int wbWidth;
public int WbWidth
{
get
{
return wbWidth;
}
set
{
SetProperty(ref wbWidth, value, () => WbWidth);
WebBrowserUpdate();
}
}
public void WebBrowserUpdate()
{
if (double.IsNaN(this.currentY) || double.IsNaN(this.currentY))
{
return;
}
this.WebAddress = Settings.Default.UrlPanoAvailable.Replace("#Longitude#", this.currentX.ToString(CultureInfo.InvariantCulture)).Replace("#Latitude#", this.currentY.ToString(CultureInfo.InvariantCulture)).Replace("#Width#", (this.WbWidth - 18).ToString()).Replace("#Height#", (this.WbHeight - 16).ToString());
}
}
/// <summary>
/// Button implementation to show the DockPane.
/// </summary>
internal class DStreetView_ShowButton : Button
{
/// <summary>
/// event OnClick
/// </summary>
protected override void OnClick()
{
DStreetViewViewModel.Show();
}
}
}