Changeset - f2c2ba4ef3d4
[Not reviewed]
default
0 2 0
mkanning@CL-ENS241-10.cedarville.edu - 13 years ago 2013-02-28 16:07:57
mkanning@CL-ENS241-10.cedarville.edu
Removed unneeded code and verified use of functions. project is essentially
complete except for some live testing and cache testing/experiments
2 files changed with 1120 insertions and 2717 deletions:
0 comments (0 inline, 0 general)
Demo.WindowsForms/Forms/MainForm.Designer.cs
Show inline comments
 
@@ -11,48 +11,113 @@
 
      /// Clean up any resources being used.
 
      /// </summary>
 
      /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
 
      protected override void Dispose(bool disposing)
 
      {
 
         if(disposing && (components != null))
 
         {
 
            components.Dispose();
 
         }
 
         base.Dispose(disposing);
 
      }
 
 
      #region Windows Form Designer generated code
 
 
      /// <summary>
 
      /// Required method for Designer support - do not modify
 
      /// the contents of this method with the code editor.
 
      /// </summary>
 
      private void InitializeComponent()
 
      {
 
            this.tabMap = new System.Windows.Forms.TabPage();
 
            this.panel4 = new System.Windows.Forms.Panel();
 
            this.panel2 = new System.Windows.Forms.Panel();
 
            this.btnTest = new System.Windows.Forms.Button();
 
            this.MainMap = new Demo.WindowsForms.Map();
 
            this.splitter1 = new BSE.Windows.Forms.Splitter();
 
            this.panelMenu = new BSE.Windows.Forms.Panel();
 
            this.xPanderPanelList1 = new BSE.Windows.Forms.XPanderPanelList();
 
            this.xPanderPanelMain = new BSE.Windows.Forms.XPanderPanel();
 
            this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
 
            this.tableLayoutPanel5 = new System.Windows.Forms.TableLayoutPanel();
 
            this.gboxRemove = new System.Windows.Forms.GroupBox();
 
            this.btnClearAll = new System.Windows.Forms.Button();
 
            this.btnClearMarkers = new System.Windows.Forms.Button();
 
            this.btnClearRoutes = new System.Windows.Forms.Button();
 
            this.gboxMapItems = new System.Windows.Forms.GroupBox();
 
            this.btnAddMarker = new System.Windows.Forms.Button();
 
            this.btnSetEnd = new System.Windows.Forms.Button();
 
            this.btnSetStart = new System.Windows.Forms.Button();
 
            this.btnAddRoute = new System.Windows.Forms.Button();
 
            this.gboxGmap = new System.Windows.Forms.GroupBox();
 
            this.btnGetStatic = new System.Windows.Forms.Button();
 
            this.xboxGrid = new System.Windows.Forms.CheckBox();
 
            this.btnSaveView = new System.Windows.Forms.Button();
 
            this.lblMode = new System.Windows.Forms.Label();
 
            this.comboBoxMode = new System.Windows.Forms.ComboBox();
 
            this.xboxCanDrag = new System.Windows.Forms.CheckBox();
 
            this.xboxCurrentMarker = new System.Windows.Forms.CheckBox();
 
            this.lblMapType = new System.Windows.Forms.Label();
 
            this.comboBoxMapType = new System.Windows.Forms.ComboBox();
 
            this.gboxCoordinates = new System.Windows.Forms.GroupBox();
 
            this.btnZoomCenter = new System.Windows.Forms.Button();
 
            this.btnReload = new System.Windows.Forms.Button();
 
            this.btnGoToCoords = new System.Windows.Forms.Button();
 
            this.lblLng = new System.Windows.Forms.Label();
 
            this.cboxCollectData = new System.Windows.Forms.CheckBox();
 
            this.lblLat = new System.Windows.Forms.Label();
 
            this.textBoxLng = new System.Windows.Forms.TextBox();
 
            this.textBoxLat = new System.Windows.Forms.TextBox();
 
            this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel();
 
            this.btnZoomIn = new System.Windows.Forms.Button();
 
            this.trackBarZoomLevel = new System.Windows.Forms.TrackBar();
 
            this.btnZoomOut = new System.Windows.Forms.Button();
 
            this.xPanderPanelInfo = new BSE.Windows.Forms.XPanderPanel();
 
            this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
 
            this.textBoxZoomCurrent = new System.Windows.Forms.TextBox();
 
            this.textBoxrouteCount = new System.Windows.Forms.TextBox();
 
            this.label12 = new System.Windows.Forms.Label();
 
            this.label9 = new System.Windows.Forms.Label();
 
            this.textBoxLngCurrent = new System.Windows.Forms.TextBox();
 
            this.textBoxMarkerCount = new System.Windows.Forms.TextBox();
 
            this.label11 = new System.Windows.Forms.Label();
 
            this.label4 = new System.Windows.Forms.Label();
 
            this.textBoxLatCurrent = new System.Windows.Forms.TextBox();
 
            this.label5 = new System.Windows.Forms.Label();
 
            this.xPanderPanelCache = new BSE.Windows.Forms.XPanderPanel();
 
            this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
 
            this.textBoxCacheSize = new System.Windows.Forms.TextBox();
 
            this.textBoxCacheStatus = new System.Windows.Forms.TextBox();
 
            this.btnCacheImport = new System.Windows.Forms.Button();
 
            this.textBoxMemory = new System.Windows.Forms.TextBox();
 
            this.checkBoxUseRouteCache = new System.Windows.Forms.CheckBox();
 
            this.btnCacheExport = new System.Windows.Forms.Button();
 
            this.btnCachePrefetch = new System.Windows.Forms.Button();
 
            this.label10 = new System.Windows.Forms.Label();
 
            this.btnCacheClear = new System.Windows.Forms.Button();
 
            this.label13 = new System.Windows.Forms.Label();
 
            this.label14 = new System.Windows.Forms.Label();
 
            this.btnCacheLocationOpen = new System.Windows.Forms.Button();
 
            this.tabControl = new System.Windows.Forms.TabControl();
 
            this.tabGraphs = new System.Windows.Forms.TabPage();
 
            this.pnlDataListDisplay = new System.Windows.Forms.Panel();
 
            this.tboxChartData = new System.Windows.Forms.TextBox();
 
            this.lblChartData = new System.Windows.Forms.Label();
 
            this.tboxCurrent = new System.Windows.Forms.TextBox();
 
            this.lblCurrent = new System.Windows.Forms.Label();
 
            this.tboxMin = new System.Windows.Forms.TextBox();
 
            this.lblAverage = new System.Windows.Forms.Label();
 
            this.tboxMax = new System.Windows.Forms.TextBox();
 
            this.lblMax = new System.Windows.Forms.Label();
 
            this.tboxAverage = new System.Windows.Forms.TextBox();
 
            this.lblMin = new System.Windows.Forms.Label();
 
            this.ctnParentChartHolder = new System.Windows.Forms.SplitContainer();
 
            this.ctnTopChartHolder = new System.Windows.Forms.SplitContainer();
 
            this.lblTopLeftChartTitle = new System.Windows.Forms.Label();
 
            this.chrtTopLeft = new System.Windows.Forms.DataVisualization.Charting.Chart();
 
            this.lblTopRightChartTitle = new System.Windows.Forms.Label();
 
            this.chrtTopRight = new System.Windows.Forms.DataVisualization.Charting.Chart();
 
            this.ctnBottomChartHolder = new System.Windows.Forms.SplitContainer();
 
            this.lblBottomLeftChartTitle = new System.Windows.Forms.Label();
 
            this.chrtBottomLeft = new System.Windows.Forms.DataVisualization.Charting.Chart();
 
            this.lblBottomRightChartTitle = new System.Windows.Forms.Label();
 
            this.chrtBottomRight = new System.Windows.Forms.DataVisualization.Charting.Chart();
 
@@ -83,207 +148,1074 @@
 
            this.tboxAtmoBatteryLevel = new System.Windows.Forms.TextBox();
 
            this.label15 = new System.Windows.Forms.Label();
 
            this.tboxAtmoBoardTemp = new System.Windows.Forms.TextBox();
 
            this.label8 = new System.Windows.Forms.Label();
 
            this.label20 = new System.Windows.Forms.Label();
 
            this.gboxMasterData = new System.Windows.Forms.GroupBox();
 
            this.tboxMasterHDOP = new System.Windows.Forms.TextBox();
 
            this.label30 = new System.Windows.Forms.Label();
 
            this.tboxMasterSatellites = new System.Windows.Forms.TextBox();
 
            this.label29 = new System.Windows.Forms.Label();
 
            this.textBox6 = new System.Windows.Forms.TextBox();
 
            this.label7 = new System.Windows.Forms.Label();
 
            this.label6 = new System.Windows.Forms.Label();
 
            this.tboxMasterVelocity = new System.Windows.Forms.TextBox();
 
            this.label3 = new System.Windows.Forms.Label();
 
            this.tboxMasterLongitude = new System.Windows.Forms.TextBox();
 
            this.label2 = new System.Windows.Forms.Label();
 
            this.tboxMasterLatitude = new System.Windows.Forms.TextBox();
 
            this.label16 = new System.Windows.Forms.Label();
 
            this.tboxMasterBatteryLevel = new System.Windows.Forms.TextBox();
 
            this.tboxMasterBoardTemp = new System.Windows.Forms.TextBox();
 
            this.label1 = new System.Windows.Forms.Label();
 
            this.tboxMessageBox = new System.Windows.Forms.TextBox();
 
            this.splitContainer1 = new System.Windows.Forms.SplitContainer();
 
            this.MainMap = new Demo.WindowsForms.Map();
 
            this.splitter1 = new BSE.Windows.Forms.Splitter();
 
            this.panelMenu = new BSE.Windows.Forms.Panel();
 
            this.xPanderPanelList1 = new BSE.Windows.Forms.XPanderPanelList();
 
            this.xPanderPanelMain = new BSE.Windows.Forms.XPanderPanel();
 
            this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
 
            this.tableLayoutPanel5 = new System.Windows.Forms.TableLayoutPanel();
 
            this.gboxRemove = new System.Windows.Forms.GroupBox();
 
            this.btnClearAll = new System.Windows.Forms.Button();
 
            this.btnClearMarkers = new System.Windows.Forms.Button();
 
            this.btnClearRoutes = new System.Windows.Forms.Button();
 
            this.gboxMapItems = new System.Windows.Forms.GroupBox();
 
            this.buttonExportToGpx = new System.Windows.Forms.Button();
 
            this.xboxPlacemarkInfo = new System.Windows.Forms.CheckBox();
 
            this.MobileLogTo = new System.Windows.Forms.DateTimePicker();
 
            this.MobileLogFrom = new System.Windows.Forms.DateTimePicker();
 
            this.btnMobileLog = new System.Windows.Forms.Button();
 
            this.btnAddMarker = new System.Windows.Forms.Button();
 
            this.btnSetEnd = new System.Windows.Forms.Button();
 
            this.btnSetStart = new System.Windows.Forms.Button();
 
            this.btnAddRoute = new System.Windows.Forms.Button();
 
            this.gboxGmap = new System.Windows.Forms.GroupBox();
 
            this.btnLoadGPX = new System.Windows.Forms.Button();
 
            this.btnGetStatic = new System.Windows.Forms.Button();
 
            this.xboxGrid = new System.Windows.Forms.CheckBox();
 
            this.btnSaveView = new System.Windows.Forms.Button();
 
            this.lblMode = new System.Windows.Forms.Label();
 
            this.comboBoxMode = new System.Windows.Forms.ComboBox();
 
            this.xboxCanDrag = new System.Windows.Forms.CheckBox();
 
            this.xboxCurrentMarker = new System.Windows.Forms.CheckBox();
 
            this.lblMapType = new System.Windows.Forms.Label();
 
            this.comboBoxMapType = new System.Windows.Forms.ComboBox();
 
            this.gboxCoordinates = new System.Windows.Forms.GroupBox();
 
            this.btnZoomCenter = new System.Windows.Forms.Button();
 
            this.btnReload = new System.Windows.Forms.Button();
 
            this.btnGoToCoords = new System.Windows.Forms.Button();
 
            this.lblLng = new System.Windows.Forms.Label();
 
            this.cboxCollectData = new System.Windows.Forms.CheckBox();
 
            this.lblLat = new System.Windows.Forms.Label();
 
            this.textBoxLng = new System.Windows.Forms.TextBox();
 
            this.textBoxLat = new System.Windows.Forms.TextBox();
 
            this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel();
 
            this.btnZoomIn = new System.Windows.Forms.Button();
 
            this.trackBarZoomLevel = new System.Windows.Forms.TrackBar();
 
            this.btnZoomOut = new System.Windows.Forms.Button();
 
            this.xPanderPanelInfo = new BSE.Windows.Forms.XPanderPanel();
 
            this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
 
            this.textBoxZoomCurrent = new System.Windows.Forms.TextBox();
 
            this.textBoxrouteCount = new System.Windows.Forms.TextBox();
 
            this.label12 = new System.Windows.Forms.Label();
 
            this.label9 = new System.Windows.Forms.Label();
 
            this.textBoxLngCurrent = new System.Windows.Forms.TextBox();
 
            this.textBoxMarkerCount = new System.Windows.Forms.TextBox();
 
            this.label11 = new System.Windows.Forms.Label();
 
            this.label4 = new System.Windows.Forms.Label();
 
            this.textBoxLatCurrent = new System.Windows.Forms.TextBox();
 
            this.label5 = new System.Windows.Forms.Label();
 
            this.xPanderPanelCache = new BSE.Windows.Forms.XPanderPanel();
 
            this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
 
            this.textBoxCacheSize = new System.Windows.Forms.TextBox();
 
            this.textBoxCacheStatus = new System.Windows.Forms.TextBox();
 
            this.button10 = new System.Windows.Forms.Button();
 
            this.textBoxMemory = new System.Windows.Forms.TextBox();
 
            this.checkBoxUseRouteCache = new System.Windows.Forms.CheckBox();
 
            this.button9 = new System.Windows.Forms.Button();
 
            this.button11 = new System.Windows.Forms.Button();
 
            this.label10 = new System.Windows.Forms.Label();
 
            this.button2 = new System.Windows.Forms.Button();
 
            this.label13 = new System.Windows.Forms.Label();
 
            this.label14 = new System.Windows.Forms.Label();
 
            this.button17 = new System.Windows.Forms.Button();
 
            this.tabMap.SuspendLayout();
 
            this.panel4.SuspendLayout();
 
            this.panel2.SuspendLayout();
 
            this.panelMenu.SuspendLayout();
 
            this.xPanderPanelList1.SuspendLayout();
 
            this.xPanderPanelMain.SuspendLayout();
 
            this.tableLayoutPanel4.SuspendLayout();
 
            this.tableLayoutPanel5.SuspendLayout();
 
            this.gboxRemove.SuspendLayout();
 
            this.gboxMapItems.SuspendLayout();
 
            this.gboxGmap.SuspendLayout();
 
            this.gboxCoordinates.SuspendLayout();
 
            this.tableLayoutPanel6.SuspendLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.trackBarZoomLevel)).BeginInit();
 
            this.xPanderPanelInfo.SuspendLayout();
 
            this.tableLayoutPanel2.SuspendLayout();
 
            this.xPanderPanelCache.SuspendLayout();
 
            this.tableLayoutPanel1.SuspendLayout();
 
            this.tabControl.SuspendLayout();
 
            this.tabGraphs.SuspendLayout();
 
            this.pnlDataListDisplay.SuspendLayout();
 
            this.ctnParentChartHolder.Panel1.SuspendLayout();
 
            this.ctnParentChartHolder.Panel2.SuspendLayout();
 
            this.ctnParentChartHolder.SuspendLayout();
 
            this.ctnTopChartHolder.Panel1.SuspendLayout();
 
            this.ctnTopChartHolder.Panel2.SuspendLayout();
 
            this.ctnTopChartHolder.SuspendLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtTopLeft)).BeginInit();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtTopRight)).BeginInit();
 
            this.ctnBottomChartHolder.Panel1.SuspendLayout();
 
            this.ctnBottomChartHolder.Panel2.SuspendLayout();
 
            this.ctnBottomChartHolder.SuspendLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtBottomLeft)).BeginInit();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtBottomRight)).BeginInit();
 
            this.tabData.SuspendLayout();
 
            this.gboxSlaveData.SuspendLayout();
 
            this.gboxMasterData.SuspendLayout();
 
            this.splitContainer1.Panel1.SuspendLayout();
 
            this.splitContainer1.Panel2.SuspendLayout();
 
            this.splitContainer1.SuspendLayout();
 
            this.panelMenu.SuspendLayout();
 
            this.xPanderPanelList1.SuspendLayout();
 
            this.xPanderPanelMain.SuspendLayout();
 
            this.tableLayoutPanel4.SuspendLayout();
 
            this.tableLayoutPanel5.SuspendLayout();
 
            this.gboxRemove.SuspendLayout();
 
            this.gboxMapItems.SuspendLayout();
 
            this.gboxGmap.SuspendLayout();
 
            this.gboxCoordinates.SuspendLayout();
 
            this.tableLayoutPanel6.SuspendLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.trackBarZoomLevel)).BeginInit();
 
            this.xPanderPanelInfo.SuspendLayout();
 
            this.tableLayoutPanel2.SuspendLayout();
 
            this.xPanderPanelCache.SuspendLayout();
 
            this.tableLayoutPanel1.SuspendLayout();
 
            this.SuspendLayout();
 
            // 
 
            // tabMap
 
            // 
 
            this.tabMap.Controls.Add(this.panel4);
 
            this.tabMap.Location = new System.Drawing.Point(4, 22);
 
            this.tabMap.Name = "tabMap";
 
            this.tabMap.Padding = new System.Windows.Forms.Padding(3);
 
            this.tabMap.Size = new System.Drawing.Size(863, 690);
 
            this.tabMap.TabIndex = 0;
 
            this.tabMap.Text = "Map";
 
            this.tabMap.UseVisualStyleBackColor = true;
 
            // 
 
            // panel4
 
            // 
 
            this.panel4.Controls.Add(this.panel2);
 
            this.panel4.Controls.Add(this.splitter1);
 
            this.panel4.Controls.Add(this.panelMenu);
 
            this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.panel4.Location = new System.Drawing.Point(3, 3);
 
            this.panel4.Margin = new System.Windows.Forms.Padding(2);
 
            this.panel4.Name = "panel4";
 
            this.panel4.Size = new System.Drawing.Size(857, 684);
 
            this.panel4.TabIndex = 44;
 
            // 
 
            // panel2
 
            // 
 
            this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.panel2.Controls.Add(this.btnTest);
 
            this.panel2.Controls.Add(this.MainMap);
 
            this.panel2.Location = new System.Drawing.Point(0, 0);
 
            this.panel2.Name = "panel2";
 
            this.panel2.Size = new System.Drawing.Size(599, 684);
 
            this.panel2.TabIndex = 41;
 
            // 
 
            // btnTest
 
            // 
 
            this.btnTest.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
 
            this.btnTest.Location = new System.Drawing.Point(555, 658);
 
            this.btnTest.Name = "btnTest";
 
            this.btnTest.Size = new System.Drawing.Size(41, 26);
 
            this.btnTest.TabIndex = 32;
 
            this.btnTest.Text = "Test";
 
            this.btnTest.UseVisualStyleBackColor = true;
 
            this.btnTest.Click += new System.EventHandler(this.btnTest_Click);
 
            // 
 
            // MainMap
 
            // 
 
            this.MainMap.Bearing = 0F;
 
            this.MainMap.CanDragMap = true;
 
            this.MainMap.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.MainMap.EmptyTileColor = System.Drawing.Color.Navy;
 
            this.MainMap.GrayScaleMode = false;
 
            this.MainMap.HelperLineOption = GMap.NET.WindowsForms.HelperLineOptions.DontShow;
 
            this.MainMap.LevelsKeepInMemmory = 5;
 
            this.MainMap.Location = new System.Drawing.Point(0, 0);
 
            this.MainMap.MarkersEnabled = true;
 
            this.MainMap.MaxZoom = 17;
 
            this.MainMap.MinZoom = 2;
 
            this.MainMap.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;
 
            this.MainMap.Name = "MainMap";
 
            this.MainMap.NegativeMode = false;
 
            this.MainMap.PolygonsEnabled = true;
 
            this.MainMap.RetryLoadTile = 0;
 
            this.MainMap.RoutesEnabled = true;
 
            this.MainMap.ScaleMode = GMap.NET.WindowsForms.ScaleModes.Integer;
 
            this.MainMap.SelectedAreaFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(65)))), ((int)(((byte)(105)))), ((int)(((byte)(225)))));
 
            this.MainMap.ShowTileGridLines = false;
 
            this.MainMap.Size = new System.Drawing.Size(599, 684);
 
            this.MainMap.TabIndex = 0;
 
            this.MainMap.Zoom = 0D;
 
            // 
 
            // splitter1
 
            // 
 
            this.splitter1.BackColor = System.Drawing.Color.Transparent;
 
            this.splitter1.Dock = System.Windows.Forms.DockStyle.Right;
 
            this.splitter1.Enabled = false;
 
            this.splitter1.Location = new System.Drawing.Point(597, 0);
 
            this.splitter1.Margin = new System.Windows.Forms.Padding(2);
 
            this.splitter1.MinExtra = 390;
 
            this.splitter1.MinSize = 390;
 
            this.splitter1.Name = "splitter1";
 
            this.splitter1.Size = new System.Drawing.Size(2, 684);
 
            this.splitter1.TabIndex = 42;
 
            this.splitter1.TabStop = false;
 
            // 
 
            // panelMenu
 
            // 
 
            this.panelMenu.AssociatedSplitter = this.splitter1;
 
            this.panelMenu.BackColor = System.Drawing.Color.Transparent;
 
            this.panelMenu.CaptionFont = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.panelMenu.CaptionHeight = 27;
 
            this.panelMenu.Controls.Add(this.xPanderPanelList1);
 
            this.panelMenu.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
 
            this.panelMenu.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.panelMenu.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
 
            this.panelMenu.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.panelMenu.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.panelMenu.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.panelMenu.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.CollapsedCaptionText = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.ContentGradientBegin = System.Drawing.SystemColors.ButtonFace;
 
            this.panelMenu.CustomColors.ContentGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.panelMenu.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
 
            this.panelMenu.Dock = System.Windows.Forms.DockStyle.Right;
 
            this.panelMenu.ForeColor = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.Image = null;
 
            this.panelMenu.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
 
            this.panelMenu.Location = new System.Drawing.Point(599, 0);
 
            this.panelMenu.Margin = new System.Windows.Forms.Padding(2);
 
            this.panelMenu.MinimumSize = new System.Drawing.Size(27, 27);
 
            this.panelMenu.Name = "panelMenu";
 
            this.panelMenu.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.panelMenu.ShowExpandIcon = true;
 
            this.panelMenu.Size = new System.Drawing.Size(258, 684);
 
            this.panelMenu.TabIndex = 40;
 
            this.panelMenu.Text = "Menu";
 
            this.panelMenu.ToolTipTextCloseIcon = null;
 
            this.panelMenu.ToolTipTextExpandIconPanelCollapsed = "maximize";
 
            this.panelMenu.ToolTipTextExpandIconPanelExpanded = "minimize";
 
            // 
 
            // xPanderPanelList1
 
            // 
 
            this.xPanderPanelList1.CaptionStyle = BSE.Windows.Forms.CaptionStyle.Flat;
 
            this.xPanderPanelList1.Controls.Add(this.xPanderPanelMain);
 
            this.xPanderPanelList1.Controls.Add(this.xPanderPanelInfo);
 
            this.xPanderPanelList1.Controls.Add(this.xPanderPanelCache);
 
            this.xPanderPanelList1.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.xPanderPanelList1.GradientBackground = System.Drawing.Color.Empty;
 
            this.xPanderPanelList1.Location = new System.Drawing.Point(0, 28);
 
            this.xPanderPanelList1.Margin = new System.Windows.Forms.Padding(2);
 
            this.xPanderPanelList1.Name = "xPanderPanelList1";
 
            this.xPanderPanelList1.PanelColors = null;
 
            this.xPanderPanelList1.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.xPanderPanelList1.ShowExpandIcon = true;
 
            this.xPanderPanelList1.Size = new System.Drawing.Size(258, 655);
 
            this.xPanderPanelList1.TabIndex = 0;
 
            this.xPanderPanelList1.Text = "xPanderPanelList1";
 
            // 
 
            // xPanderPanelMain
 
            // 
 
            this.xPanderPanelMain.CaptionFont = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold);
 
            this.xPanderPanelMain.Controls.Add(this.tableLayoutPanel4);
 
            this.xPanderPanelMain.CustomColors.BackColor = System.Drawing.SystemColors.Control;
 
            this.xPanderPanelMain.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
 
            this.xPanderPanelMain.CustomColors.CaptionCheckedGradientBegin = System.Drawing.Color.Empty;
 
            this.xPanderPanelMain.CustomColors.CaptionCheckedGradientEnd = System.Drawing.Color.Empty;
 
            this.xPanderPanelMain.CustomColors.CaptionCheckedGradientMiddle = System.Drawing.Color.Empty;
 
            this.xPanderPanelMain.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelMain.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
 
            this.xPanderPanelMain.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelMain.CustomColors.CaptionPressedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionPressedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionPressedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionSelectedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionSelectedText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.CustomColors.FlatCaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelMain.CustomColors.FlatCaptionGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelMain.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
 
            this.xPanderPanelMain.ForeColor = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.Image = null;
 
            this.xPanderPanelMain.IsClosable = false;
 
            this.xPanderPanelMain.Margin = new System.Windows.Forms.Padding(2);
 
            this.xPanderPanelMain.Name = "xPanderPanelMain";
 
            this.xPanderPanelMain.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.xPanderPanelMain.Size = new System.Drawing.Size(258, 25);
 
            this.xPanderPanelMain.TabIndex = 0;
 
            this.xPanderPanelMain.Text = "map";
 
            this.xPanderPanelMain.ToolTipTextCloseIcon = null;
 
            this.xPanderPanelMain.ToolTipTextExpandIconPanelCollapsed = null;
 
            this.xPanderPanelMain.ToolTipTextExpandIconPanelExpanded = null;
 
            this.xPanderPanelMain.Click += new System.EventHandler(this.xPanderPanel1_Click);
 
            // 
 
            // tableLayoutPanel4
 
            // 
 
            this.tableLayoutPanel4.ColumnCount = 2;
 
            this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 48F));
 
            this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 49.27536F));
 
            this.tableLayoutPanel4.Controls.Add(this.tableLayoutPanel5, 1, 0);
 
            this.tableLayoutPanel4.Controls.Add(this.tableLayoutPanel6, 0, 0);
 
            this.tableLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel4.Location = new System.Drawing.Point(1, 25);
 
            this.tableLayoutPanel4.Margin = new System.Windows.Forms.Padding(2);
 
            this.tableLayoutPanel4.Name = "tableLayoutPanel4";
 
            this.tableLayoutPanel4.RowCount = 1;
 
            this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel4.Size = new System.Drawing.Size(256, 0);
 
            this.tableLayoutPanel4.TabIndex = 38;
 
            // 
 
            // tableLayoutPanel5
 
            // 
 
            this.tableLayoutPanel5.ColumnCount = 1;
 
            this.tableLayoutPanel5.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel5.Controls.Add(this.gboxRemove, 0, 3);
 
            this.tableLayoutPanel5.Controls.Add(this.gboxMapItems, 0, 2);
 
            this.tableLayoutPanel5.Controls.Add(this.gboxGmap, 0, 1);
 
            this.tableLayoutPanel5.Controls.Add(this.gboxCoordinates, 0, 0);
 
            this.tableLayoutPanel5.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel5.Location = new System.Drawing.Point(48, 0);
 
            this.tableLayoutPanel5.Margin = new System.Windows.Forms.Padding(0, 0, 2, 2);
 
            this.tableLayoutPanel5.Name = "tableLayoutPanel5";
 
            this.tableLayoutPanel5.RowCount = 5;
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 6F));
 
            this.tableLayoutPanel5.Size = new System.Drawing.Size(206, 1);
 
            this.tableLayoutPanel5.TabIndex = 30;
 
            // 
 
            // gboxRemove
 
            // 
 
            this.gboxRemove.AutoSize = true;
 
            this.gboxRemove.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
 
            this.gboxRemove.Controls.Add(this.btnClearAll);
 
            this.gboxRemove.Controls.Add(this.btnClearMarkers);
 
            this.gboxRemove.Controls.Add(this.btnClearRoutes);
 
            this.gboxRemove.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.gboxRemove.Location = new System.Drawing.Point(3, 450);
 
            this.gboxRemove.Name = "gboxRemove";
 
            this.gboxRemove.Size = new System.Drawing.Size(200, 91);
 
            this.gboxRemove.TabIndex = 37;
 
            this.gboxRemove.TabStop = false;
 
            this.gboxRemove.Text = "Remove Map Item";
 
            // 
 
            // btnClearAll
 
            // 
 
            this.btnClearAll.Location = new System.Drawing.Point(9, 49);
 
            this.btnClearAll.Name = "btnClearAll";
 
            this.btnClearAll.Size = new System.Drawing.Size(75, 23);
 
            this.btnClearAll.TabIndex = 46;
 
            this.btnClearAll.Text = "Clear All";
 
            this.btnClearAll.UseVisualStyleBackColor = true;
 
            this.btnClearAll.Click += new System.EventHandler(this.btnClearAll_Click);
 
            // 
 
            // btnClearMarkers
 
            // 
 
            this.btnClearMarkers.AutoSize = true;
 
            this.btnClearMarkers.Location = new System.Drawing.Point(68, 19);
 
            this.btnClearMarkers.Name = "btnClearMarkers";
 
            this.btnClearMarkers.Size = new System.Drawing.Size(63, 24);
 
            this.btnClearMarkers.TabIndex = 13;
 
            this.btnClearMarkers.Text = "Markers";
 
            this.btnClearMarkers.UseVisualStyleBackColor = true;
 
            this.btnClearMarkers.Click += new System.EventHandler(this.btnClearMarkers_Click);
 
            // 
 
            // btnClearRoutes
 
            // 
 
            this.btnClearRoutes.AutoSize = true;
 
            this.btnClearRoutes.Location = new System.Drawing.Point(9, 19);
 
            this.btnClearRoutes.Name = "btnClearRoutes";
 
            this.btnClearRoutes.Size = new System.Drawing.Size(55, 24);
 
            this.btnClearRoutes.TabIndex = 34;
 
            this.btnClearRoutes.Text = "Routes";
 
            this.btnClearRoutes.UseVisualStyleBackColor = true;
 
            this.btnClearRoutes.Click += new System.EventHandler(this.btnClearRoutes_Click);
 
            // 
 
            // gboxMapItems
 
            // 
 
            this.gboxMapItems.AutoSize = true;
 
            this.gboxMapItems.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
 
            this.gboxMapItems.Controls.Add(this.btnAddMarker);
 
            this.gboxMapItems.Controls.Add(this.btnSetEnd);
 
            this.gboxMapItems.Controls.Add(this.btnSetStart);
 
            this.gboxMapItems.Controls.Add(this.btnAddRoute);
 
            this.gboxMapItems.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.gboxMapItems.Location = new System.Drawing.Point(3, 322);
 
            this.gboxMapItems.Name = "gboxMapItems";
 
            this.gboxMapItems.Size = new System.Drawing.Size(200, 122);
 
            this.gboxMapItems.TabIndex = 35;
 
            this.gboxMapItems.TabStop = false;
 
            this.gboxMapItems.Text = "Add Map Item";
 
            // 
 
            // btnAddMarker
 
            // 
 
            this.btnAddMarker.Location = new System.Drawing.Point(9, 79);
 
            this.btnAddMarker.Name = "btnAddMarker";
 
            this.btnAddMarker.Size = new System.Drawing.Size(82, 24);
 
            this.btnAddMarker.TabIndex = 12;
 
            this.btnAddMarker.Text = "Add Marker";
 
            this.btnAddMarker.UseVisualStyleBackColor = true;
 
            this.btnAddMarker.Click += new System.EventHandler(this.addUserMarker);
 
            // 
 
            // btnSetEnd
 
            // 
 
            this.btnSetEnd.Location = new System.Drawing.Point(97, 19);
 
            this.btnSetEnd.Name = "btnSetEnd";
 
            this.btnSetEnd.Size = new System.Drawing.Size(73, 24);
 
            this.btnSetEnd.TabIndex = 42;
 
            this.btnSetEnd.Text = "set End";
 
            this.btnSetEnd.UseVisualStyleBackColor = true;
 
            this.btnSetEnd.Click += new System.EventHandler(this.buttonSetEnd_Click);
 
            // 
 
            // btnSetStart
 
            // 
 
            this.btnSetStart.Location = new System.Drawing.Point(9, 19);
 
            this.btnSetStart.Name = "btnSetStart";
 
            this.btnSetStart.Size = new System.Drawing.Size(82, 24);
 
            this.btnSetStart.TabIndex = 41;
 
            this.btnSetStart.Text = "set Start";
 
            this.btnSetStart.UseVisualStyleBackColor = true;
 
            this.btnSetStart.Click += new System.EventHandler(this.buttonSetStart_Click);
 
            // 
 
            // btnAddRoute
 
            // 
 
            this.btnAddRoute.Location = new System.Drawing.Point(97, 49);
 
            this.btnAddRoute.Name = "btnAddRoute";
 
            this.btnAddRoute.Size = new System.Drawing.Size(73, 24);
 
            this.btnAddRoute.TabIndex = 33;
 
            this.btnAddRoute.Text = "Add Route";
 
            this.btnAddRoute.UseVisualStyleBackColor = true;
 
            this.btnAddRoute.Click += new System.EventHandler(this.btnAddRoute_Click);
 
            // 
 
            // gboxGmap
 
            // 
 
            this.gboxGmap.AutoSize = true;
 
            this.gboxGmap.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
 
            this.gboxGmap.Controls.Add(this.btnGetStatic);
 
            this.gboxGmap.Controls.Add(this.xboxGrid);
 
            this.gboxGmap.Controls.Add(this.btnSaveView);
 
            this.gboxGmap.Controls.Add(this.lblMode);
 
            this.gboxGmap.Controls.Add(this.comboBoxMode);
 
            this.gboxGmap.Controls.Add(this.xboxCanDrag);
 
            this.gboxGmap.Controls.Add(this.xboxCurrentMarker);
 
            this.gboxGmap.Controls.Add(this.lblMapType);
 
            this.gboxGmap.Controls.Add(this.comboBoxMapType);
 
            this.gboxGmap.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.gboxGmap.Location = new System.Drawing.Point(3, 153);
 
            this.gboxGmap.Name = "gboxGmap";
 
            this.gboxGmap.Size = new System.Drawing.Size(200, 163);
 
            this.gboxGmap.TabIndex = 31;
 
            this.gboxGmap.TabStop = false;
 
            this.gboxGmap.Text = "gmap";
 
            // 
 
            // btnGetStatic
 
            // 
 
            this.btnGetStatic.AutoSize = true;
 
            this.btnGetStatic.Location = new System.Drawing.Point(9, 121);
 
            this.btnGetStatic.Margin = new System.Windows.Forms.Padding(2);
 
            this.btnGetStatic.Name = "btnGetStatic";
 
            this.btnGetStatic.Size = new System.Drawing.Size(73, 24);
 
            this.btnGetStatic.TabIndex = 41;
 
            this.btnGetStatic.Text = "Area Image";
 
            this.btnGetStatic.UseVisualStyleBackColor = true;
 
            this.btnGetStatic.Click += new System.EventHandler(this.btnGetStatic_Click);
 
            // 
 
            // xboxGrid
 
            // 
 
            this.xboxGrid.AutoSize = true;
 
            this.xboxGrid.Location = new System.Drawing.Point(104, 74);
 
            this.xboxGrid.Margin = new System.Windows.Forms.Padding(2);
 
            this.xboxGrid.Name = "xboxGrid";
 
            this.xboxGrid.Size = new System.Drawing.Size(45, 17);
 
            this.xboxGrid.TabIndex = 40;
 
            this.xboxGrid.Text = "Grid";
 
            this.xboxGrid.UseVisualStyleBackColor = true;
 
            this.xboxGrid.CheckedChanged += new System.EventHandler(this.showGridlines);
 
            // 
 
            // btnSaveView
 
            // 
 
            this.btnSaveView.AutoSize = true;
 
            this.btnSaveView.Location = new System.Drawing.Point(92, 121);
 
            this.btnSaveView.Margin = new System.Windows.Forms.Padding(2);
 
            this.btnSaveView.Name = "btnSaveView";
 
            this.btnSaveView.Size = new System.Drawing.Size(74, 24);
 
            this.btnSaveView.TabIndex = 39;
 
            this.btnSaveView.Text = "Create PNG";
 
            this.btnSaveView.UseVisualStyleBackColor = true;
 
            this.btnSaveView.Click += new System.EventHandler(this.btnSaveView_Click);
 
            // 
 
            // lblMode
 
            // 
 
            this.lblMode.AutoSize = true;
 
            this.lblMode.Location = new System.Drawing.Point(132, 49);
 
            this.lblMode.Name = "lblMode";
 
            this.lblMode.Size = new System.Drawing.Size(34, 13);
 
            this.lblMode.TabIndex = 38;
 
            this.lblMode.Text = "Mode";
 
            // 
 
            // comboBoxMode
 
            // 
 
            this.comboBoxMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 
            this.comboBoxMode.FormattingEnabled = true;
 
            this.comboBoxMode.Location = new System.Drawing.Point(8, 46);
 
            this.comboBoxMode.Name = "comboBoxMode";
 
            this.comboBoxMode.Size = new System.Drawing.Size(123, 21);
 
            this.comboBoxMode.TabIndex = 37;
 
            this.comboBoxMode.DropDownClosed += new System.EventHandler(this.comboBoxMode_DropDownClosed);
 
            // 
 
            // xboxCanDrag
 
            // 
 
            this.xboxCanDrag.AutoSize = true;
 
            this.xboxCanDrag.Checked = true;
 
            this.xboxCanDrag.CheckState = System.Windows.Forms.CheckState.Checked;
 
            this.xboxCanDrag.Location = new System.Drawing.Point(9, 95);
 
            this.xboxCanDrag.Name = "xboxCanDrag";
 
            this.xboxCanDrag.Size = new System.Drawing.Size(73, 17);
 
            this.xboxCanDrag.TabIndex = 36;
 
            this.xboxCanDrag.Text = "Drag Map";
 
            this.xboxCanDrag.UseVisualStyleBackColor = true;
 
            this.xboxCanDrag.CheckedChanged += new System.EventHandler(this.checkBoxCanDrag_CheckedChanged);
 
            // 
 
            // xboxCurrentMarker
 
            // 
 
            this.xboxCurrentMarker.AutoSize = true;
 
            this.xboxCurrentMarker.Checked = true;
 
            this.xboxCurrentMarker.CheckState = System.Windows.Forms.CheckState.Checked;
 
            this.xboxCurrentMarker.Location = new System.Drawing.Point(9, 73);
 
            this.xboxCurrentMarker.Name = "xboxCurrentMarker";
 
            this.xboxCurrentMarker.Size = new System.Drawing.Size(96, 17);
 
            this.xboxCurrentMarker.TabIndex = 35;
 
            this.xboxCurrentMarker.Text = "Current Marker";
 
            this.xboxCurrentMarker.UseVisualStyleBackColor = true;
 
            this.xboxCurrentMarker.CheckedChanged += new System.EventHandler(this.checkBoxCurrentMarker_CheckedChanged);
 
            // 
 
            // lblMapType
 
            // 
 
            this.lblMapType.AutoSize = true;
 
            this.lblMapType.Location = new System.Drawing.Point(132, 22);
 
            this.lblMapType.Name = "lblMapType";
 
            this.lblMapType.Size = new System.Drawing.Size(55, 13);
 
            this.lblMapType.TabIndex = 31;
 
            this.lblMapType.Text = "Map Type";
 
            // 
 
            // comboBoxMapType
 
            // 
 
            this.comboBoxMapType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 
            this.comboBoxMapType.FormattingEnabled = true;
 
            this.comboBoxMapType.Location = new System.Drawing.Point(8, 19);
 
            this.comboBoxMapType.Name = "comboBoxMapType";
 
            this.comboBoxMapType.Size = new System.Drawing.Size(123, 21);
 
            this.comboBoxMapType.TabIndex = 9;
 
            this.comboBoxMapType.DropDownClosed += new System.EventHandler(this.comboBoxMapType_DropDownClosed);
 
            // 
 
            // gboxCoordinates
 
            // 
 
            this.gboxCoordinates.AutoSize = true;
 
            this.gboxCoordinates.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
 
            this.gboxCoordinates.Controls.Add(this.btnZoomCenter);
 
            this.gboxCoordinates.Controls.Add(this.btnReload);
 
            this.gboxCoordinates.Controls.Add(this.btnGoToCoords);
 
            this.gboxCoordinates.Controls.Add(this.lblLng);
 
            this.gboxCoordinates.Controls.Add(this.cboxCollectData);
 
            this.gboxCoordinates.Controls.Add(this.lblLat);
 
            this.gboxCoordinates.Controls.Add(this.textBoxLng);
 
            this.gboxCoordinates.Controls.Add(this.textBoxLat);
 
            this.gboxCoordinates.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.gboxCoordinates.Location = new System.Drawing.Point(3, 3);
 
            this.gboxCoordinates.Name = "gboxCoordinates";
 
            this.gboxCoordinates.Size = new System.Drawing.Size(200, 144);
 
            this.gboxCoordinates.TabIndex = 28;
 
            this.gboxCoordinates.TabStop = false;
 
            this.gboxCoordinates.Text = "coordinates";
 
            // 
 
            // btnZoomCenter
 
            // 
 
            this.btnZoomCenter.Location = new System.Drawing.Point(84, 71);
 
            this.btnZoomCenter.Name = "btnZoomCenter";
 
            this.btnZoomCenter.Size = new System.Drawing.Size(82, 24);
 
            this.btnZoomCenter.TabIndex = 15;
 
            this.btnZoomCenter.Text = "Zoom Center";
 
            this.btnZoomCenter.UseVisualStyleBackColor = true;
 
            this.btnZoomCenter.Click += new System.EventHandler(this.button7_Click);
 
            // 
 
            // btnReload
 
            // 
 
            this.btnReload.Location = new System.Drawing.Point(6, 101);
 
            this.btnReload.Name = "btnReload";
 
            this.btnReload.Size = new System.Drawing.Size(74, 24);
 
            this.btnReload.TabIndex = 9;
 
            this.btnReload.Text = "Reload";
 
            this.btnReload.UseVisualStyleBackColor = true;
 
            this.btnReload.Click += new System.EventHandler(this.btnReload_Click);
 
            // 
 
            // btnGoToCoords
 
            // 
 
            this.btnGoToCoords.Location = new System.Drawing.Point(6, 71);
 
            this.btnGoToCoords.Name = "btnGoToCoords";
 
            this.btnGoToCoords.Size = new System.Drawing.Size(72, 24);
 
            this.btnGoToCoords.TabIndex = 8;
 
            this.btnGoToCoords.Text = "GoTo !";
 
            this.btnGoToCoords.UseVisualStyleBackColor = true;
 
            this.btnGoToCoords.Click += new System.EventHandler(this.btnGoToCoords_Click);
 
            // 
 
            // lblLng
 
            // 
 
            this.lblLng.AutoSize = true;
 
            this.lblLng.Location = new System.Drawing.Point(135, 48);
 
            this.lblLng.Name = "lblLng";
 
            this.lblLng.Size = new System.Drawing.Size(54, 13);
 
            this.lblLng.TabIndex = 3;
 
            this.lblLng.Text = "Longitude";
 
            // 
 
            // cboxCollectData
 
            // 
 
            this.cboxCollectData.AutoSize = true;
 
            this.cboxCollectData.Location = new System.Drawing.Point(86, 106);
 
            this.cboxCollectData.Name = "cboxCollectData";
 
            this.cboxCollectData.Size = new System.Drawing.Size(84, 17);
 
            this.cboxCollectData.TabIndex = 38;
 
            this.cboxCollectData.Text = "Collect Data";
 
            this.cboxCollectData.UseVisualStyleBackColor = true;
 
            // 
 
            // lblLat
 
            // 
 
            this.lblLat.AutoSize = true;
 
            this.lblLat.Location = new System.Drawing.Point(135, 22);
 
            this.lblLat.Name = "lblLat";
 
            this.lblLat.Size = new System.Drawing.Size(45, 13);
 
            this.lblLat.TabIndex = 2;
 
            this.lblLat.Text = "Latitude";
 
            // 
 
            // textBoxLng
 
            // 
 
            this.textBoxLng.Location = new System.Drawing.Point(9, 45);
 
            this.textBoxLng.Name = "textBoxLng";
 
            this.textBoxLng.Size = new System.Drawing.Size(122, 20);
 
            this.textBoxLng.TabIndex = 1;
 
            this.textBoxLng.Text = "-83.809848";
 
            // 
 
            // textBoxLat
 
            // 
 
            this.textBoxLat.Location = new System.Drawing.Point(9, 19);
 
            this.textBoxLat.Name = "textBoxLat";
 
            this.textBoxLat.Size = new System.Drawing.Size(122, 20);
 
            this.textBoxLat.TabIndex = 0;
 
            this.textBoxLat.Text = "39.751248";
 
            // 
 
            // tableLayoutPanel6
 
            // 
 
            this.tableLayoutPanel6.ColumnCount = 1;
 
            this.tableLayoutPanel6.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
 
            this.tableLayoutPanel6.Controls.Add(this.btnZoomIn, 0, 0);
 
            this.tableLayoutPanel6.Controls.Add(this.trackBarZoomLevel, 0, 1);
 
            this.tableLayoutPanel6.Controls.Add(this.btnZoomOut, 0, 2);
 
            this.tableLayoutPanel6.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel6.Location = new System.Drawing.Point(2, 2);
 
            this.tableLayoutPanel6.Margin = new System.Windows.Forms.Padding(2);
 
            this.tableLayoutPanel6.Name = "tableLayoutPanel6";
 
            this.tableLayoutPanel6.RowCount = 3;
 
            this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel6.Size = new System.Drawing.Size(44, 1);
 
            this.tableLayoutPanel6.TabIndex = 31;
 
            // 
 
            // btnZoomIn
 
            // 
 
            this.btnZoomIn.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.btnZoomIn.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.btnZoomIn.Location = new System.Drawing.Point(0, 0);
 
            this.btnZoomIn.Margin = new System.Windows.Forms.Padding(0);
 
            this.btnZoomIn.Name = "btnZoomIn";
 
            this.btnZoomIn.Size = new System.Drawing.Size(45, 27);
 
            this.btnZoomIn.TabIndex = 0;
 
            this.btnZoomIn.Text = "+";
 
            this.btnZoomIn.UseVisualStyleBackColor = true;
 
            this.btnZoomIn.Click += new System.EventHandler(this.buttonZoomUp_Click);
 
            // 
 
            // trackBarZoomLevel
 
            // 
 
            this.trackBarZoomLevel.BackColor = System.Drawing.Color.AliceBlue;
 
            this.trackBarZoomLevel.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.trackBarZoomLevel.LargeChange = 1;
 
            this.trackBarZoomLevel.Location = new System.Drawing.Point(0, 27);
 
            this.trackBarZoomLevel.Margin = new System.Windows.Forms.Padding(0);
 
            this.trackBarZoomLevel.Maximum = 1700;
 
            this.trackBarZoomLevel.Minimum = 1;
 
            this.trackBarZoomLevel.Name = "trackBarZoomLevel";
 
            this.trackBarZoomLevel.Orientation = System.Windows.Forms.Orientation.Vertical;
 
            this.trackBarZoomLevel.Size = new System.Drawing.Size(45, 1);
 
            this.trackBarZoomLevel.TabIndex = 29;
 
            this.trackBarZoomLevel.TickFrequency = 100;
 
            this.trackBarZoomLevel.TickStyle = System.Windows.Forms.TickStyle.TopLeft;
 
            this.trackBarZoomLevel.Value = 15;
 
            this.trackBarZoomLevel.ValueChanged += new System.EventHandler(this.trackBar1_ValueChanged);
 
            // 
 
            // btnZoomOut
 
            // 
 
            this.btnZoomOut.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.btnZoomOut.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.btnZoomOut.Location = new System.Drawing.Point(0, -26);
 
            this.btnZoomOut.Margin = new System.Windows.Forms.Padding(0);
 
            this.btnZoomOut.Name = "btnZoomOut";
 
            this.btnZoomOut.Size = new System.Drawing.Size(45, 27);
 
            this.btnZoomOut.TabIndex = 1;
 
            this.btnZoomOut.Text = "-";
 
            this.btnZoomOut.UseVisualStyleBackColor = true;
 
            this.btnZoomOut.Click += new System.EventHandler(this.buttonZoomDown_Click);
 
            // 
 
            // xPanderPanelInfo
 
            // 
 
            this.xPanderPanelInfo.CaptionFont = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold);
 
            this.xPanderPanelInfo.Controls.Add(this.tableLayoutPanel2);
 
            this.xPanderPanelInfo.CustomColors.BackColor = System.Drawing.SystemColors.Control;
 
            this.xPanderPanelInfo.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionCheckedGradientBegin = System.Drawing.Color.Empty;
 
            this.xPanderPanelInfo.CustomColors.CaptionCheckedGradientEnd = System.Drawing.Color.Empty;
 
            this.xPanderPanelInfo.CustomColors.CaptionCheckedGradientMiddle = System.Drawing.Color.Empty;
 
            this.xPanderPanelInfo.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
 
            this.xPanderPanelInfo.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionPressedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionPressedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionPressedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionSelectedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionSelectedText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.CustomColors.FlatCaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelInfo.CustomColors.FlatCaptionGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelInfo.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
 
            this.xPanderPanelInfo.ForeColor = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.Image = null;
 
            this.xPanderPanelInfo.Margin = new System.Windows.Forms.Padding(2);
 
            this.xPanderPanelInfo.Name = "xPanderPanelInfo";
 
            this.xPanderPanelInfo.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.xPanderPanelInfo.Size = new System.Drawing.Size(258, 25);
 
            this.xPanderPanelInfo.TabIndex = 3;
 
            this.xPanderPanelInfo.Text = "info";
 
            this.xPanderPanelInfo.ToolTipTextCloseIcon = null;
 
            this.xPanderPanelInfo.ToolTipTextExpandIconPanelCollapsed = null;
 
            this.xPanderPanelInfo.ToolTipTextExpandIconPanelExpanded = null;
 
            this.xPanderPanelInfo.Click += new System.EventHandler(this.xPanderPanelInfo_Click);
 
            // 
 
            // tableLayoutPanel2
 
            // 
 
            this.tableLayoutPanel2.ColumnCount = 3;
 
            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 15F));
 
            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 15F));
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxZoomCurrent, 1, 7);
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxrouteCount, 1, 11);
 
            this.tableLayoutPanel2.Controls.Add(this.label12, 1, 10);
 
            this.tableLayoutPanel2.Controls.Add(this.label9, 1, 6);
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxLngCurrent, 1, 4);
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxMarkerCount, 1, 9);
 
            this.tableLayoutPanel2.Controls.Add(this.label11, 1, 8);
 
            this.tableLayoutPanel2.Controls.Add(this.label4, 1, 3);
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxLatCurrent, 1, 2);
 
            this.tableLayoutPanel2.Controls.Add(this.label5, 1, 1);
 
            this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel2.Location = new System.Drawing.Point(1, 25);
 
            this.tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(2);
 
            this.tableLayoutPanel2.Name = "tableLayoutPanel2";
 
            this.tableLayoutPanel2.RowCount = 13;
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel2.Size = new System.Drawing.Size(256, 0);
 
            this.tableLayoutPanel2.TabIndex = 14;
 
            // 
 
            // textBoxZoomCurrent
 
            // 
 
            this.textBoxZoomCurrent.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxZoomCurrent.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxZoomCurrent.Location = new System.Drawing.Point(18, 142);
 
            this.textBoxZoomCurrent.Name = "textBoxZoomCurrent";
 
            this.textBoxZoomCurrent.ReadOnly = true;
 
            this.textBoxZoomCurrent.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxZoomCurrent.TabIndex = 8;
 
            this.textBoxZoomCurrent.Text = "15";
 
            // 
 
            // textBoxrouteCount
 
            // 
 
            this.textBoxrouteCount.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxrouteCount.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxrouteCount.Location = new System.Drawing.Point(18, 236);
 
            this.textBoxrouteCount.Name = "textBoxrouteCount";
 
            this.textBoxrouteCount.ReadOnly = true;
 
            this.textBoxrouteCount.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxrouteCount.TabIndex = 12;
 
            this.textBoxrouteCount.Text = "...";
 
            // 
 
            // label12
 
            // 
 
            this.label12.AutoSize = true;
 
            this.label12.Location = new System.Drawing.Point(18, 220);
 
            this.label12.Name = "label12";
 
            this.label12.Size = new System.Drawing.Size(39, 13);
 
            this.label12.TabIndex = 13;
 
            this.label12.Text = "routes:";
 
            // 
 
            // label9
 
            // 
 
            this.label9.AutoSize = true;
 
            this.label9.Location = new System.Drawing.Point(18, 126);
 
            this.label9.Name = "label9";
 
            this.label9.Size = new System.Drawing.Size(35, 13);
 
            this.label9.TabIndex = 9;
 
            this.label9.Text = "zoom:";
 
            // 
 
            // textBoxLngCurrent
 
            // 
 
            this.textBoxLngCurrent.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxLngCurrent.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxLngCurrent.Location = new System.Drawing.Point(18, 79);
 
            this.textBoxLngCurrent.Name = "textBoxLngCurrent";
 
            this.textBoxLngCurrent.ReadOnly = true;
 
            this.textBoxLngCurrent.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxLngCurrent.TabIndex = 5;
 
            this.textBoxLngCurrent.Text = "...";
 
            // 
 
            // textBoxMarkerCount
 
            // 
 
            this.textBoxMarkerCount.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxMarkerCount.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxMarkerCount.Location = new System.Drawing.Point(18, 189);
 
            this.textBoxMarkerCount.Name = "textBoxMarkerCount";
 
            this.textBoxMarkerCount.ReadOnly = true;
 
            this.textBoxMarkerCount.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxMarkerCount.TabIndex = 10;
 
            this.textBoxMarkerCount.Text = "...";
 
            // 
 
            // label11
 
            // 
 
            this.label11.AutoSize = true;
 
            this.label11.Location = new System.Drawing.Point(18, 173);
 
            this.label11.Name = "label11";
 
            this.label11.Size = new System.Drawing.Size(47, 13);
 
            this.label11.TabIndex = 11;
 
            this.label11.Text = "markers:";
 
            // 
 
            // label4
 
            // 
 
            this.label4.AutoSize = true;
 
            this.label4.Location = new System.Drawing.Point(18, 63);
 
            this.label4.Name = "label4";
 
            this.label4.Size = new System.Drawing.Size(24, 13);
 
            this.label4.TabIndex = 7;
 
            this.label4.Text = "lng:";
 
            // 
 
            // textBoxLatCurrent
 
            // 
 
            this.textBoxLatCurrent.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxLatCurrent.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxLatCurrent.Location = new System.Drawing.Point(18, 32);
 
            this.textBoxLatCurrent.Name = "textBoxLatCurrent";
 
            this.textBoxLatCurrent.ReadOnly = true;
 
            this.textBoxLatCurrent.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxLatCurrent.TabIndex = 4;
 
            this.textBoxLatCurrent.Text = "...";
 
            // 
 
            // label5
 
            // 
 
            this.label5.AutoSize = true;
 
            this.label5.Location = new System.Drawing.Point(18, 16);
 
            this.label5.Name = "label5";
 
            this.label5.Size = new System.Drawing.Size(21, 13);
 
            this.label5.TabIndex = 6;
 
            this.label5.Text = "lat:";
 
            // 
 
            // xPanderPanelCache
 
            // 
 
            this.xPanderPanelCache.CaptionFont = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold);
 
            this.xPanderPanelCache.Controls.Add(this.tableLayoutPanel1);
 
            this.xPanderPanelCache.CustomColors.BackColor = System.Drawing.SystemColors.Control;
 
            this.xPanderPanelCache.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
 
            this.xPanderPanelCache.CustomColors.CaptionCheckedGradientBegin = System.Drawing.Color.Empty;
 
            this.xPanderPanelCache.CustomColors.CaptionCheckedGradientEnd = System.Drawing.Color.Empty;
 
            this.xPanderPanelCache.CustomColors.CaptionCheckedGradientMiddle = System.Drawing.Color.Empty;
 
            this.xPanderPanelCache.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelCache.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
 
            this.xPanderPanelCache.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelCache.CustomColors.CaptionPressedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionPressedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionPressedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionSelectedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionSelectedText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.CustomColors.FlatCaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelCache.CustomColors.FlatCaptionGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelCache.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
 
            this.xPanderPanelCache.Expand = true;
 
            this.xPanderPanelCache.ForeColor = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.Image = null;
 
            this.xPanderPanelCache.IsClosable = false;
 
            this.xPanderPanelCache.Margin = new System.Windows.Forms.Padding(2);
 
            this.xPanderPanelCache.Name = "xPanderPanelCache";
 
            this.xPanderPanelCache.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.xPanderPanelCache.Size = new System.Drawing.Size(258, 605);
 
            this.xPanderPanelCache.TabIndex = 4;
 
            this.xPanderPanelCache.Text = "cache";
 
            this.xPanderPanelCache.ToolTipTextCloseIcon = null;
 
            this.xPanderPanelCache.ToolTipTextExpandIconPanelCollapsed = null;
 
            this.xPanderPanelCache.ToolTipTextExpandIconPanelExpanded = null;
 
            // 
 
            // tableLayoutPanel1
 
            // 
 
            this.tableLayoutPanel1.ColumnCount = 3;
 
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 15F));
 
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 15F));
 
            this.tableLayoutPanel1.Controls.Add(this.textBoxCacheSize, 1, 12);
 
            this.tableLayoutPanel1.Controls.Add(this.textBoxCacheStatus, 1, 15);
 
            this.tableLayoutPanel1.Controls.Add(this.btnCacheImport, 1, 1);
 
            this.tableLayoutPanel1.Controls.Add(this.textBoxMemory, 1, 9);
 
            this.tableLayoutPanel1.Controls.Add(this.checkBoxUseRouteCache, 1, 17);
 
            this.tableLayoutPanel1.Controls.Add(this.btnCacheExport, 1, 2);
 
            this.tableLayoutPanel1.Controls.Add(this.btnCachePrefetch, 1, 3);
 
            this.tableLayoutPanel1.Controls.Add(this.label10, 1, 8);
 
            this.tableLayoutPanel1.Controls.Add(this.btnCacheClear, 1, 5);
 
            this.tableLayoutPanel1.Controls.Add(this.label13, 1, 14);
 
            this.tableLayoutPanel1.Controls.Add(this.label14, 1, 11);
 
            this.tableLayoutPanel1.Controls.Add(this.btnCacheLocationOpen, 1, 6);
 
            this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel1.Location = new System.Drawing.Point(1, 25);
 
            this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(2);
 
            this.tableLayoutPanel1.Name = "tableLayoutPanel1";
 
            this.tableLayoutPanel1.RowCount = 19;
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
 
            this.tableLayoutPanel1.Size = new System.Drawing.Size(256, 580);
 
            this.tableLayoutPanel1.TabIndex = 41;
 
            // 
 
            // textBoxCacheSize
 
            // 
 
            this.textBoxCacheSize.Dock = System.Windows.Forms.DockStyle.Top;
 
            this.textBoxCacheSize.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxCacheSize.Location = new System.Drawing.Point(18, 238);
 
            this.textBoxCacheSize.Name = "textBoxCacheSize";
 
            this.textBoxCacheSize.ReadOnly = true;
 
            this.textBoxCacheSize.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxCacheSize.TabIndex = 49;
 
            this.textBoxCacheSize.Text = "...";
 
            // 
 
            // textBoxCacheStatus
 
            // 
 
            this.textBoxCacheStatus.Dock = System.Windows.Forms.DockStyle.Top;
 
            this.textBoxCacheStatus.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxCacheStatus.Location = new System.Drawing.Point(18, 301);
 
            this.textBoxCacheStatus.Name = "textBoxCacheStatus";
 
            this.textBoxCacheStatus.ReadOnly = true;
 
            this.textBoxCacheStatus.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxCacheStatus.TabIndex = 46;
 
            this.textBoxCacheStatus.Text = "...";
 
            // 
 
            // btnCacheImport
 
            // 
 
            this.btnCacheImport.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.btnCacheImport.Location = new System.Drawing.Point(18, 19);
 
            this.btnCacheImport.Name = "btnCacheImport";
 
            this.btnCacheImport.Size = new System.Drawing.Size(220, 20);
 
            this.btnCacheImport.TabIndex = 5;
 
            this.btnCacheImport.Text = "Import";
 
            this.btnCacheImport.UseVisualStyleBackColor = true;
 
            this.btnCacheImport.Click += new System.EventHandler(this.button10_Click);
 
            // 
 
            // textBoxMemory
 
            // 
 
            this.textBoxMemory.Dock = System.Windows.Forms.DockStyle.Top;
 
            this.textBoxMemory.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxMemory.Location = new System.Drawing.Point(18, 175);
 
            this.textBoxMemory.Name = "textBoxMemory";
 
            this.textBoxMemory.ReadOnly = true;
 
            this.textBoxMemory.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxMemory.TabIndex = 39;
 
            this.textBoxMemory.Text = "...";
 
            // 
 
            // checkBoxUseRouteCache
 
            // 
 
            this.checkBoxUseRouteCache.AutoSize = true;
 
            this.checkBoxUseRouteCache.Checked = true;
 
            this.checkBoxUseRouteCache.CheckState = System.Windows.Forms.CheckState.Checked;
 
            this.checkBoxUseRouteCache.Location = new System.Drawing.Point(18, 351);
 
            this.checkBoxUseRouteCache.Name = "checkBoxUseRouteCache";
 
            this.checkBoxUseRouteCache.Size = new System.Drawing.Size(160, 17);
 
            this.checkBoxUseRouteCache.TabIndex = 2;
 
            this.checkBoxUseRouteCache.Text = "cache routing/geocodig/etc";
 
            this.checkBoxUseRouteCache.UseVisualStyleBackColor = true;
 
            // 
 
            // btnCacheExport
 
            // 
 
            this.btnCacheExport.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.btnCacheExport.Location = new System.Drawing.Point(18, 45);
 
            this.btnCacheExport.Name = "btnCacheExport";
 
            this.btnCacheExport.Size = new System.Drawing.Size(220, 20);
 
            this.btnCacheExport.TabIndex = 4;
 
            this.btnCacheExport.Text = "Export";
 
            this.btnCacheExport.UseVisualStyleBackColor = true;
 
            this.btnCacheExport.Click += new System.EventHandler(this.button9_Click);
 
            // 
 
            // btnCachePrefetch
 
            // 
 
            this.btnCachePrefetch.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.btnCachePrefetch.Location = new System.Drawing.Point(18, 71);
 
            this.btnCachePrefetch.Name = "btnCachePrefetch";
 
            this.btnCachePrefetch.Size = new System.Drawing.Size(220, 20);
 
            this.btnCachePrefetch.TabIndex = 38;
 
            this.btnCachePrefetch.Text = "Prefetch selected area";
 
            this.btnCachePrefetch.UseVisualStyleBackColor = true;
 
            this.btnCachePrefetch.Click += new System.EventHandler(this.button11_Click);
 
            // 
 
            // label10
 
            // 
 
            this.label10.AutoSize = true;
 
            this.label10.Location = new System.Drawing.Point(18, 159);
 
            this.label10.Name = "label10";
 
            this.label10.Size = new System.Drawing.Size(111, 13);
 
            this.label10.TabIndex = 40;
 
            this.label10.Text = "memory cache usage:";
 
            // 
 
            // btnCacheClear
 
            // 
 
            this.btnCacheClear.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.btnCacheClear.Location = new System.Drawing.Point(18, 97);
 
            this.btnCacheClear.Name = "btnCacheClear";
 
            this.btnCacheClear.Size = new System.Drawing.Size(220, 20);
 
            this.btnCacheClear.TabIndex = 43;
 
            this.btnCacheClear.Text = "Clear tiles in disk cache";
 
            this.btnCacheClear.UseVisualStyleBackColor = true;
 
            this.btnCacheClear.Click += new System.EventHandler(this.button2_Click);
 
            // 
 
            // label13
 
            // 
 
            this.label13.AutoSize = true;
 
            this.label13.Location = new System.Drawing.Point(18, 285);
 
            this.label13.Name = "label13";
 
            this.label13.Size = new System.Drawing.Size(93, 13);
 
            this.label13.TabIndex = 44;
 
            this.label13.Text = "disk cache status:";
 
            // 
 
            // label14
 
            // 
 
            this.label14.AutoSize = true;
 
            this.label14.Location = new System.Drawing.Point(18, 222);
 
            this.label14.Name = "label14";
 
            this.label14.Size = new System.Drawing.Size(83, 13);
 
            this.label14.TabIndex = 47;
 
            this.label14.Text = "disk cache size:";
 
            // 
 
            // btnCacheLocationOpen
 
            // 
 
            this.btnCacheLocationOpen.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.btnCacheLocationOpen.Location = new System.Drawing.Point(17, 122);
 
            this.btnCacheLocationOpen.Margin = new System.Windows.Forms.Padding(2);
 
            this.btnCacheLocationOpen.Name = "btnCacheLocationOpen";
 
            this.btnCacheLocationOpen.Size = new System.Drawing.Size(222, 19);
 
            this.btnCacheLocationOpen.TabIndex = 50;
 
            this.btnCacheLocationOpen.Text = "Open cache location";
 
            this.btnCacheLocationOpen.UseVisualStyleBackColor = true;
 
            this.btnCacheLocationOpen.Click += new System.EventHandler(this.button17_Click);
 
            // 
 
            // tabControl
 
            // 
 
            this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.tabControl.Controls.Add(this.tabMap);
 
            this.tabControl.Controls.Add(this.tabGraphs);
 
            this.tabControl.Controls.Add(this.tabData);
 
            this.tabControl.Location = new System.Drawing.Point(0, 0);
 
            this.tabControl.Name = "tabControl";
 
            this.tabControl.SelectedIndex = 0;
 
            this.tabControl.Size = new System.Drawing.Size(871, 716);
 
            this.tabControl.TabIndex = 45;
 
            // 
 
            // tabGraphs
 
            // 
 
            this.tabGraphs.Controls.Add(this.pnlDataListDisplay);
 
            this.tabGraphs.Controls.Add(this.ctnParentChartHolder);
 
            this.tabGraphs.Location = new System.Drawing.Point(4, 22);
 
            this.tabGraphs.Name = "tabGraphs";
 
            this.tabGraphs.Padding = new System.Windows.Forms.Padding(3);
 
            this.tabGraphs.Size = new System.Drawing.Size(863, 690);
 
            this.tabGraphs.TabIndex = 2;
 
            this.tabGraphs.Text = "Graphs";
 
@@ -1017,1202 +1949,191 @@
 
            this.tboxMessageBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
 
            this.tboxMessageBox.Size = new System.Drawing.Size(871, 120);
 
            this.tboxMessageBox.TabIndex = 30;
 
            // 
 
            // splitContainer1
 
            // 
 
            this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 
            | System.Windows.Forms.AnchorStyles.Left) 
 
            | System.Windows.Forms.AnchorStyles.Right)));
 
            this.splitContainer1.Location = new System.Drawing.Point(12, 12);
 
            this.splitContainer1.Name = "splitContainer1";
 
            this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
 
            // 
 
            // splitContainer1.Panel1
 
            // 
 
            this.splitContainer1.Panel1.Controls.Add(this.tabControl);
 
            // 
 
            // splitContainer1.Panel2
 
            // 
 
            this.splitContainer1.Panel2.Controls.Add(this.tboxMessageBox);
 
            this.splitContainer1.Size = new System.Drawing.Size(871, 839);
 
            this.splitContainer1.SplitterDistance = 715;
 
            this.splitContainer1.TabIndex = 46;
 
            // 
 
            // MainMap
 
            // 
 
            this.MainMap.Bearing = 0F;
 
            this.MainMap.CanDragMap = true;
 
            this.MainMap.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.MainMap.EmptyTileColor = System.Drawing.Color.Navy;
 
            this.MainMap.GrayScaleMode = false;
 
            this.MainMap.HelperLineOption = GMap.NET.WindowsForms.HelperLineOptions.DontShow;
 
            this.MainMap.LevelsKeepInMemmory = 5;
 
            this.MainMap.Location = new System.Drawing.Point(0, 0);
 
            this.MainMap.MarkersEnabled = true;
 
            this.MainMap.MaxZoom = 17;
 
            this.MainMap.MinZoom = 2;
 
            this.MainMap.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;
 
            this.MainMap.Name = "MainMap";
 
            this.MainMap.NegativeMode = false;
 
            this.MainMap.PolygonsEnabled = true;
 
            this.MainMap.RetryLoadTile = 0;
 
            this.MainMap.RoutesEnabled = true;
 
            this.MainMap.ScaleMode = GMap.NET.WindowsForms.ScaleModes.Integer;
 
            this.MainMap.SelectedAreaFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(65)))), ((int)(((byte)(105)))), ((int)(((byte)(225)))));
 
            this.MainMap.ShowTileGridLines = false;
 
            this.MainMap.Size = new System.Drawing.Size(599, 684);
 
            this.MainMap.TabIndex = 0;
 
            this.MainMap.Zoom = 0D;
 
            // 
 
            // splitter1
 
            // 
 
            this.splitter1.BackColor = System.Drawing.Color.Transparent;
 
            this.splitter1.Dock = System.Windows.Forms.DockStyle.Right;
 
            this.splitter1.Enabled = false;
 
            this.splitter1.Location = new System.Drawing.Point(597, 0);
 
            this.splitter1.Margin = new System.Windows.Forms.Padding(2);
 
            this.splitter1.MinExtra = 390;
 
            this.splitter1.MinSize = 390;
 
            this.splitter1.Name = "splitter1";
 
            this.splitter1.Size = new System.Drawing.Size(2, 684);
 
            this.splitter1.TabIndex = 42;
 
            this.splitter1.TabStop = false;
 
            // 
 
            // panelMenu
 
            // 
 
            this.panelMenu.AssociatedSplitter = this.splitter1;
 
            this.panelMenu.BackColor = System.Drawing.Color.Transparent;
 
            this.panelMenu.CaptionFont = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.panelMenu.CaptionHeight = 27;
 
            this.panelMenu.Controls.Add(this.xPanderPanelList1);
 
            this.panelMenu.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
 
            this.panelMenu.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.panelMenu.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
 
            this.panelMenu.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.panelMenu.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.panelMenu.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.panelMenu.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.CollapsedCaptionText = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.CustomColors.ContentGradientBegin = System.Drawing.SystemColors.ButtonFace;
 
            this.panelMenu.CustomColors.ContentGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.panelMenu.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
 
            this.panelMenu.Dock = System.Windows.Forms.DockStyle.Right;
 
            this.panelMenu.ForeColor = System.Drawing.SystemColors.ControlText;
 
            this.panelMenu.Image = null;
 
            this.panelMenu.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
 
            this.panelMenu.Location = new System.Drawing.Point(599, 0);
 
            this.panelMenu.Margin = new System.Windows.Forms.Padding(2);
 
            this.panelMenu.MinimumSize = new System.Drawing.Size(27, 27);
 
            this.panelMenu.Name = "panelMenu";
 
            this.panelMenu.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.panelMenu.ShowExpandIcon = true;
 
            this.panelMenu.Size = new System.Drawing.Size(258, 684);
 
            this.panelMenu.TabIndex = 40;
 
            this.panelMenu.Text = "Menu";
 
            this.panelMenu.ToolTipTextCloseIcon = null;
 
            this.panelMenu.ToolTipTextExpandIconPanelCollapsed = "maximize";
 
            this.panelMenu.ToolTipTextExpandIconPanelExpanded = "minimize";
 
            // 
 
            // xPanderPanelList1
 
            // 
 
            this.xPanderPanelList1.CaptionStyle = BSE.Windows.Forms.CaptionStyle.Flat;
 
            this.xPanderPanelList1.Controls.Add(this.xPanderPanelMain);
 
            this.xPanderPanelList1.Controls.Add(this.xPanderPanelInfo);
 
            this.xPanderPanelList1.Controls.Add(this.xPanderPanelCache);
 
            this.xPanderPanelList1.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.xPanderPanelList1.GradientBackground = System.Drawing.Color.Empty;
 
            this.xPanderPanelList1.Location = new System.Drawing.Point(0, 28);
 
            this.xPanderPanelList1.Margin = new System.Windows.Forms.Padding(2);
 
            this.xPanderPanelList1.Name = "xPanderPanelList1";
 
            this.xPanderPanelList1.PanelColors = null;
 
            this.xPanderPanelList1.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.xPanderPanelList1.ShowExpandIcon = true;
 
            this.xPanderPanelList1.Size = new System.Drawing.Size(258, 655);
 
            this.xPanderPanelList1.TabIndex = 0;
 
            this.xPanderPanelList1.Text = "xPanderPanelList1";
 
            // 
 
            // xPanderPanelMain
 
            // 
 
            this.xPanderPanelMain.CaptionFont = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold);
 
            this.xPanderPanelMain.Controls.Add(this.tableLayoutPanel4);
 
            this.xPanderPanelMain.CustomColors.BackColor = System.Drawing.SystemColors.Control;
 
            this.xPanderPanelMain.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
 
            this.xPanderPanelMain.CustomColors.CaptionCheckedGradientBegin = System.Drawing.Color.Empty;
 
            this.xPanderPanelMain.CustomColors.CaptionCheckedGradientEnd = System.Drawing.Color.Empty;
 
            this.xPanderPanelMain.CustomColors.CaptionCheckedGradientMiddle = System.Drawing.Color.Empty;
 
            this.xPanderPanelMain.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelMain.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
 
            this.xPanderPanelMain.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelMain.CustomColors.CaptionPressedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionPressedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionPressedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionSelectedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelMain.CustomColors.CaptionSelectedText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.CustomColors.FlatCaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelMain.CustomColors.FlatCaptionGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelMain.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
 
            this.xPanderPanelMain.Expand = true;
 
            this.xPanderPanelMain.ForeColor = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelMain.Image = null;
 
            this.xPanderPanelMain.IsClosable = false;
 
            this.xPanderPanelMain.Margin = new System.Windows.Forms.Padding(2);
 
            this.xPanderPanelMain.Name = "xPanderPanelMain";
 
            this.xPanderPanelMain.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.xPanderPanelMain.Size = new System.Drawing.Size(258, 605);
 
            this.xPanderPanelMain.TabIndex = 0;
 
            this.xPanderPanelMain.Text = "map";
 
            this.xPanderPanelMain.ToolTipTextCloseIcon = null;
 
            this.xPanderPanelMain.ToolTipTextExpandIconPanelCollapsed = null;
 
            this.xPanderPanelMain.ToolTipTextExpandIconPanelExpanded = null;
 
            this.xPanderPanelMain.Click += new System.EventHandler(this.xPanderPanel1_Click);
 
            // 
 
            // tableLayoutPanel4
 
            // 
 
            this.tableLayoutPanel4.ColumnCount = 2;
 
            this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 48F));
 
            this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 49.27536F));
 
            this.tableLayoutPanel4.Controls.Add(this.tableLayoutPanel5, 1, 0);
 
            this.tableLayoutPanel4.Controls.Add(this.tableLayoutPanel6, 0, 0);
 
            this.tableLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel4.Location = new System.Drawing.Point(1, 25);
 
            this.tableLayoutPanel4.Margin = new System.Windows.Forms.Padding(2);
 
            this.tableLayoutPanel4.Name = "tableLayoutPanel4";
 
            this.tableLayoutPanel4.RowCount = 1;
 
            this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel4.Size = new System.Drawing.Size(256, 580);
 
            this.tableLayoutPanel4.TabIndex = 38;
 
            // 
 
            // tableLayoutPanel5
 
            // 
 
            this.tableLayoutPanel5.ColumnCount = 1;
 
            this.tableLayoutPanel5.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel5.Controls.Add(this.gboxRemove, 0, 3);
 
            this.tableLayoutPanel5.Controls.Add(this.gboxMapItems, 0, 2);
 
            this.tableLayoutPanel5.Controls.Add(this.gboxGmap, 0, 1);
 
            this.tableLayoutPanel5.Controls.Add(this.gboxCoordinates, 0, 0);
 
            this.tableLayoutPanel5.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel5.Location = new System.Drawing.Point(48, 0);
 
            this.tableLayoutPanel5.Margin = new System.Windows.Forms.Padding(0, 0, 2, 2);
 
            this.tableLayoutPanel5.Name = "tableLayoutPanel5";
 
            this.tableLayoutPanel5.RowCount = 5;
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 6F));
 
            this.tableLayoutPanel5.Size = new System.Drawing.Size(206, 578);
 
            this.tableLayoutPanel5.TabIndex = 30;
 
            // 
 
            // gboxRemove
 
            // 
 
            this.gboxRemove.AutoSize = true;
 
            this.gboxRemove.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
 
            this.gboxRemove.Controls.Add(this.btnClearAll);
 
            this.gboxRemove.Controls.Add(this.btnClearMarkers);
 
            this.gboxRemove.Controls.Add(this.btnClearRoutes);
 
            this.gboxRemove.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.gboxRemove.Location = new System.Drawing.Point(3, 495);
 
            this.gboxRemove.Name = "gboxRemove";
 
            this.gboxRemove.Size = new System.Drawing.Size(200, 91);
 
            this.gboxRemove.TabIndex = 37;
 
            this.gboxRemove.TabStop = false;
 
            this.gboxRemove.Text = "Remove Map Item";
 
            // 
 
            // btnClearAll
 
            // 
 
            this.btnClearAll.Location = new System.Drawing.Point(9, 49);
 
            this.btnClearAll.Name = "btnClearAll";
 
            this.btnClearAll.Size = new System.Drawing.Size(75, 23);
 
            this.btnClearAll.TabIndex = 46;
 
            this.btnClearAll.Text = "Clear All";
 
            this.btnClearAll.UseVisualStyleBackColor = true;
 
            this.btnClearAll.Click += new System.EventHandler(this.btnClearAll_Click);
 
            // 
 
            // btnClearMarkers
 
            // 
 
            this.btnClearMarkers.AutoSize = true;
 
            this.btnClearMarkers.Location = new System.Drawing.Point(68, 19);
 
            this.btnClearMarkers.Name = "btnClearMarkers";
 
            this.btnClearMarkers.Size = new System.Drawing.Size(63, 24);
 
            this.btnClearMarkers.TabIndex = 13;
 
            this.btnClearMarkers.Text = "Markers";
 
            this.btnClearMarkers.UseVisualStyleBackColor = true;
 
            this.btnClearMarkers.Click += new System.EventHandler(this.btnClearMarkers_Click);
 
            // 
 
            // btnClearRoutes
 
            // 
 
            this.btnClearRoutes.AutoSize = true;
 
            this.btnClearRoutes.Location = new System.Drawing.Point(9, 19);
 
            this.btnClearRoutes.Name = "btnClearRoutes";
 
            this.btnClearRoutes.Size = new System.Drawing.Size(55, 24);
 
            this.btnClearRoutes.TabIndex = 34;
 
            this.btnClearRoutes.Text = "Routes";
 
            this.btnClearRoutes.UseVisualStyleBackColor = true;
 
            this.btnClearRoutes.Click += new System.EventHandler(this.btnClearRoutes_Click);
 
            // 
 
            // gboxMapItems
 
            // 
 
            this.gboxMapItems.AutoSize = true;
 
            this.gboxMapItems.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
 
            this.gboxMapItems.Controls.Add(this.buttonExportToGpx);
 
            this.gboxMapItems.Controls.Add(this.xboxPlacemarkInfo);
 
            this.gboxMapItems.Controls.Add(this.MobileLogTo);
 
            this.gboxMapItems.Controls.Add(this.MobileLogFrom);
 
            this.gboxMapItems.Controls.Add(this.btnMobileLog);
 
            this.gboxMapItems.Controls.Add(this.btnAddMarker);
 
            this.gboxMapItems.Controls.Add(this.btnSetEnd);
 
            this.gboxMapItems.Controls.Add(this.btnSetStart);
 
            this.gboxMapItems.Controls.Add(this.btnAddRoute);
 
            this.gboxMapItems.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.gboxMapItems.Location = new System.Drawing.Point(3, 322);
 
            this.gboxMapItems.Name = "gboxMapItems";
 
            this.gboxMapItems.Size = new System.Drawing.Size(200, 167);
 
            this.gboxMapItems.TabIndex = 35;
 
            this.gboxMapItems.TabStop = false;
 
            this.gboxMapItems.Text = "Add Map Item";
 
            // 
 
            // buttonExportToGpx
 
            // 
 
            this.buttonExportToGpx.Location = new System.Drawing.Point(124, 78);
 
            this.buttonExportToGpx.Margin = new System.Windows.Forms.Padding(2);
 
            this.buttonExportToGpx.Name = "buttonExportToGpx";
 
            this.buttonExportToGpx.Size = new System.Drawing.Size(37, 37);
 
            this.buttonExportToGpx.TabIndex = 48;
 
            this.buttonExportToGpx.Text = "to GPX";
 
            this.buttonExportToGpx.UseVisualStyleBackColor = true;
 
            this.buttonExportToGpx.Click += new System.EventHandler(this.buttonExportToGpx_Click);
 
            // 
 
            // xboxPlacemarkInfo
 
            // 
 
            this.xboxPlacemarkInfo.AutoSize = true;
 
            this.xboxPlacemarkInfo.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
 
            this.xboxPlacemarkInfo.Checked = true;
 
            this.xboxPlacemarkInfo.CheckState = System.Windows.Forms.CheckState.Checked;
 
            this.xboxPlacemarkInfo.Location = new System.Drawing.Point(97, 129);
 
            this.xboxPlacemarkInfo.Name = "xboxPlacemarkInfo";
 
            this.xboxPlacemarkInfo.Size = new System.Drawing.Size(72, 17);
 
            this.xboxPlacemarkInfo.TabIndex = 14;
 
            this.xboxPlacemarkInfo.Text = "place info";
 
            this.xboxPlacemarkInfo.UseVisualStyleBackColor = true;
 
            // 
 
            // MobileLogTo
 
            // 
 
            this.MobileLogTo.CustomFormat = "yyyy\'.\'MM\'.\'dd HH\':\'mm";
 
            this.MobileLogTo.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
 
            this.MobileLogTo.Location = new System.Drawing.Point(9, 99);
 
            this.MobileLogTo.Margin = new System.Windows.Forms.Padding(2);
 
            this.MobileLogTo.Name = "MobileLogTo";
 
            this.MobileLogTo.ShowCheckBox = true;
 
            this.MobileLogTo.Size = new System.Drawing.Size(110, 20);
 
            this.MobileLogTo.TabIndex = 47;
 
            // 
 
            // MobileLogFrom
 
            // 
 
            this.MobileLogFrom.CustomFormat = "yyyy\'.\'MM\'.\'dd HH\':\'mm";
 
            this.MobileLogFrom.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
 
            this.MobileLogFrom.Location = new System.Drawing.Point(9, 78);
 
            this.MobileLogFrom.Margin = new System.Windows.Forms.Padding(2);
 
            this.MobileLogFrom.Name = "MobileLogFrom";
 
            this.MobileLogFrom.ShowCheckBox = true;
 
            this.MobileLogFrom.Size = new System.Drawing.Size(110, 20);
 
            this.MobileLogFrom.TabIndex = 44;
 
            this.MobileLogFrom.Value = new System.DateTime(2010, 5, 10, 15, 41, 0, 0);
 
            // 
 
            // btnMobileLog
 
            // 
 
            this.btnMobileLog.Location = new System.Drawing.Point(88, 49);
 
            this.btnMobileLog.Name = "btnMobileLog";
 
            this.btnMobileLog.Size = new System.Drawing.Size(73, 24);
 
            this.btnMobileLog.TabIndex = 43;
 
            this.btnMobileLog.Text = "Mobile log...";
 
            this.btnMobileLog.UseVisualStyleBackColor = true;
 
            this.btnMobileLog.Click += new System.EventHandler(this.btnMobileLog_Click);
 
            // 
 
            // btnAddMarker
 
            // 
 
            this.btnAddMarker.Location = new System.Drawing.Point(9, 124);
 
            this.btnAddMarker.Name = "btnAddMarker";
 
            this.btnAddMarker.Size = new System.Drawing.Size(82, 24);
 
            this.btnAddMarker.TabIndex = 12;
 
            this.btnAddMarker.Text = "Add Marker";
 
            this.btnAddMarker.UseVisualStyleBackColor = true;
 
            this.btnAddMarker.Click += new System.EventHandler(this.addUserMarker);
 
            // 
 
            // btnSetEnd
 
            // 
 
            this.btnSetEnd.Location = new System.Drawing.Point(88, 19);
 
            this.btnSetEnd.Name = "btnSetEnd";
 
            this.btnSetEnd.Size = new System.Drawing.Size(73, 24);
 
            this.btnSetEnd.TabIndex = 42;
 
            this.btnSetEnd.Text = "set End";
 
            this.btnSetEnd.UseVisualStyleBackColor = true;
 
            this.btnSetEnd.Click += new System.EventHandler(this.buttonSetEnd_Click);
 
            // 
 
            // btnSetStart
 
            // 
 
            this.btnSetStart.Location = new System.Drawing.Point(9, 19);
 
            this.btnSetStart.Name = "btnSetStart";
 
            this.btnSetStart.Size = new System.Drawing.Size(73, 24);
 
            this.btnSetStart.TabIndex = 41;
 
            this.btnSetStart.Text = "set Start";
 
            this.btnSetStart.UseVisualStyleBackColor = true;
 
            this.btnSetStart.Click += new System.EventHandler(this.buttonSetStart_Click);
 
            // 
 
            // btnAddRoute
 
            // 
 
            this.btnAddRoute.Location = new System.Drawing.Point(9, 49);
 
            this.btnAddRoute.Name = "btnAddRoute";
 
            this.btnAddRoute.Size = new System.Drawing.Size(73, 24);
 
            this.btnAddRoute.TabIndex = 33;
 
            this.btnAddRoute.Text = "Add Route";
 
            this.btnAddRoute.UseVisualStyleBackColor = true;
 
            this.btnAddRoute.Click += new System.EventHandler(this.btnAddRoute_Click);
 
            // 
 
            // gboxGmap
 
            // 
 
            this.gboxGmap.AutoSize = true;
 
            this.gboxGmap.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
 
            this.gboxGmap.Controls.Add(this.btnLoadGPX);
 
            this.gboxGmap.Controls.Add(this.btnGetStatic);
 
            this.gboxGmap.Controls.Add(this.xboxGrid);
 
            this.gboxGmap.Controls.Add(this.btnSaveView);
 
            this.gboxGmap.Controls.Add(this.lblMode);
 
            this.gboxGmap.Controls.Add(this.comboBoxMode);
 
            this.gboxGmap.Controls.Add(this.xboxCanDrag);
 
            this.gboxGmap.Controls.Add(this.xboxCurrentMarker);
 
            this.gboxGmap.Controls.Add(this.lblMapType);
 
            this.gboxGmap.Controls.Add(this.comboBoxMapType);
 
            this.gboxGmap.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.gboxGmap.Location = new System.Drawing.Point(3, 153);
 
            this.gboxGmap.Name = "gboxGmap";
 
            this.gboxGmap.Size = new System.Drawing.Size(200, 163);
 
            this.gboxGmap.TabIndex = 31;
 
            this.gboxGmap.TabStop = false;
 
            this.gboxGmap.Text = "gmap";
 
            // 
 
            // btnLoadGPX
 
            // 
 
            this.btnLoadGPX.Location = new System.Drawing.Point(92, 92);
 
            this.btnLoadGPX.Name = "btnLoadGPX";
 
            this.btnLoadGPX.Size = new System.Drawing.Size(69, 24);
 
            this.btnLoadGPX.TabIndex = 49;
 
            this.btnLoadGPX.Text = "GPX...";
 
            this.btnLoadGPX.UseVisualStyleBackColor = true;
 
            this.btnLoadGPX.Click += new System.EventHandler(this.btnLoadGPX_Click);
 
            // 
 
            // btnGetStatic
 
            // 
 
            this.btnGetStatic.Location = new System.Drawing.Point(9, 121);
 
            this.btnGetStatic.Margin = new System.Windows.Forms.Padding(2);
 
            this.btnGetStatic.Name = "btnGetStatic";
 
            this.btnGetStatic.Size = new System.Drawing.Size(73, 24);
 
            this.btnGetStatic.TabIndex = 41;
 
            this.btnGetStatic.Text = "Get Static";
 
            this.btnGetStatic.UseVisualStyleBackColor = true;
 
            this.btnGetStatic.Click += new System.EventHandler(this.btnGetStatic_Click);
 
            // 
 
            // xboxGrid
 
            // 
 
            this.xboxGrid.AutoSize = true;
 
            this.xboxGrid.Location = new System.Drawing.Point(104, 74);
 
            this.xboxGrid.Margin = new System.Windows.Forms.Padding(2);
 
            this.xboxGrid.Name = "xboxGrid";
 
            this.xboxGrid.Size = new System.Drawing.Size(45, 17);
 
            this.xboxGrid.TabIndex = 40;
 
            this.xboxGrid.Text = "Grid";
 
            this.xboxGrid.UseVisualStyleBackColor = true;
 
            this.xboxGrid.CheckedChanged += new System.EventHandler(this.checkBoxDebug_CheckedChanged);
 
            // 
 
            // btnSaveView
 
            // 
 
            this.btnSaveView.Location = new System.Drawing.Point(92, 121);
 
            this.btnSaveView.Margin = new System.Windows.Forms.Padding(2);
 
            this.btnSaveView.Name = "btnSaveView";
 
            this.btnSaveView.Size = new System.Drawing.Size(69, 24);
 
            this.btnSaveView.TabIndex = 39;
 
            this.btnSaveView.Text = "Save View";
 
            this.btnSaveView.UseVisualStyleBackColor = true;
 
            this.btnSaveView.Click += new System.EventHandler(this.btnSaveView_Click);
 
            // 
 
            // lblMode
 
            // 
 
            this.lblMode.AutoSize = true;
 
            this.lblMode.Location = new System.Drawing.Point(132, 49);
 
            this.lblMode.Name = "lblMode";
 
            this.lblMode.Size = new System.Drawing.Size(34, 13);
 
            this.lblMode.TabIndex = 38;
 
            this.lblMode.Text = "Mode";
 
            // 
 
            // comboBoxMode
 
            // 
 
            this.comboBoxMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 
            this.comboBoxMode.FormattingEnabled = true;
 
            this.comboBoxMode.Location = new System.Drawing.Point(8, 46);
 
            this.comboBoxMode.Name = "comboBoxMode";
 
            this.comboBoxMode.Size = new System.Drawing.Size(123, 21);
 
            this.comboBoxMode.TabIndex = 37;
 
            this.comboBoxMode.DropDownClosed += new System.EventHandler(this.comboBoxMode_DropDownClosed);
 
            // 
 
            // xboxCanDrag
 
            // 
 
            this.xboxCanDrag.AutoSize = true;
 
            this.xboxCanDrag.Checked = true;
 
            this.xboxCanDrag.CheckState = System.Windows.Forms.CheckState.Checked;
 
            this.xboxCanDrag.Location = new System.Drawing.Point(9, 95);
 
            this.xboxCanDrag.Name = "xboxCanDrag";
 
            this.xboxCanDrag.Size = new System.Drawing.Size(73, 17);
 
            this.xboxCanDrag.TabIndex = 36;
 
            this.xboxCanDrag.Text = "Drag Map";
 
            this.xboxCanDrag.UseVisualStyleBackColor = true;
 
            this.xboxCanDrag.CheckedChanged += new System.EventHandler(this.checkBoxCanDrag_CheckedChanged);
 
            // 
 
            // xboxCurrentMarker
 
            // 
 
            this.xboxCurrentMarker.AutoSize = true;
 
            this.xboxCurrentMarker.Checked = true;
 
            this.xboxCurrentMarker.CheckState = System.Windows.Forms.CheckState.Checked;
 
            this.xboxCurrentMarker.Location = new System.Drawing.Point(9, 73);
 
            this.xboxCurrentMarker.Name = "xboxCurrentMarker";
 
            this.xboxCurrentMarker.Size = new System.Drawing.Size(96, 17);
 
            this.xboxCurrentMarker.TabIndex = 35;
 
            this.xboxCurrentMarker.Text = "Current Marker";
 
            this.xboxCurrentMarker.UseVisualStyleBackColor = true;
 
            this.xboxCurrentMarker.CheckedChanged += new System.EventHandler(this.checkBoxCurrentMarker_CheckedChanged);
 
            // 
 
            // lblMapType
 
            // 
 
            this.lblMapType.AutoSize = true;
 
            this.lblMapType.Location = new System.Drawing.Point(132, 22);
 
            this.lblMapType.Name = "lblMapType";
 
            this.lblMapType.Size = new System.Drawing.Size(55, 13);
 
            this.lblMapType.TabIndex = 31;
 
            this.lblMapType.Text = "Map Type";
 
            // 
 
            // comboBoxMapType
 
            // 
 
            this.comboBoxMapType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 
            this.comboBoxMapType.FormattingEnabled = true;
 
            this.comboBoxMapType.Location = new System.Drawing.Point(8, 19);
 
            this.comboBoxMapType.Name = "comboBoxMapType";
 
            this.comboBoxMapType.Size = new System.Drawing.Size(123, 21);
 
            this.comboBoxMapType.TabIndex = 9;
 
            this.comboBoxMapType.DropDownClosed += new System.EventHandler(this.comboBoxMapType_DropDownClosed);
 
            // 
 
            // gboxCoordinates
 
            // 
 
            this.gboxCoordinates.AutoSize = true;
 
            this.gboxCoordinates.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
 
            this.gboxCoordinates.Controls.Add(this.btnZoomCenter);
 
            this.gboxCoordinates.Controls.Add(this.btnReload);
 
            this.gboxCoordinates.Controls.Add(this.btnGoToCoords);
 
            this.gboxCoordinates.Controls.Add(this.lblLng);
 
            this.gboxCoordinates.Controls.Add(this.cboxCollectData);
 
            this.gboxCoordinates.Controls.Add(this.lblLat);
 
            this.gboxCoordinates.Controls.Add(this.textBoxLng);
 
            this.gboxCoordinates.Controls.Add(this.textBoxLat);
 
            this.gboxCoordinates.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.gboxCoordinates.Location = new System.Drawing.Point(3, 3);
 
            this.gboxCoordinates.Name = "gboxCoordinates";
 
            this.gboxCoordinates.Size = new System.Drawing.Size(200, 144);
 
            this.gboxCoordinates.TabIndex = 28;
 
            this.gboxCoordinates.TabStop = false;
 
            this.gboxCoordinates.Text = "coordinates";
 
            // 
 
            // btnZoomCenter
 
            // 
 
            this.btnZoomCenter.Location = new System.Drawing.Point(84, 71);
 
            this.btnZoomCenter.Name = "btnZoomCenter";
 
            this.btnZoomCenter.Size = new System.Drawing.Size(82, 24);
 
            this.btnZoomCenter.TabIndex = 15;
 
            this.btnZoomCenter.Text = "Zoom Center";
 
            this.btnZoomCenter.UseVisualStyleBackColor = true;
 
            this.btnZoomCenter.Click += new System.EventHandler(this.button7_Click);
 
            // 
 
            // btnReload
 
            // 
 
            this.btnReload.Location = new System.Drawing.Point(6, 101);
 
            this.btnReload.Name = "btnReload";
 
            this.btnReload.Size = new System.Drawing.Size(74, 24);
 
            this.btnReload.TabIndex = 9;
 
            this.btnReload.Text = "Reload";
 
            this.btnReload.UseVisualStyleBackColor = true;
 
            this.btnReload.Click += new System.EventHandler(this.btnReload_Click);
 
            // 
 
            // btnGoToCoords
 
            // 
 
            this.btnGoToCoords.Location = new System.Drawing.Point(6, 71);
 
            this.btnGoToCoords.Name = "btnGoToCoords";
 
            this.btnGoToCoords.Size = new System.Drawing.Size(72, 24);
 
            this.btnGoToCoords.TabIndex = 8;
 
            this.btnGoToCoords.Text = "GoTo !";
 
            this.btnGoToCoords.UseVisualStyleBackColor = true;
 
            this.btnGoToCoords.Click += new System.EventHandler(this.btnGoToCoords_Click);
 
            // 
 
            // lblLng
 
            // 
 
            this.lblLng.AutoSize = true;
 
            this.lblLng.Location = new System.Drawing.Point(135, 48);
 
            this.lblLng.Name = "lblLng";
 
            this.lblLng.Size = new System.Drawing.Size(54, 13);
 
            this.lblLng.TabIndex = 3;
 
            this.lblLng.Text = "Longitude";
 
            // 
 
            // cboxCollectData
 
            // 
 
            this.cboxCollectData.AutoSize = true;
 
            this.cboxCollectData.Location = new System.Drawing.Point(86, 106);
 
            this.cboxCollectData.Name = "cboxCollectData";
 
            this.cboxCollectData.Size = new System.Drawing.Size(84, 17);
 
            this.cboxCollectData.TabIndex = 38;
 
            this.cboxCollectData.Text = "Collect Data";
 
            this.cboxCollectData.UseVisualStyleBackColor = true;
 
            // 
 
            // lblLat
 
            // 
 
            this.lblLat.AutoSize = true;
 
            this.lblLat.Location = new System.Drawing.Point(135, 22);
 
            this.lblLat.Name = "lblLat";
 
            this.lblLat.Size = new System.Drawing.Size(45, 13);
 
            this.lblLat.TabIndex = 2;
 
            this.lblLat.Text = "Latitude";
 
            // 
 
            // textBoxLng
 
            // 
 
            this.textBoxLng.Location = new System.Drawing.Point(9, 45);
 
            this.textBoxLng.Name = "textBoxLng";
 
            this.textBoxLng.Size = new System.Drawing.Size(122, 20);
 
            this.textBoxLng.TabIndex = 1;
 
            this.textBoxLng.Text = "-83.809848";
 
            // 
 
            // textBoxLat
 
            // 
 
            this.textBoxLat.Location = new System.Drawing.Point(9, 19);
 
            this.textBoxLat.Name = "textBoxLat";
 
            this.textBoxLat.Size = new System.Drawing.Size(122, 20);
 
            this.textBoxLat.TabIndex = 0;
 
            this.textBoxLat.Text = "39.751248";
 
            // 
 
            // tableLayoutPanel6
 
            // 
 
            this.tableLayoutPanel6.ColumnCount = 1;
 
            this.tableLayoutPanel6.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
 
            this.tableLayoutPanel6.Controls.Add(this.btnZoomIn, 0, 0);
 
            this.tableLayoutPanel6.Controls.Add(this.trackBarZoomLevel, 0, 1);
 
            this.tableLayoutPanel6.Controls.Add(this.btnZoomOut, 0, 2);
 
            this.tableLayoutPanel6.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel6.Location = new System.Drawing.Point(2, 2);
 
            this.tableLayoutPanel6.Margin = new System.Windows.Forms.Padding(2);
 
            this.tableLayoutPanel6.Name = "tableLayoutPanel6";
 
            this.tableLayoutPanel6.RowCount = 3;
 
            this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel6.Size = new System.Drawing.Size(44, 576);
 
            this.tableLayoutPanel6.TabIndex = 31;
 
            // 
 
            // btnZoomIn
 
            // 
 
            this.btnZoomIn.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.btnZoomIn.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.btnZoomIn.Location = new System.Drawing.Point(0, 0);
 
            this.btnZoomIn.Margin = new System.Windows.Forms.Padding(0);
 
            this.btnZoomIn.Name = "btnZoomIn";
 
            this.btnZoomIn.Size = new System.Drawing.Size(45, 27);
 
            this.btnZoomIn.TabIndex = 0;
 
            this.btnZoomIn.Text = "+";
 
            this.btnZoomIn.UseVisualStyleBackColor = true;
 
            this.btnZoomIn.Click += new System.EventHandler(this.buttonZoomUp_Click);
 
            // 
 
            // trackBarZoomLevel
 
            // 
 
            this.trackBarZoomLevel.BackColor = System.Drawing.Color.AliceBlue;
 
            this.trackBarZoomLevel.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.trackBarZoomLevel.LargeChange = 1;
 
            this.trackBarZoomLevel.Location = new System.Drawing.Point(0, 27);
 
            this.trackBarZoomLevel.Margin = new System.Windows.Forms.Padding(0);
 
            this.trackBarZoomLevel.Maximum = 1700;
 
            this.trackBarZoomLevel.Minimum = 1;
 
            this.trackBarZoomLevel.Name = "trackBarZoomLevel";
 
            this.trackBarZoomLevel.Orientation = System.Windows.Forms.Orientation.Vertical;
 
            this.trackBarZoomLevel.Size = new System.Drawing.Size(45, 522);
 
            this.trackBarZoomLevel.TabIndex = 29;
 
            this.trackBarZoomLevel.TickFrequency = 100;
 
            this.trackBarZoomLevel.TickStyle = System.Windows.Forms.TickStyle.TopLeft;
 
            this.trackBarZoomLevel.Value = 15;
 
            this.trackBarZoomLevel.ValueChanged += new System.EventHandler(this.trackBar1_ValueChanged);
 
            // 
 
            // btnZoomOut
 
            // 
 
            this.btnZoomOut.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.btnZoomOut.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.btnZoomOut.Location = new System.Drawing.Point(0, 549);
 
            this.btnZoomOut.Margin = new System.Windows.Forms.Padding(0);
 
            this.btnZoomOut.Name = "btnZoomOut";
 
            this.btnZoomOut.Size = new System.Drawing.Size(45, 27);
 
            this.btnZoomOut.TabIndex = 1;
 
            this.btnZoomOut.Text = "-";
 
            this.btnZoomOut.UseVisualStyleBackColor = true;
 
            this.btnZoomOut.Click += new System.EventHandler(this.buttonZoomDown_Click);
 
            // 
 
            // xPanderPanelInfo
 
            // 
 
            this.xPanderPanelInfo.CaptionFont = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold);
 
            this.xPanderPanelInfo.Controls.Add(this.tableLayoutPanel2);
 
            this.xPanderPanelInfo.CustomColors.BackColor = System.Drawing.SystemColors.Control;
 
            this.xPanderPanelInfo.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionCheckedGradientBegin = System.Drawing.Color.Empty;
 
            this.xPanderPanelInfo.CustomColors.CaptionCheckedGradientEnd = System.Drawing.Color.Empty;
 
            this.xPanderPanelInfo.CustomColors.CaptionCheckedGradientMiddle = System.Drawing.Color.Empty;
 
            this.xPanderPanelInfo.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
 
            this.xPanderPanelInfo.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionPressedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionPressedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionPressedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionSelectedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelInfo.CustomColors.CaptionSelectedText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.CustomColors.FlatCaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelInfo.CustomColors.FlatCaptionGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelInfo.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
 
            this.xPanderPanelInfo.ForeColor = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelInfo.Image = null;
 
            this.xPanderPanelInfo.Margin = new System.Windows.Forms.Padding(2);
 
            this.xPanderPanelInfo.Name = "xPanderPanelInfo";
 
            this.xPanderPanelInfo.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.xPanderPanelInfo.Size = new System.Drawing.Size(258, 25);
 
            this.xPanderPanelInfo.TabIndex = 3;
 
            this.xPanderPanelInfo.Text = "info";
 
            this.xPanderPanelInfo.ToolTipTextCloseIcon = null;
 
            this.xPanderPanelInfo.ToolTipTextExpandIconPanelCollapsed = null;
 
            this.xPanderPanelInfo.ToolTipTextExpandIconPanelExpanded = null;
 
            this.xPanderPanelInfo.Click += new System.EventHandler(this.xPanderPanelInfo_Click);
 
            // 
 
            // tableLayoutPanel2
 
            // 
 
            this.tableLayoutPanel2.ColumnCount = 3;
 
            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 15F));
 
            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 15F));
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxZoomCurrent, 1, 7);
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxrouteCount, 1, 11);
 
            this.tableLayoutPanel2.Controls.Add(this.label12, 1, 10);
 
            this.tableLayoutPanel2.Controls.Add(this.label9, 1, 6);
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxLngCurrent, 1, 4);
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxMarkerCount, 1, 9);
 
            this.tableLayoutPanel2.Controls.Add(this.label11, 1, 8);
 
            this.tableLayoutPanel2.Controls.Add(this.label4, 1, 3);
 
            this.tableLayoutPanel2.Controls.Add(this.textBoxLatCurrent, 1, 2);
 
            this.tableLayoutPanel2.Controls.Add(this.label5, 1, 1);
 
            this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel2.Location = new System.Drawing.Point(1, 25);
 
            this.tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(2);
 
            this.tableLayoutPanel2.Name = "tableLayoutPanel2";
 
            this.tableLayoutPanel2.RowCount = 13;
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel2.Size = new System.Drawing.Size(256, 0);
 
            this.tableLayoutPanel2.TabIndex = 14;
 
            // 
 
            // textBoxZoomCurrent
 
            // 
 
            this.textBoxZoomCurrent.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxZoomCurrent.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxZoomCurrent.Location = new System.Drawing.Point(18, 142);
 
            this.textBoxZoomCurrent.Name = "textBoxZoomCurrent";
 
            this.textBoxZoomCurrent.ReadOnly = true;
 
            this.textBoxZoomCurrent.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxZoomCurrent.TabIndex = 8;
 
            this.textBoxZoomCurrent.Text = "15";
 
            // 
 
            // textBoxrouteCount
 
            // 
 
            this.textBoxrouteCount.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxrouteCount.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxrouteCount.Location = new System.Drawing.Point(18, 236);
 
            this.textBoxrouteCount.Name = "textBoxrouteCount";
 
            this.textBoxrouteCount.ReadOnly = true;
 
            this.textBoxrouteCount.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxrouteCount.TabIndex = 12;
 
            this.textBoxrouteCount.Text = "...";
 
            // 
 
            // label12
 
            // 
 
            this.label12.AutoSize = true;
 
            this.label12.Location = new System.Drawing.Point(18, 220);
 
            this.label12.Name = "label12";
 
            this.label12.Size = new System.Drawing.Size(39, 13);
 
            this.label12.TabIndex = 13;
 
            this.label12.Text = "routes:";
 
            // 
 
            // label9
 
            // 
 
            this.label9.AutoSize = true;
 
            this.label9.Location = new System.Drawing.Point(18, 126);
 
            this.label9.Name = "label9";
 
            this.label9.Size = new System.Drawing.Size(35, 13);
 
            this.label9.TabIndex = 9;
 
            this.label9.Text = "zoom:";
 
            // 
 
            // textBoxLngCurrent
 
            // 
 
            this.textBoxLngCurrent.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxLngCurrent.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxLngCurrent.Location = new System.Drawing.Point(18, 79);
 
            this.textBoxLngCurrent.Name = "textBoxLngCurrent";
 
            this.textBoxLngCurrent.ReadOnly = true;
 
            this.textBoxLngCurrent.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxLngCurrent.TabIndex = 5;
 
            this.textBoxLngCurrent.Text = "...";
 
            // 
 
            // textBoxMarkerCount
 
            // 
 
            this.textBoxMarkerCount.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxMarkerCount.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxMarkerCount.Location = new System.Drawing.Point(18, 189);
 
            this.textBoxMarkerCount.Name = "textBoxMarkerCount";
 
            this.textBoxMarkerCount.ReadOnly = true;
 
            this.textBoxMarkerCount.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxMarkerCount.TabIndex = 10;
 
            this.textBoxMarkerCount.Text = "...";
 
            // 
 
            // label11
 
            // 
 
            this.label11.AutoSize = true;
 
            this.label11.Location = new System.Drawing.Point(18, 173);
 
            this.label11.Name = "label11";
 
            this.label11.Size = new System.Drawing.Size(47, 13);
 
            this.label11.TabIndex = 11;
 
            this.label11.Text = "markers:";
 
            // 
 
            // label4
 
            // 
 
            this.label4.AutoSize = true;
 
            this.label4.Location = new System.Drawing.Point(18, 63);
 
            this.label4.Name = "label4";
 
            this.label4.Size = new System.Drawing.Size(24, 13);
 
            this.label4.TabIndex = 7;
 
            this.label4.Text = "lng:";
 
            // 
 
            // textBoxLatCurrent
 
            // 
 
            this.textBoxLatCurrent.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.textBoxLatCurrent.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxLatCurrent.Location = new System.Drawing.Point(18, 32);
 
            this.textBoxLatCurrent.Name = "textBoxLatCurrent";
 
            this.textBoxLatCurrent.ReadOnly = true;
 
            this.textBoxLatCurrent.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxLatCurrent.TabIndex = 4;
 
            this.textBoxLatCurrent.Text = "...";
 
            // 
 
            // label5
 
            // 
 
            this.label5.AutoSize = true;
 
            this.label5.Location = new System.Drawing.Point(18, 16);
 
            this.label5.Name = "label5";
 
            this.label5.Size = new System.Drawing.Size(21, 13);
 
            this.label5.TabIndex = 6;
 
            this.label5.Text = "lat:";
 
            // 
 
            // xPanderPanelCache
 
            // 
 
            this.xPanderPanelCache.CaptionFont = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold);
 
            this.xPanderPanelCache.Controls.Add(this.tableLayoutPanel1);
 
            this.xPanderPanelCache.CustomColors.BackColor = System.Drawing.SystemColors.Control;
 
            this.xPanderPanelCache.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
 
            this.xPanderPanelCache.CustomColors.CaptionCheckedGradientBegin = System.Drawing.Color.Empty;
 
            this.xPanderPanelCache.CustomColors.CaptionCheckedGradientEnd = System.Drawing.Color.Empty;
 
            this.xPanderPanelCache.CustomColors.CaptionCheckedGradientMiddle = System.Drawing.Color.Empty;
 
            this.xPanderPanelCache.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelCache.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
 
            this.xPanderPanelCache.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelCache.CustomColors.CaptionPressedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionPressedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionPressedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionSelectedGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(179)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
 
            this.xPanderPanelCache.CustomColors.CaptionSelectedText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.CustomColors.FlatCaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
 
            this.xPanderPanelCache.CustomColors.FlatCaptionGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
 
            this.xPanderPanelCache.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
 
            this.xPanderPanelCache.ForeColor = System.Drawing.SystemColors.ControlText;
 
            this.xPanderPanelCache.Image = null;
 
            this.xPanderPanelCache.IsClosable = false;
 
            this.xPanderPanelCache.Margin = new System.Windows.Forms.Padding(2);
 
            this.xPanderPanelCache.Name = "xPanderPanelCache";
 
            this.xPanderPanelCache.PanelStyle = BSE.Windows.Forms.PanelStyle.Office2007;
 
            this.xPanderPanelCache.Size = new System.Drawing.Size(258, 25);
 
            this.xPanderPanelCache.TabIndex = 4;
 
            this.xPanderPanelCache.Text = "cache";
 
            this.xPanderPanelCache.ToolTipTextCloseIcon = null;
 
            this.xPanderPanelCache.ToolTipTextExpandIconPanelCollapsed = null;
 
            this.xPanderPanelCache.ToolTipTextExpandIconPanelExpanded = null;
 
            // 
 
            // tableLayoutPanel1
 
            // 
 
            this.tableLayoutPanel1.ColumnCount = 3;
 
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 15F));
 
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
 
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 15F));
 
            this.tableLayoutPanel1.Controls.Add(this.textBoxCacheSize, 1, 12);
 
            this.tableLayoutPanel1.Controls.Add(this.textBoxCacheStatus, 1, 15);
 
            this.tableLayoutPanel1.Controls.Add(this.button10, 1, 1);
 
            this.tableLayoutPanel1.Controls.Add(this.textBoxMemory, 1, 9);
 
            this.tableLayoutPanel1.Controls.Add(this.checkBoxUseRouteCache, 1, 17);
 
            this.tableLayoutPanel1.Controls.Add(this.button9, 1, 2);
 
            this.tableLayoutPanel1.Controls.Add(this.button11, 1, 3);
 
            this.tableLayoutPanel1.Controls.Add(this.label10, 1, 8);
 
            this.tableLayoutPanel1.Controls.Add(this.button2, 1, 5);
 
            this.tableLayoutPanel1.Controls.Add(this.label13, 1, 14);
 
            this.tableLayoutPanel1.Controls.Add(this.label14, 1, 11);
 
            this.tableLayoutPanel1.Controls.Add(this.button17, 1, 6);
 
            this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.tableLayoutPanel1.Location = new System.Drawing.Point(1, 25);
 
            this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(2);
 
            this.tableLayoutPanel1.Name = "tableLayoutPanel1";
 
            this.tableLayoutPanel1.RowCount = 19;
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
 
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
 
            this.tableLayoutPanel1.Size = new System.Drawing.Size(256, 0);
 
            this.tableLayoutPanel1.TabIndex = 41;
 
            // 
 
            // textBoxCacheSize
 
            // 
 
            this.textBoxCacheSize.Dock = System.Windows.Forms.DockStyle.Top;
 
            this.textBoxCacheSize.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxCacheSize.Location = new System.Drawing.Point(18, 238);
 
            this.textBoxCacheSize.Name = "textBoxCacheSize";
 
            this.textBoxCacheSize.ReadOnly = true;
 
            this.textBoxCacheSize.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxCacheSize.TabIndex = 49;
 
            this.textBoxCacheSize.Text = "...";
 
            // 
 
            // textBoxCacheStatus
 
            // 
 
            this.textBoxCacheStatus.Dock = System.Windows.Forms.DockStyle.Top;
 
            this.textBoxCacheStatus.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxCacheStatus.Location = new System.Drawing.Point(18, 301);
 
            this.textBoxCacheStatus.Name = "textBoxCacheStatus";
 
            this.textBoxCacheStatus.ReadOnly = true;
 
            this.textBoxCacheStatus.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxCacheStatus.TabIndex = 46;
 
            this.textBoxCacheStatus.Text = "...";
 
            // 
 
            // button10
 
            // 
 
            this.button10.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.button10.Location = new System.Drawing.Point(18, 19);
 
            this.button10.Name = "button10";
 
            this.button10.Size = new System.Drawing.Size(220, 20);
 
            this.button10.TabIndex = 5;
 
            this.button10.Text = "Import";
 
            this.button10.UseVisualStyleBackColor = true;
 
            // 
 
            // textBoxMemory
 
            // 
 
            this.textBoxMemory.Dock = System.Windows.Forms.DockStyle.Top;
 
            this.textBoxMemory.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 
            this.textBoxMemory.Location = new System.Drawing.Point(18, 175);
 
            this.textBoxMemory.Name = "textBoxMemory";
 
            this.textBoxMemory.ReadOnly = true;
 
            this.textBoxMemory.Size = new System.Drawing.Size(220, 28);
 
            this.textBoxMemory.TabIndex = 39;
 
            this.textBoxMemory.Text = "...";
 
            // 
 
            // checkBoxUseRouteCache
 
            // 
 
            this.checkBoxUseRouteCache.AutoSize = true;
 
            this.checkBoxUseRouteCache.Checked = true;
 
            this.checkBoxUseRouteCache.CheckState = System.Windows.Forms.CheckState.Checked;
 
            this.checkBoxUseRouteCache.Location = new System.Drawing.Point(18, 351);
 
            this.checkBoxUseRouteCache.Name = "checkBoxUseRouteCache";
 
            this.checkBoxUseRouteCache.Size = new System.Drawing.Size(160, 17);
 
            this.checkBoxUseRouteCache.TabIndex = 2;
 
            this.checkBoxUseRouteCache.Text = "cache routing/geocodig/etc";
 
            this.checkBoxUseRouteCache.UseVisualStyleBackColor = true;
 
            // 
 
            // button9
 
            // 
 
            this.button9.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.button9.Location = new System.Drawing.Point(18, 45);
 
            this.button9.Name = "button9";
 
            this.button9.Size = new System.Drawing.Size(220, 20);
 
            this.button9.TabIndex = 4;
 
            this.button9.Text = "Export";
 
            this.button9.UseVisualStyleBackColor = true;
 
            // 
 
            // button11
 
            // 
 
            this.button11.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.button11.Location = new System.Drawing.Point(18, 71);
 
            this.button11.Name = "button11";
 
            this.button11.Size = new System.Drawing.Size(220, 20);
 
            this.button11.TabIndex = 38;
 
            this.button11.Text = "Prefetch selected area";
 
            this.button11.UseVisualStyleBackColor = true;
 
            // 
 
            // label10
 
            // 
 
            this.label10.AutoSize = true;
 
            this.label10.Location = new System.Drawing.Point(18, 159);
 
            this.label10.Name = "label10";
 
            this.label10.Size = new System.Drawing.Size(111, 13);
 
            this.label10.TabIndex = 40;
 
            this.label10.Text = "memory cache usage:";
 
            // 
 
            // button2
 
            // 
 
            this.button2.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.button2.Location = new System.Drawing.Point(18, 97);
 
            this.button2.Name = "button2";
 
            this.button2.Size = new System.Drawing.Size(220, 20);
 
            this.button2.TabIndex = 43;
 
            this.button2.Text = "Clear tiles in disk cache";
 
            this.button2.UseVisualStyleBackColor = true;
 
            // 
 
            // label13
 
            // 
 
            this.label13.AutoSize = true;
 
            this.label13.Location = new System.Drawing.Point(18, 285);
 
            this.label13.Name = "label13";
 
            this.label13.Size = new System.Drawing.Size(93, 13);
 
            this.label13.TabIndex = 44;
 
            this.label13.Text = "disk cache status:";
 
            // 
 
            // label14
 
            // 
 
            this.label14.AutoSize = true;
 
            this.label14.Location = new System.Drawing.Point(18, 222);
 
            this.label14.Name = "label14";
 
            this.label14.Size = new System.Drawing.Size(83, 13);
 
            this.label14.TabIndex = 47;
 
            this.label14.Text = "disk cache size:";
 
            // 
 
            // button17
 
            // 
 
            this.button17.Dock = System.Windows.Forms.DockStyle.Fill;
 
            this.button17.Location = new System.Drawing.Point(17, 122);
 
            this.button17.Margin = new System.Windows.Forms.Padding(2);
 
            this.button17.Name = "button17";
 
            this.button17.Size = new System.Drawing.Size(222, 19);
 
            this.button17.TabIndex = 50;
 
            this.button17.Text = "Open cache location";
 
            this.button17.UseVisualStyleBackColor = true;
 
            // 
 
            // MainForm
 
            // 
 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
 
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
 
            this.BackColor = System.Drawing.Color.AliceBlue;
 
            this.ClientSize = new System.Drawing.Size(895, 863);
 
            this.Controls.Add(this.splitContainer1);
 
            this.KeyPreview = true;
 
            this.MinimumSize = new System.Drawing.Size(554, 105);
 
            this.Name = "MainForm";
 
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
 
            this.Text = "GMap.NET - Great Maps for Windows Forms";
 
            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
 
            this.Load += new System.EventHandler(this.MainForm_Load);
 
            this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.MainForm_KeyPress);
 
            this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
 
            this.tabMap.ResumeLayout(false);
 
            this.panel4.ResumeLayout(false);
 
            this.panel2.ResumeLayout(false);
 
            this.panelMenu.ResumeLayout(false);
 
            this.xPanderPanelList1.ResumeLayout(false);
 
            this.xPanderPanelMain.ResumeLayout(false);
 
            this.tableLayoutPanel4.ResumeLayout(false);
 
            this.tableLayoutPanel5.ResumeLayout(false);
 
            this.tableLayoutPanel5.PerformLayout();
 
            this.gboxRemove.ResumeLayout(false);
 
            this.gboxRemove.PerformLayout();
 
            this.gboxMapItems.ResumeLayout(false);
 
            this.gboxGmap.ResumeLayout(false);
 
            this.gboxGmap.PerformLayout();
 
            this.gboxCoordinates.ResumeLayout(false);
 
            this.gboxCoordinates.PerformLayout();
 
            this.tableLayoutPanel6.ResumeLayout(false);
 
            this.tableLayoutPanel6.PerformLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.trackBarZoomLevel)).EndInit();
 
            this.xPanderPanelInfo.ResumeLayout(false);
 
            this.tableLayoutPanel2.ResumeLayout(false);
 
            this.tableLayoutPanel2.PerformLayout();
 
            this.xPanderPanelCache.ResumeLayout(false);
 
            this.tableLayoutPanel1.ResumeLayout(false);
 
            this.tableLayoutPanel1.PerformLayout();
 
            this.tabControl.ResumeLayout(false);
 
            this.tabGraphs.ResumeLayout(false);
 
            this.pnlDataListDisplay.ResumeLayout(false);
 
            this.pnlDataListDisplay.PerformLayout();
 
            this.ctnParentChartHolder.Panel1.ResumeLayout(false);
 
            this.ctnParentChartHolder.Panel2.ResumeLayout(false);
 
            this.ctnParentChartHolder.ResumeLayout(false);
 
            this.ctnTopChartHolder.Panel1.ResumeLayout(false);
 
            this.ctnTopChartHolder.Panel1.PerformLayout();
 
            this.ctnTopChartHolder.Panel2.ResumeLayout(false);
 
            this.ctnTopChartHolder.Panel2.PerformLayout();
 
            this.ctnTopChartHolder.ResumeLayout(false);
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtTopLeft)).EndInit();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtTopRight)).EndInit();
 
            this.ctnBottomChartHolder.Panel1.ResumeLayout(false);
 
            this.ctnBottomChartHolder.Panel1.PerformLayout();
 
            this.ctnBottomChartHolder.Panel2.ResumeLayout(false);
 
            this.ctnBottomChartHolder.Panel2.PerformLayout();
 
            this.ctnBottomChartHolder.ResumeLayout(false);
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtBottomLeft)).EndInit();
 
            ((System.ComponentModel.ISupportInitialize)(this.chrtBottomRight)).EndInit();
 
            this.tabData.ResumeLayout(false);
 
            this.gboxSlaveData.ResumeLayout(false);
 
            this.gboxSlaveData.PerformLayout();
 
            this.gboxMasterData.ResumeLayout(false);
 
            this.gboxMasterData.PerformLayout();
 
            this.splitContainer1.Panel1.ResumeLayout(false);
 
            this.splitContainer1.Panel2.ResumeLayout(false);
 
            this.splitContainer1.Panel2.PerformLayout();
 
            this.splitContainer1.ResumeLayout(false);
 
            this.panelMenu.ResumeLayout(false);
 
            this.xPanderPanelList1.ResumeLayout(false);
 
            this.xPanderPanelMain.ResumeLayout(false);
 
            this.tableLayoutPanel4.ResumeLayout(false);
 
            this.tableLayoutPanel5.ResumeLayout(false);
 
            this.tableLayoutPanel5.PerformLayout();
 
            this.gboxRemove.ResumeLayout(false);
 
            this.gboxRemove.PerformLayout();
 
            this.gboxMapItems.ResumeLayout(false);
 
            this.gboxMapItems.PerformLayout();
 
            this.gboxGmap.ResumeLayout(false);
 
            this.gboxGmap.PerformLayout();
 
            this.gboxCoordinates.ResumeLayout(false);
 
            this.gboxCoordinates.PerformLayout();
 
            this.tableLayoutPanel6.ResumeLayout(false);
 
            this.tableLayoutPanel6.PerformLayout();
 
            ((System.ComponentModel.ISupportInitialize)(this.trackBarZoomLevel)).EndInit();
 
            this.xPanderPanelInfo.ResumeLayout(false);
 
            this.tableLayoutPanel2.ResumeLayout(false);
 
            this.tableLayoutPanel2.PerformLayout();
 
            this.xPanderPanelCache.ResumeLayout(false);
 
            this.tableLayoutPanel1.ResumeLayout(false);
 
            this.tableLayoutPanel1.PerformLayout();
 
            this.ResumeLayout(false);
 
 
      }
 
 
      #endregion
 
 
      private System.Windows.Forms.TabPage tabMap;
 
      private System.Windows.Forms.Panel panel4;
 
      private System.Windows.Forms.Panel panel2;
 
      internal Map MainMap;
 
      private BSE.Windows.Forms.Splitter splitter1;
 
      private BSE.Windows.Forms.Panel panelMenu;
 
      private BSE.Windows.Forms.XPanderPanelList xPanderPanelList1;
 
      private BSE.Windows.Forms.XPanderPanel xPanderPanelMain;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel5;
 
      private System.Windows.Forms.GroupBox gboxRemove;
 
      private System.Windows.Forms.Button btnZoomCenter;
 
      private System.Windows.Forms.CheckBox xboxPlacemarkInfo;
 
      private System.Windows.Forms.Button btnClearMarkers;
 
      private System.Windows.Forms.Button btnAddMarker;
 
      private System.Windows.Forms.GroupBox gboxMapItems;
 
      private System.Windows.Forms.Button buttonExportToGpx;
 
      private System.Windows.Forms.DateTimePicker MobileLogTo;
 
      private System.Windows.Forms.DateTimePicker MobileLogFrom;
 
      private System.Windows.Forms.Button btnMobileLog;
 
      private System.Windows.Forms.Button btnSetEnd;
 
      private System.Windows.Forms.Button btnSetStart;
 
      private System.Windows.Forms.Button btnClearRoutes;
 
      private System.Windows.Forms.Button btnAddRoute;
 
      private System.Windows.Forms.GroupBox gboxGmap;
 
      private System.Windows.Forms.Button btnLoadGPX;
 
      private System.Windows.Forms.Button btnGetStatic;
 
      private System.Windows.Forms.CheckBox xboxGrid;
 
      private System.Windows.Forms.Button btnSaveView;
 
      private System.Windows.Forms.Label lblMode;
 
      private System.Windows.Forms.ComboBox comboBoxMode;
 
      private System.Windows.Forms.CheckBox xboxCanDrag;
 
      private System.Windows.Forms.CheckBox xboxCurrentMarker;
 
      private System.Windows.Forms.Label lblMapType;
 
      private System.Windows.Forms.ComboBox comboBoxMapType;
 
      private System.Windows.Forms.GroupBox gboxCoordinates;
 
      private System.Windows.Forms.Button btnReload;
 
      private System.Windows.Forms.Button btnGoToCoords;
 
      private System.Windows.Forms.Label lblLng;
 
      private System.Windows.Forms.Label lblLat;
 
      private System.Windows.Forms.TextBox textBoxLng;
 
      private System.Windows.Forms.TextBox textBoxLat;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel6;
 
      private System.Windows.Forms.Button btnZoomIn;
 
      private System.Windows.Forms.TrackBar trackBarZoomLevel;
 
      private System.Windows.Forms.Button btnZoomOut;
 
      private BSE.Windows.Forms.XPanderPanel xPanderPanelInfo;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
 
      private System.Windows.Forms.TextBox textBoxZoomCurrent;
 
      private System.Windows.Forms.TextBox textBoxrouteCount;
 
      private System.Windows.Forms.Label label12;
 
      private System.Windows.Forms.Label label9;
 
      private System.Windows.Forms.TextBox textBoxLngCurrent;
 
      private System.Windows.Forms.TextBox textBoxMarkerCount;
 
      private System.Windows.Forms.Label label11;
 
      private System.Windows.Forms.Label label4;
 
      private System.Windows.Forms.TextBox textBoxLatCurrent;
 
      private System.Windows.Forms.Label label5;
 
      private BSE.Windows.Forms.XPanderPanel xPanderPanelCache;
 
      private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
 
      private System.Windows.Forms.TextBox textBoxCacheSize;
 
      private System.Windows.Forms.TextBox textBoxCacheStatus;
 
      private System.Windows.Forms.Button button10;
 
      private System.Windows.Forms.Button btnCacheImport;
 
      private System.Windows.Forms.TextBox textBoxMemory;
 
      private System.Windows.Forms.CheckBox checkBoxUseRouteCache;
 
      private System.Windows.Forms.Button button9;
 
      private System.Windows.Forms.Button button11;
 
      private System.Windows.Forms.Button btnCacheExport;
 
      private System.Windows.Forms.Button btnCachePrefetch;
 
      private System.Windows.Forms.Label label10;
 
      private System.Windows.Forms.Button button2;
 
      private System.Windows.Forms.Button btnCacheClear;
 
      private System.Windows.Forms.Label label13;
 
      private System.Windows.Forms.Label label14;
 
      private System.Windows.Forms.Button button17;
 
      private System.Windows.Forms.Button btnCacheLocationOpen;
 
      private System.Windows.Forms.TabControl tabControl;
 
      private System.Windows.Forms.TabPage tabGraphs;
 
      private System.Windows.Forms.Panel pnlDataListDisplay;
 
      private System.Windows.Forms.Button btnTest;
 
      internal System.Windows.Forms.TextBox tboxChartData;
 
      internal System.Windows.Forms.Label lblChartData;
 
      internal System.Windows.Forms.TextBox tboxCurrent;
 
      internal System.Windows.Forms.Label lblCurrent;
 
      internal System.Windows.Forms.TextBox tboxMin;
 
      internal System.Windows.Forms.Label lblAverage;
 
      internal System.Windows.Forms.TextBox tboxMax;
 
      internal System.Windows.Forms.Label lblMax;
 
      internal System.Windows.Forms.TextBox tboxAverage;
 
      internal System.Windows.Forms.Label lblMin;
 
      private System.Windows.Forms.SplitContainer ctnParentChartHolder;
 
      private System.Windows.Forms.SplitContainer ctnTopChartHolder;
 
      private System.Windows.Forms.Label lblTopLeftChartTitle;
 
      private System.Windows.Forms.DataVisualization.Charting.Chart chrtTopLeft;
 
      private System.Windows.Forms.Label lblTopRightChartTitle;
 
      private System.Windows.Forms.DataVisualization.Charting.Chart chrtTopRight;
 
      private System.Windows.Forms.SplitContainer ctnBottomChartHolder;
 
      private System.Windows.Forms.Label lblBottomLeftChartTitle;
 
      private System.Windows.Forms.DataVisualization.Charting.Chart chrtBottomLeft;
 
      private System.Windows.Forms.Label lblBottomRightChartTitle;
Demo.WindowsForms/Forms/MainForm.cs
Show inline comments
 
using System;
 
using System.Collections.Generic;
 
using System.ComponentModel;
 
using System.Diagnostics;
 
using System.Drawing;
 
using System.Drawing.Drawing2D;
 
using System.Globalization;
 
using System.IO;
 
using System.Net;
 
using System.Net.NetworkInformation;
 
using System.Threading;
 
using System.Windows.Forms;
 
using System.Xml;
 
using Demo.WindowsForms.CustomMarkers;
 
using GMap.NET;
 
using GMap.NET.MapProviders;
 
using GMap.NET.WindowsForms;
 
using GMap.NET.WindowsForms.Markers;
 
using GMap.NET.WindowsForms.ToolTips;
 
using System.IO.Ports;
 
using System.Data;
 
using System.Text;
 
//using System.Linq;
 
 
namespace Demo.WindowsForms
 
{
 
    public partial class MainForm : Form
 
    {
 
        // layers
 
        readonly GMapOverlay top = new GMapOverlay();
 
        internal readonly GMapOverlay objects = new GMapOverlay("objects");
 
        internal readonly GMapOverlay routes = new GMapOverlay("routes");
 
        //internal readonly GMapOverlay polygons = new GMapOverlay("polygons");
 
 
        // marker
 
        // current marker
 
        GMarkerGoogle currentMarker;
 
 
        // polygons
 
        //GMapPolygon polygon;
 
 
        // etc
 
        readonly Random rnd = new Random();
 
        readonly DescendingComparer ComparerIpStatus = new DescendingComparer();
 
        GMapMarkerRect CurentRectMarker = null;
 
        string mobileGpsLog = string.Empty;
 
        bool isMouseDown = false;
 
        PointLatLng start;
 
        PointLatLng end;
 
        TimeSpan unixTime;
 
        GMapRoute currentRoute = null;
 
        bool UserAcceptedLicenseOnce = false;
 
 
        public MainForm()
 
        {
 
            InitializeComponent();
 
            unixTime = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0));
 
 
            if (!DesignMode)
 
            {
 
                // add your custom map db provider
 
                //GMap.NET.CacheProviders.MySQLPureImageCache ch = new GMap.NET.CacheProviders.MySQLPureImageCache();
 
                //ch.ConnectionString = @"server=sql2008;User Id=trolis;Persist Security Info=True;database=gmapnetcache;password=trolis;";
 
                //MainMap.Manager.SecondaryCache = ch;
 
 
                // set your proxy here if need
 
                //GMapProvider.WebProxy = new WebProxy("10.2.0.100", 8080);
 
                //GMapProvider.WebProxy.Credentials = new NetworkCredential("ogrenci@bilgeadam.com", "bilgeada");
 
 
                // set cache mode only if no internet avaible
 
                if (!Stuff.PingNetwork("pingtest.net"))
 
                {
 
                    MainMap.Manager.Mode = AccessMode.CacheOnly;
 
                    MessageBox.Show("No internet connection available, going to CacheOnly mode.", "GMap.NET - Demo.WindowsForms", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 
                }
 
 
                // config map - MDKEdit - init values ??
 
                MainMap.MapProvider = GMapProviders.OpenStreetMap;
 
                MainMap.Position = new PointLatLng(39.751248, -83.809848);
 
                MainMap.MinZoom = 0;
 
                MainMap.MaxZoom = 24;
 
                MainMap.Zoom = 15;
 
 
                //MainMap.ScaleMode = ScaleModes.Fractional;
 
 
                // map events
 
                {
 
                    MainMap.OnPositionChanged += new PositionChanged(MainMap_OnPositionChanged);
 
                    //MainMap.OnPositionChanged += new PositionChanged(MainMap_OnPositionChanged);
 
 
                    MainMap.OnTileLoadStart += new TileLoadStart(MainMap_OnTileLoadStart);
 
                    MainMap.OnTileLoadComplete += new TileLoadComplete(MainMap_OnTileLoadComplete);
 
 
                    MainMap.OnMapZoomChanged += new MapZoomChanged(MainMap_OnMapZoomChanged);
 
                    MainMap.OnMapTypeChanged += new MapTypeChanged(MainMap_OnMapTypeChanged);
 
 
                    MainMap.OnMarkerClick += new MarkerClick(MainMap_OnMarkerClick);
 
                    MainMap.OnMarkerEnter += new MarkerEnter(MainMap_OnMarkerEnter);
 
                    MainMap.OnMarkerLeave += new MarkerLeave(MainMap_OnMarkerLeave);
 
 
                    MainMap.OnPolygonEnter += new PolygonEnter(MainMap_OnPolygonEnter);
 
                    MainMap.OnPolygonLeave += new PolygonLeave(MainMap_OnPolygonLeave);
 
                    //MainMap.OnPolygonEnter += new PolygonEnter(MainMap_OnPolygonEnter);
 
                    //MainMap.OnPolygonLeave += new PolygonLeave(MainMap_OnPolygonLeave);
 
 
                    MainMap.OnRouteEnter += new RouteEnter(MainMap_OnRouteEnter);
 
                    MainMap.OnRouteLeave += new RouteLeave(MainMap_OnRouteLeave);
 
 
                    MainMap.Manager.OnTileCacheComplete += new TileCacheComplete(OnTileCacheComplete);
 
                    MainMap.Manager.OnTileCacheStart += new TileCacheStart(OnTileCacheStart);
 
                    MainMap.Manager.OnTileCacheProgress += new TileCacheProgress(OnTileCacheProgress);
 
                }
 
 
                MainMap.MouseMove += new MouseEventHandler(MainMap_MouseMove);
 
                MainMap.MouseDown += new MouseEventHandler(MainMap_MouseDown);
 
                MainMap.MouseUp += new MouseEventHandler(MainMap_MouseUp);
 
                MainMap.MouseDoubleClick += new MouseEventHandler(MainMap_MouseDoubleClick);
 
                //MainMap.MouseDoubleClick += new MouseEventHandler(MainMap_MouseDoubleClick);
 
 
                // get map types
 
#if !MONO   // mono doesn't handle it, so we 'lost' provider list ;]
 
                comboBoxMapType.ValueMember = "Name";
 
                comboBoxMapType.DataSource = GMapProviders.List;
 
                comboBoxMapType.SelectedItem = MainMap.MapProvider;
 
#endif
 
                // acccess mode
 
                comboBoxMode.DataSource = Enum.GetValues(typeof(AccessMode));
 
                comboBoxMode.SelectedItem = MainMap.Manager.Mode;
 
 
                // get position
 
                textBoxLat.Text = MainMap.Position.Lat.ToString(CultureInfo.InvariantCulture);
 
                textBoxLng.Text = MainMap.Position.Lng.ToString(CultureInfo.InvariantCulture);
 
 
                // get cache modes
 
                checkBoxUseRouteCache.Checked = MainMap.Manager.UseRouteCache;
 
 
                MobileLogFrom.Value = DateTime.Today;
 
                MobileLogTo.Value = DateTime.Now;
 
 
                // get zoom  
 
                trackBarZoomLevel.Minimum = MainMap.MinZoom * 100;
 
                trackBarZoomLevel.Maximum = MainMap.MaxZoom * 100;
 
                trackBarZoomLevel.TickFrequency = 100;
 
 
#if DEBUG
 
                xboxGrid.Checked = true;
 
#endif
 
 
                ToolStripManager.Renderer = new BSE.Windows.Forms.Office2007Renderer();
 
 
                #region -- demo workers --
 
                //// flight demo
 
                //{
 
                //    flightWorker.DoWork += new DoWorkEventHandler(flight_DoWork);
 
                //    flightWorker.ProgressChanged += new ProgressChangedEventHandler(flight_ProgressChanged);
 
                //    flightWorker.WorkerSupportsCancellation = true;
 
                //    flightWorker.WorkerReportsProgress = true;
 
                //}
 
 
                //// vehicle demo
 
                //{
 
                //    transportWorker.DoWork += new DoWorkEventHandler(transport_DoWork);
 
                //    transportWorker.ProgressChanged += new ProgressChangedEventHandler(transport_ProgressChanged);
 
                //    transportWorker.WorkerSupportsCancellation = true;
 
                //    transportWorker.WorkerReportsProgress = true;
 
                //}
 
 
                // Connections
 
                //{
 
                //   connectionsWorker.DoWork += new DoWorkEventHandler(connectionsWorker_DoWork);
 
                //   connectionsWorker.ProgressChanged += new ProgressChangedEventHandler(connectionsWorker_ProgressChanged);
 
                //   connectionsWorker.WorkerSupportsCancellation = true;
 
                //   connectionsWorker.WorkerReportsProgress = true;
 
 
                //   ipInfoSearchWorker.DoWork += new DoWorkEventHandler(ipInfoSearchWorker_DoWork);
 
                //   ipInfoSearchWorker.WorkerSupportsCancellation = true;
 
 
                //   iptracerWorker.DoWork += new DoWorkEventHandler(iptracerWorker_DoWork);
 
                //   iptracerWorker.WorkerSupportsCancellation = true;
 
 
                //   //GridConnections.AutoGenerateColumns = false;
 
 
                //   IpCache.CacheLocation = MainMap.CacheLocation;
 
                //}
 
 
                // perf
 
                timerPerf.Tick += new EventHandler(timer_Tick);
 
                #endregion
 
 
                // add custom layers  
 
                {
 
                    MainMap.Overlays.Add(routes);
 
                    //MainMap.Overlays.Add(polygons);
 
                    MainMap.Overlays.Add(objects);
 
                    MainMap.Overlays.Add(top);
 
 
                    routes.Routes.CollectionChanged += new GMap.NET.ObjectModel.NotifyCollectionChangedEventHandler(Routes_CollectionChanged);
 
                    objects.Markers.CollectionChanged += new GMap.NET.ObjectModel.NotifyCollectionChangedEventHandler(Markers_CollectionChanged);
 
                }
 
 
                // set current marker
 
                currentMarker = new GMarkerGoogle(MainMap.Position, GMarkerGoogleType.arrow);
 
                currentMarker.IsHitTestVisible = false;
 
                currentMarker.ToolTipText = "Current Marker";
 
                top.Markers.Add(currentMarker);
 
 
                //MainMap.VirtualSizeEnabled = true;
 
                //if(false)
 
                {
 
                    // add my city location for demo
 
                    //GeoCoderStatusCode status = GeoCoderStatusCode.Unknow;
 
                    {
 
                        //PointLatLng? pos = GMapProviders.GoogleMap.GetPoint("Lithuania, Vilnius", out status);
 
                        //if (pos != null && status == GeoCoderStatusCode.G_GEO_SUCCESS)
 
                        //{
 
                        //    currentMarker.Position = pos.Value;
 
 
                        //    // - MDKEdit
 
                        //    //GMapMarker myCity = new GMarkerGoogle(pos.Value, GMarkerGoogleType.green_small);
 
                        //    //myCity.ToolTipMode = MarkerTooltipMode.Always;
 
                        //    //myCity.ToolTipText = "Welcome to Lithuania! ;}";
 
                        //    //objects.Markers.Add(myCity);
 
                        //}
 
                    }
 
 
                    // add some points in lithuania - MDKEdit
 
                    //AddLocationLithuania("Kaunas");
 
                    //AddLocationLithuania("KlaipÄ—da");
 
                    //AddLocationLithuania("Å iauliai");
 
                    //AddLocationLithuania("Panevėžys");
 
 
                    if (objects.Markers.Count > 0)
 
                    {
 
                        MainMap.ZoomAndCenterMarkers(null);
 
                    }
 
 
                    //RegeneratePolygon();
 
 
                    try
 
                    {
 
                        GMapOverlay overlay = DeepClone<GMapOverlay>(objects);
 
                        Debug.WriteLine("ISerializable status for markers: OK");
 
 
                        //GMapOverlay overlay2 = DeepClone<GMapOverlay>(polygons);
 
                        //Debug.WriteLine("ISerializable status for polygons: OK");
 
 
                        GMapOverlay overlay3 = DeepClone<GMapOverlay>(routes);
 
                        Debug.WriteLine("ISerializable status for routes: OK");
 
                    }
 
                    catch (Exception ex)
 
                    {
 
                        Debug.WriteLine("ISerializable failure: " + ex.Message);
 
 
#if DEBUG
 
                        if (Debugger.IsAttached)
 
                        {
 
                            Debugger.Break();
 
                        }
 
#endif
 
                    }
 
                }
 
            }
 
        }
 
 
        //runs during init - MDKfunctional
 
        public T DeepClone<T>(T obj)
 
        {
 
            using (var ms = new System.IO.MemoryStream())
 
            {
 
                var formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
 
 
                formatter.Serialize(ms, obj);
 
 
                ms.Position = 0;
 
 
                return (T)formatter.Deserialize(ms);
 
            }
 
        }
 
 
        // runs on form load  - MDKfunctional
 
        private void MainForm_Load(object sender, EventArgs e)
 
        {
 
            trackBarZoomLevel.Value = (int)MainMap.Zoom * 100;
 
            Activate();
 
            TopMost = true;
 
            TopMost = false;
 
 
            PrepareGraphs();
 
        }
 
 
        //updates the count of markers - MDKfunctional
 
        void Markers_CollectionChanged(object sender, GMap.NET.ObjectModel.NotifyCollectionChangedEventArgs e)
 
        {
 
            //textBoxMarkerCount.Text = objects.Markers.Count.ToString();
 
        }
 
 
        //updates the count of routes - MDKfunctional
 
        void Routes_CollectionChanged(object sender, GMap.NET.ObjectModel.NotifyCollectionChangedEventArgs e)
 
        {
 
            textBoxrouteCount.Text = routes.Routes.Count.ToString();
 
        }
 
 
        #region -- performance test --
 
 
        double NextDouble(Random rng, double min, double max)
 
        {
 
            return min + (rng.NextDouble() * (max - min));
 
        }
 
 
        int tt = 0;
 
        void timer_Tick(object sender, EventArgs e)
 
        {
 
 
        }
 
 
        System.Windows.Forms.Timer timerPerf = new System.Windows.Forms.Timer();
 
        #endregion
 
 
        //#region -- flight demo --
 
        //BackgroundWorker flightWorker = new BackgroundWorker();
 
 
        //readonly List<FlightRadarData> flights = new List<FlightRadarData>();
 
        //readonly Dictionary<int, GMapMarker> flightMarkers = new Dictionary<int, GMapMarker>();
 
 
        //bool firstLoadFlight = true;
 
        //GMapMarker currentFlight;
 
 
        //void flight_ProgressChanged(object sender, ProgressChangedEventArgs e)
 
        //{
 
        //    // stops immediate marker/route/polygon invalidations;
 
        //    // call Refresh to perform single refresh and reset invalidation state
 
        //    MainMap.HoldInvalidation = true;
 
 
        //    lock (flights)
 
        //    {
 
        //        foreach (FlightRadarData d in flights)
 
        //        {
 
        //            GMapMarker marker;
 
 
        //            if (!flightMarkers.TryGetValue(d.Id, out marker))
 
        //            {
 
        //                marker = new GMarkerGoogle(d.point, GMarkerGoogleType.blue_small);
 
        //                marker.Tag = d.Id;
 
        //                marker.ToolTipMode = MarkerTooltipMode.OnMouseOver;
 
        //                //(marker as GMapMarkerGoogleGreen).Bearing = (float?)d.bearing;
 
 
        //                flightMarkers[d.Id] = marker;
 
        //                objects.Markers.Add(marker);
 
        //            }
 
        //            else
 
        //            {
 
        //                marker.Position = d.point;
 
        //                //(marker as GMapMarkerGoogleGreen).Bearing = (float?)d.bearing;
 
        //            }
 
        //            marker.ToolTipText = d.name + ", " + d.altitude + ", " + d.speed;
 
 
        //            if (currentFlight != null && currentFlight == marker)
 
        //            {
 
        //                MainMap.Position = marker.Position;
 
        //                //MainMap.Bearing = (float)d.bearing;
 
        //            }
 
        //        }
 
        //    }
 
 
        //    if (firstLoadFlight)
 
        //    {
 
        //        MainMap.Zoom = 5;
 
        //        MainMap.SetZoomToFitRect(new RectLatLng(54.4955675218741, -0.966796875, 28.916015625, 13.3830987326932));
 
        //        firstLoadFlight = false;
 
        //    }
 
        //    MainMap.Refresh();
 
        //}
 
 
        //void flight_DoWork(object sender, DoWorkEventArgs e)
 
        //{
 
        //    bool restartSesion = true;
 
 
        //    while (!flightWorker.CancellationPending)
 
        //    {
 
        //        try
 
        //        {
 
        //            lock (flights)
 
        //            {
 
        //                Stuff.GetFlightRadarData(flights, lastPosition, lastZoom, restartSesion);
 
 
        //                if (flights.Count > 0 && restartSesion)
 
        //                {
 
        //                    restartSesion = false;
 
        //                }
 
        //            }
 
 
        //            flightWorker.ReportProgress(100);
 
        //        }
 
        //        catch (Exception ex)
 
        //        {
 
        //            Debug.WriteLine("flight_DoWork: " + ex.ToString());
 
        //        }
 
        //        Thread.Sleep(5 * 1000);
 
        //    }
 
 
        //    flightMarkers.Clear();
 
        //}
 
 
        //#endregion
 
        ///
 
        //#region -- transport demo --
 
        //BackgroundWorker transportWorker = new BackgroundWorker();
 
 
        //#region -- old vehicle demo --
 
        //readonly List<VehicleData> trolleybus = new List<VehicleData>();
 
        //readonly Dictionary<int, GMapMarker> trolleybusMarkers = new Dictionary<int, GMapMarker>();
 
 
        //readonly List<VehicleData> bus = new List<VehicleData>();
 
        //readonly Dictionary<int, GMapMarker> busMarkers = new Dictionary<int, GMapMarker>();
 
        //#endregion
 
 
        //bool firstLoadTrasport = true;
 
        //GMapMarker currentTransport;
 
 
        //void transport_ProgressChanged(object sender, ProgressChangedEventArgs e)
 
        //{
 
        //    // stops immediate marker/route/polygon invalidations;
 
        //    // call Refresh to perform single refresh and reset invalidation state
 
        //    MainMap.HoldInvalidation = true;
 
 
        //    #region -- vehicle demo --
 
        //    lock (trolleybus)
 
        //    {
 
        //        foreach (VehicleData d in trolleybus)
 
        //        {
 
        //            GMapMarker marker;
 
 
        //            if (!trolleybusMarkers.TryGetValue(d.Id, out marker))
 
        //            {
 
        //                marker = new GMarkerGoogle(new PointLatLng(d.Lat, d.Lng), GMarkerGoogleType.red_small);
 
        //                marker.Tag = d.Id;
 
        //                marker.ToolTipMode = MarkerTooltipMode.OnMouseOver;
 
 
        //                trolleybusMarkers[d.Id] = marker;
 
        //                objects.Markers.Add(marker);
 
        //            }
 
        //            else
 
        //            {
 
        //                marker.Position = new PointLatLng(d.Lat, d.Lng);
 
        //                (marker as GMarkerGoogle).Bearing = (float?)d.Bearing;
 
        //            }
 
        //            marker.ToolTipText = "Trolley " + d.Line + (d.Bearing.HasValue ? ", bearing: " + d.Bearing.Value.ToString() : string.Empty) + ", " + d.Time;
 
 
        //            if (currentTransport != null && currentTransport == marker)
 
        //            {
 
        //                MainMap.Position = marker.Position;
 
        //                if (d.Bearing.HasValue)
 
        //                {
 
        //                    MainMap.Bearing = (float)d.Bearing.Value;
 
        //                }
 
        //            }
 
        //        }
 
        //    }
 
 
        //    lock (bus)
 
        //    {
 
        //        foreach (VehicleData d in bus)
 
        //        {
 
        //            GMapMarker marker;
 
 
        //            if (!busMarkers.TryGetValue(d.Id, out marker))
 
        //            {
 
        //                marker = new GMarkerGoogle(new PointLatLng(d.Lat, d.Lng), GMarkerGoogleType.green_small);
 
        //                marker.Tag = d.Id;
 
        //                marker.ToolTipMode = MarkerTooltipMode.OnMouseOver;
 
 
        //                busMarkers[d.Id] = marker;
 
        //                objects.Markers.Add(marker);
 
        //            }
 
        //            else
 
        //            {
 
        //                marker.Position = new PointLatLng(d.Lat, d.Lng);
 
        //                (marker as GMarkerGoogle).Bearing = (float?)d.Bearing;
 
        //            }
 
        //            marker.ToolTipText = "Bus " + d.Line + (d.Bearing.HasValue ? ", bearing: " + d.Bearing.Value.ToString() : string.Empty) + ", " + d.Time;
 
 
        //            if (currentTransport != null && currentTransport == marker)
 
        //            {
 
        //                MainMap.Position = marker.Position;
 
        //                if (d.Bearing.HasValue)
 
        //                {
 
        //                    MainMap.Bearing = (float)d.Bearing.Value;
 
        //                }
 
        //            }
 
        //        }
 
        //    }
 
        //    #endregion
 
 
        //    if (firstLoadTrasport)
 
        //    {
 
        //        MainMap.Zoom = 5;
 
        //        MainMap.ZoomAndCenterMarkers("objects");
 
        //        firstLoadTrasport = false;
 
        //    }
 
        //    MainMap.Refresh();
 
        //}
 
 
        //void transport_DoWork(object sender, DoWorkEventArgs e)
 
        //{
 
        //    while (!transportWorker.CancellationPending)
 
        //    {
 
        //        try
 
        //        {
 
        //            #region -- old vehicle demo --
 
        //            lock (trolleybus)
 
        //            {
 
        //                Stuff.GetVilniusTransportData(TransportType.TrolleyBus, string.Empty, trolleybus);
 
        //            }
 
 
        //            lock (bus)
 
        //            {
 
        //                Stuff.GetVilniusTransportData(TransportType.Bus, string.Empty, bus);
 
        //            }
 
        //            #endregion
 
 
        //            transportWorker.ReportProgress(100);
 
        //        }
 
        //        catch (Exception ex)
 
        //        {
 
        //            Debug.WriteLine("transport_DoWork: " + ex.ToString());
 
        //        }
 
        //        Thread.Sleep(2 * 1000);
 
        //    }
 
 
        //    trolleybusMarkers.Clear();
 
        //    busMarkers.Clear();
 
        //}
 
 
        //#endregion
 
        ///
 
        //#region -- tcp/ip connections demo --
 
        //        BackgroundWorker connectionsWorker = new BackgroundWorker();
 
        //        BackgroundWorker ipInfoSearchWorker = new BackgroundWorker();
 
        //        BackgroundWorker iptracerWorker = new BackgroundWorker();
 
 
        //        readonly Dictionary<string, IpInfo> TcpState = new Dictionary<string, IpInfo>();
 
        //        readonly Dictionary<string, IpInfo> TcpTracePoints = new Dictionary<string, IpInfo>();
 
        //        readonly Dictionary<string, List<PingReply>> TraceRoutes = new Dictionary<string, List<PingReply>>();
 
 
        //        readonly List<string> TcpStateNeedLocationInfo = new List<string>();
 
        //        readonly Queue<string> TcpStateNeedtraceInfo = new Queue<string>();
 
 
        //        volatile bool TryTraceConnection = false;
 
        //        GMapMarker lastTcpmarker;
 
        //        readonly SQLiteIpCache IpCache = new SQLiteIpCache();
 
 
        //        readonly Dictionary<string, GMapMarker> tcpConnections = new Dictionary<string, GMapMarker>();
 
        //        readonly Dictionary<string, GMapRoute> tcpRoutes = new Dictionary<string, GMapRoute>();
 
 
        //        readonly List<IpStatus> CountryStatusView = new List<IpStatus>();
 
        //        readonly SortedDictionary<string, int> CountryStatus = new SortedDictionary<string, int>();
 
 
        //        readonly List<string> SelectedCountries = new List<string>();
 
        //        readonly Dictionary<int, Process> ProcessList = new Dictionary<int, Process>();
 
 
        //        void ipInfoSearchWorker_DoWork(object sender, DoWorkEventArgs e)
 
        //        {
 
        //            while (!ipInfoSearchWorker.CancellationPending)
 
        //            {
 
        //                try
 
        //                {
 
        //                    string iplist = string.Empty;
 
 
        //                    lock (TcpStateNeedLocationInfo)
 
        //                    {
 
        //                        //int count = 0;
 
        //                        foreach (var info in TcpStateNeedLocationInfo)
 
        //                        {
 
        //                            if (iplist.Length > 0)
 
        //                            {
 
        //                                iplist += ",";
 
        //                            }
 
        //                            iplist += info;
 
 
        //                            //if(count++ >= 1)
 
        //                            {
 
        //                                break;
 
        //                            }
 
        //                        }
 
        //                    }
 
 
        //                    // fill location info
 
        //                    if (!string.IsNullOrEmpty(iplist))
 
        //                    {
 
        //                        List<IpInfo> ips = GetIpHostInfo(iplist);
 
        //                        foreach (var i in ips)
 
        //                        {
 
        //                            lock (TcpState)
 
        //                            {
 
        //                                IpInfo info;
 
        //                                if (TcpState.TryGetValue(i.Ip, out info))
 
        //                                {
 
        //                                    info.CountryName = i.CountryName;
 
        //                                    info.RegionName = i.RegionName;
 
        //                                    info.City = i.City;
 
        //                                    info.Latitude = i.Latitude;
 
        //                                    info.Longitude = i.Longitude;
 
        //                                    info.TracePoint = false;
 
 
        //                                    if (info.CountryName != "Reserved")
 
        //                                    {
 
        //                                        info.Ip = i.Ip;
 
 
        //                                        // add host for tracing
 
        //                                        lock (TcpStateNeedtraceInfo)
 
        //                                        {
 
        //                                            if (!TcpStateNeedtraceInfo.Contains(i.Ip))
 
        //                                            {
 
        //                                                TcpStateNeedtraceInfo.Enqueue(i.Ip);
 
        //                                            }
 
        //                                        }
 
        //                                    }
 
 
        //                                    lock (TcpStateNeedLocationInfo)
 
        //                                    {
 
        //                                        TcpStateNeedLocationInfo.Remove(i.Ip);
 
 
        //                                        Debug.WriteLine("TcpStateNeedLocationInfo: " + TcpStateNeedLocationInfo.Count + " left...");
 
        //                                    }
 
        //                                }
 
        //                            }
 
        //                        }
 
        //                        ips.Clear();
 
        //                    }
 
        //                    else
 
        //                    {
 
        //                        break;
 
        //                    }
 
        //                }
 
        //                catch (Exception ex)
 
        //                {
 
        //                    Debug.WriteLine("ipInfoSearchWorker_DoWork: " + ex.ToString());
 
        //                }
 
        //                Thread.Sleep(1111);
 
        //            }
 
        //            Debug.WriteLine("ipInfoSearchWorker_DoWork: QUIT");
 
        //        }
 
 
        //        void iptracerWorker_DoWork(object sender, DoWorkEventArgs e)
 
        //        {
 
        //            while (!iptracerWorker.CancellationPending)
 
        //            {
 
        //                try
 
        //                {
 
        //                    string Ip = string.Empty;
 
        //                    int count = 0;
 
        //                    lock (TcpStateNeedtraceInfo)
 
        //                    {
 
        //                        count = TcpStateNeedtraceInfo.Count;
 
        //                        if (count > 0)
 
        //                        {
 
        //                            Ip = TcpStateNeedtraceInfo.Dequeue();
 
        //                        }
 
        //                    }
 
 
        //                    if (!string.IsNullOrEmpty(Ip))
 
        //                    {
 
        //                        string tracertIps = string.Empty;
 
 
        //                        List<PingReply> tracert;
 
 
        //                        bool contains = false;
 
        //                        lock (TraceRoutes)
 
        //                        {
 
        //                            contains = TraceRoutes.TryGetValue(Ip, out tracert);
 
        //                        }
 
 
        //                        if (!contains)
 
        //                        {
 
        //                            Debug.WriteLine("GetTraceRoute: " + Ip + ", left " + count);
 
 
        //                            tracert = TraceRoute.GetTraceRoute(Ip);
 
        //                            if (tracert != null)
 
        //                            {
 
        //                                if (tracert[tracert.Count - 1].Status == IPStatus.Success)
 
        //                                {
 
        //                                    foreach (var t in tracert)
 
        //                                    {
 
        //                                        if (!t.ToString().StartsWith("192.168.") && !t.ToString().StartsWith("127.0."))
 
        //                                        {
 
        //                                            if (tracertIps.Length > 0)
 
        //                                            {
 
        //                                                tracertIps += ",";
 
        //                                            }
 
        //                                            tracertIps += t.Address.ToString();
 
        //                                        }
 
        //                                    }
 
 
        //                                    if (!string.IsNullOrEmpty(tracertIps))
 
        //                                    {
 
        //                                        List<IpInfo> tinfo = GetIpHostInfo(tracertIps);
 
        //                                        if (tinfo.Count > 0)
 
        //                                        {
 
        //                                            for (int i = 0; i < tinfo.Count; i++)
 
        //                                            {
 
        //                                                IpInfo ti = tinfo[i];
 
        //                                                ti.TracePoint = true;
 
 
        //                                                if (ti.CountryName != "Reserved")
 
        //                                                {
 
        //                                                    lock (TcpTracePoints)
 
        //                                                    {
 
        //                                                        TcpTracePoints[ti.Ip] = ti;
 
        //                                                    }
 
        //                                                }
 
        //                                            }
 
        //                                            tinfo.Clear();
 
 
        //                                            lock (TraceRoutes)
 
        //                                            {
 
        //                                                TraceRoutes[Ip] = tracert;
 
        //                                            }
 
        //                                        }
 
        //                                    }
 
        //                                }
 
        //                                else
 
        //                                {
 
        //                                    // move failed, eque itself again
 
        //                                    lock (TcpStateNeedtraceInfo)
 
        //                                    {
 
        //                                        TcpStateNeedtraceInfo.Enqueue(Ip);
 
        //                                    }
 
        //                                }
 
        //                            }
 
        //                        }
 
        //                    }
 
        //                    else
 
        //                    {
 
        //                        break;
 
        //                    }
 
        //                }
 
        //                catch (Exception ex)
 
        //                {
 
        //                    Debug.WriteLine("iptracerWorker_DoWork: " + ex.ToString());
 
        //                }
 
        //                Thread.Sleep(3333);
 
        //            }
 
        //            Debug.WriteLine("iptracerWorker_DoWork: QUIT");
 
        //        }
 
 
        //        void connectionsWorker_DoWork(object sender, DoWorkEventArgs e)
 
        //        {
 
        //#if !MONO
 
        //            IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
 
 
        //            while (!connectionsWorker.CancellationPending)
 
        //            {
 
        //                try
 
        //                {
 
        //                    #region -- xml --
 
        //                    // http://ipinfodb.com/ip_location_api.php
 
 
        //                    // http://ipinfodb.com/ip_query2.php?ip=74.125.45.100,206.190.60.37&timezone=false
 
 
        //                    //<?xml version="1.0" encoding="UTF-8"?>
 
        //                    //<Locations>
 
        //                    //  <Location id="0">
 
        //                    //    <Ip>74.125.45.100</Ip>
 
        //                    //    <Status>OK</Status>
 
        //                    //    <CountryCode>US</CountryCode>
 
        //                    //    <CountryName>United States</CountryName>
 
        //                    //    <RegionCode>06</RegionCode>
 
        //                    //    <RegionName>California</RegionName>
 
        //                    //    <City>Mountain View</City>
 
        //                    //    <ZipPostalCode>94043</ZipPostalCode>
 
        //                    //    <Latitude>37.4192</Latitude>
 
        //                    //    <Longitude>-122.057</Longitude>
 
        //                    //  </Location> 
 
        //                    #endregion
 
 
        //                    lock (TcpState)
 
        //                    {
 
        //                        //TcpConnectionInformation[] tcpInfoList = properties.GetActiveTcpConnections();
 
        //                        //foreach(TcpConnectionInformation i in tcpInfoList)
 
        //                        //{
 
 
        //                        //}
 
 
        //                        CountryStatus.Clear();
 
        //                        ManagedIpHelper.UpdateExtendedTcpTable(false);
 
 
        //                        foreach (TcpRow i in ManagedIpHelper.TcpRows)
 
        //                        {
 
        //                            #region -- update TcpState --
 
        //                            string Ip = i.RemoteEndPoint.Address.ToString();
 
 
        //                            // exclude local network
 
        //                            if (!Ip.StartsWith("192.168.") && !Ip.StartsWith("127.0."))
 
        //                            {
 
        //                                IpInfo info;
 
        //                                if (!TcpState.TryGetValue(Ip, out info))
 
        //                                {
 
        //                                    info = new IpInfo();
 
        //                                    TcpState[Ip] = info;
 
 
        //                                    // request location info
 
        //                                    lock (TcpStateNeedLocationInfo)
 
        //                                    {
 
        //                                        if (!TcpStateNeedLocationInfo.Contains(Ip))
 
        //                                        {
 
        //                                            TcpStateNeedLocationInfo.Add(Ip);
 
 
        //                                            if (!ipInfoSearchWorker.IsBusy)
 
        //                                            {
 
        //                                                ipInfoSearchWorker.RunWorkerAsync();
 
        //                                            }
 
        //                                        }
 
        //                                    }
 
        //                                }
 
 
        //                                info.State = i.State;
 
        //                                info.Port = i.RemoteEndPoint.Port;
 
        //                                info.StatusTime = DateTime.Now;
 
 
        //                                try
 
        //                                {
 
        //                                    Process p;
 
        //                                    if (!ProcessList.TryGetValue(i.ProcessId, out p))
 
        //                                    {
 
        //                                        p = Process.GetProcessById(i.ProcessId);
 
        //                                        ProcessList[i.ProcessId] = p;
 
        //                                    }
 
        //                                    info.ProcessName = p.ProcessName;
 
        //                                }
 
        //                                catch
 
        //                                {
 
        //                                }
 
 
        //                                if (!string.IsNullOrEmpty(info.CountryName))
 
        //                                {
 
        //                                    if (!CountryStatus.ContainsKey(info.CountryName))
 
        //                                    {
 
        //                                        CountryStatus[info.CountryName] = 1;
 
        //                                    }
 
        //                                    else
 
        //                                    {
 
        //                                        CountryStatus[info.CountryName]++;
 
        //                                    }
 
        //                                }
 
        //                            }
 
        //                            #endregion
 
        //                        }
 
        //                    }
 
 
        //                    // launch tracer if needed
 
        //                    if (TryTraceConnection)
 
        //                    {
 
        //                        if (!iptracerWorker.IsBusy)
 
        //                        {
 
        //                            lock (TcpStateNeedtraceInfo)
 
        //                            {
 
        //                                if (TcpStateNeedtraceInfo.Count > 0)
 
        //                                {
 
        //                                    iptracerWorker.RunWorkerAsync();
 
        //                                }
 
        //                            }
 
        //                        }
 
        //                    }
 
 
        //                    connectionsWorker.ReportProgress(100);
 
        //                }
 
        //                catch (Exception ex)
 
        //                {
 
        //                    Debug.WriteLine("connectionsWorker_DoWork: " + ex.ToString());
 
        //                }
 
        //                Thread.Sleep(3333);
 
        //            }
 
        //            tcpConnections.Clear();
 
        //#endif
 
        //        }
 
 
        //        //void connectionsWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
 
        //        //{
 
        //        //   try
 
        //        //   {
 
        //        //      // stops immediate marker/route/polygon invalidations;
 
        //        //      // call Refresh to perform single refresh and reset invalidation state
 
        //        //      MainMap.HoldInvalidation = true;
 
 
        //        //      SelectedCountries.Clear();
 
        //        //      //Int32 SelectedCountriesCount = GridConnections.Rows.GetRowCount(DataGridViewElementStates.Selected);
 
        //        //      //if(SelectedCountriesCount > 0)
 
        //        //      //{
 
        //        //      //   for(int i = 0; i < SelectedCountriesCount; i++)
 
        //        //      //   {
 
        //        //      //      string country = GridConnections.SelectedRows[i].Cells[0].Value as string;
 
        //        //      //      SelectedCountries.Add(country);
 
        //        //      //   }
 
        //        //      //}
 
        //        //      //
 
        //        //      //ComparerIpStatus.SortOnlyCountryName = !(SelectedCountriesCount == 0);
 
 
        //        //      lock(TcpState)
 
        //        //      {
 
        //        //         bool snap = true;
 
        //        //         foreach(var tcp in TcpState)
 
        //        //         {
 
        //        //            GMapMarker marker;
 
 
        //        //            if(!tcpConnections.TryGetValue(tcp.Key, out marker))
 
        //        //            {
 
        //        //               if(!string.IsNullOrEmpty(tcp.Value.Ip))
 
        //        //               {
 
        //        //                  marker = new GMarkerGoogle(new PointLatLng(tcp.Value.Latitude, tcp.Value.Longitude), GMarkerGoogleType.green_small);
 
        //        //                  marker.ToolTipMode = MarkerTooltipMode.OnMouseOver;
 
        //        //                  marker.Tag = tcp.Value.CountryName;
 
 
        //        //                  tcpConnections[tcp.Key] = marker;
 
        //        //                  {
 
        //        //                     if(!(SelectedCountriesCount > 0 && !SelectedCountries.Contains(tcp.Value.CountryName)))
 
        //        //                     {
 
        //        //                        objects.Markers.Add(marker);
 
 
        //        //                        UpdateMarkerTcpIpToolTip(marker, tcp.Value, "(" + objects.Markers.Count + ") ");
 
 
        //        //                        if(snap)
 
        //        //                        {
 
        //        //                           if(checkBoxTcpIpSnap.Checked && !MainMap.IsDragging)
 
        //        //                           {
 
        //        //                              MainMap.Position = marker.Position;
 
        //        //                           }
 
        //        //                           snap = false;
 
 
        //        //                           if(lastTcpmarker != null)
 
        //        //                           {
 
        //        //                              marker.ToolTipMode = MarkerTooltipMode.Always;
 
        //        //                              lastTcpmarker.ToolTipMode = MarkerTooltipMode.OnMouseOver;
 
        //        //                           }
 
 
        //        //                           lastTcpmarker = marker;
 
        //        //                        }
 
        //        //                     }
 
        //        //                  }
 
        //        //               }
 
        //        //            }
 
        //        //            else
 
        //        //            {
 
        //        //               if((DateTime.Now - tcp.Value.StatusTime > TimeSpan.FromSeconds(8)) || (SelectedCountriesCount > 0 && !SelectedCountries.Contains(tcp.Value.CountryName)))
 
        //        //               {
 
        //        //                  objects.Markers.Remove(marker);
 
 
        //        //                  GMapRoute route;
 
        //        //                  if(tcpRoutes.TryGetValue(tcp.Key, out route))
 
        //        //                  {
 
        //        //                     routes.Routes.Remove(route);
 
        //        //                  }
 
 
        //        //                  lock(TcpStateNeedLocationInfo)
 
        //        //                  {
 
        //        //                     bool r = TcpStateNeedLocationInfo.Remove(tcp.Key);
 
        //        //                     if(r)
 
        //        //                     {
 
        //        //                        Debug.WriteLine("TcpStateNeedLocationInfo: removed " + tcp.Key + " " + r);
 
        //        //                     }
 
        //        //                  }
 
        //        //               }
 
        //        //               else
 
        //        //               {
 
        //        //                  marker.Position = new PointLatLng(tcp.Value.Latitude, tcp.Value.Longitude);
 
        //        //                  if(!objects.Markers.Contains(marker))
 
        //        //                  {
 
        //        //                     objects.Markers.Add(marker);
 
        //        //                  }
 
        //        //                  UpdateMarkerTcpIpToolTip(marker, tcp.Value, string.Empty);
 
 
        //        //                  if(TryTraceConnection)
 
        //        //                  {
 
        //        //                     // routes
 
        //        //                     GMapRoute route;
 
        //        //                     if(!this.tcpRoutes.TryGetValue(tcp.Key, out route))
 
        //        //                     {
 
        //        //                        lock(TraceRoutes)
 
        //        //                        {
 
        //        //                           List<PingReply> tr;
 
        //        //                           if(TraceRoutes.TryGetValue(tcp.Key, out tr))
 
        //        //                           {
 
        //        //                              if(tr != null)
 
        //        //                              {
 
        //        //                                 List<PointLatLng> points = new List<PointLatLng>();
 
        //        //                                 foreach(var add in tr)
 
        //        //                                 {
 
        //        //                                    IpInfo info;
 
 
        //        //                                    lock(TcpTracePoints)
 
        //        //                                    {
 
        //        //                                       if(TcpTracePoints.TryGetValue(add.Address.ToString(), out info))
 
        //        //                                       {
 
        //        //                                          if(!string.IsNullOrEmpty(info.Ip))
 
        //        //                                          {
 
        //        //                                             points.Add(new PointLatLng(info.Latitude, info.Longitude));
 
        //        //                                          }
 
        //        //                                       }
 
        //        //                                    }
 
        //        //                                 }
 
 
        //        //                                 if(points.Count > 0)
 
        //        //                                 {
 
        //        //                                    route = new GMapRoute(points, tcp.Value.CountryName);
 
 
        //        //                                    route.Stroke = new Pen(GetRandomColor());
 
        //        //                                    route.Stroke.Width = 4;
 
        //        //                                    route.Stroke.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDot;
 
 
        //        //                                    route.Stroke.StartCap = LineCap.NoAnchor;
 
        //        //                                    route.Stroke.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
 
        //        //                                    route.Stroke.LineJoin = LineJoin.Round;
 
 
        //        //                                    routes.Routes.Add(route);
 
        //        //                                    tcpRoutes[tcp.Key] = route;
 
        //        //                                 }
 
        //        //                              }
 
        //        //                           }
 
        //        //                        }
 
        //        //                     }
 
        //        //                     else
 
        //        //                     {
 
        //        //                        if(!routes.Routes.Contains(route))
 
        //        //                        {
 
        //        //                           routes.Routes.Add(route);
 
        //        //                        }
 
        //        //                     }
 
        //        //                  }
 
        //        //               }
 
        //        //            }
 
        //        //         }
 
 
        //        //         // update grid data
 
        //        //         if(panelMenu.Expand && xPanderPanelLive.Expand)
 
        //        //         {
 
        //        //            bool empty = CountryStatusView.Count == 0;
 
 
        //        //            if(!ComparerIpStatus.SortOnlyCountryName)
 
        //        //            {
 
        //        //               CountryStatusView.Clear();
 
        //        //            }
 
 
        //        //            foreach(var c in CountryStatus)
 
        //        //            {
 
        //        //               IpStatus s = new IpStatus();
 
        //        //               {
 
        //        //                  s.CountryName = c.Key;
 
        //        //                  s.ConnectionsCount = c.Value;
 
        //        //               }
 
 
        //        //               if(ComparerIpStatus.SortOnlyCountryName)
 
        //        //               {
 
        //        //                  int idx = CountryStatusView.FindIndex(p => p.CountryName == c.Key);
 
        //        //                  if(idx >= 0)
 
        //        //                  {
 
        //        //                     CountryStatusView[idx] = s;
 
        //        //                  }
 
        //        //               }
 
        //        //               else
 
        //        //               {
 
        //        //                  CountryStatusView.Add(s);
 
        //        //               }
 
        //        //            }
 
 
        //        //            CountryStatusView.Sort(ComparerIpStatus);
 
 
        //        //            GridConnections.RowCount = CountryStatusView.Count;
 
        //        //            GridConnections.Refresh();
 
 
        //        //            if(empty)
 
        //        //            {
 
        //        //               GridConnections.ClearSelection();
 
        //        //            }
 
        //        //         }
 
        //        //      }
 
 
        //        //      MainMap.Refresh();
 
        //        //   }
 
        //        //   catch(Exception ex)
 
        //        //   {
 
        //        //      Debug.WriteLine(ex.ToString());
 
        //        //   }
 
        //        //}
 
 
        //        //void GridConnections_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
 
        //        //{
 
        //        //   if(e.RowIndex >= CountryStatusView.Count)
 
        //        //      return;
 
 
        //        //   IpStatus val = CountryStatusView[e.RowIndex];
 
 
        //        //   switch(GridConnections.Columns[e.ColumnIndex].Name)
 
        //        //   {
 
        //        //      case "CountryName":
 
        //        //      e.Value = val.CountryName;
 
        //        //      break;
 
 
        //        //      case "ConnectionsCount":
 
        //        //      e.Value = val.ConnectionsCount;
 
        //        //      break;
 
        //        //   }
 
        //        //}
 
 
        //        Color GetRandomColor()
 
        //        {
 
        //            byte r = Convert.ToByte(rnd.Next(0, 111));
 
        //            byte g = Convert.ToByte(rnd.Next(0, 111));
 
        //            byte b = Convert.ToByte(rnd.Next(0, 111));
 
 
        //            return Color.FromArgb(144, r, g, b);
 
        //        }
 
 
        //        void UpdateMarkerTcpIpToolTip(GMapMarker marker, IpInfo tcp, string info)
 
        //        {
 
        //            marker.ToolTipText = tcp.State.ToString();
 
 
        //            if (!string.IsNullOrEmpty(tcp.ProcessName))
 
        //            {
 
        //                marker.ToolTipText += " by " + tcp.ProcessName;
 
        //            }
 
 
        //            if (!string.IsNullOrEmpty(tcp.CountryName))
 
        //            {
 
        //                marker.ToolTipText += "\n" + tcp.CountryName;
 
        //            }
 
 
        //            if (!string.IsNullOrEmpty(tcp.City))
 
        //            {
 
        //                marker.ToolTipText += ", " + tcp.City;
 
        //            }
 
        //            else
 
        //            {
 
        //                if (!string.IsNullOrEmpty(tcp.RegionName))
 
        //                {
 
        //                    marker.ToolTipText += ", " + tcp.RegionName;
 
        //                }
 
        //            }
 
 
        //            marker.ToolTipText += "\n" + tcp.Ip + ":" + tcp.Port + "\n" + info;
 
        //        }
 
 
        //        List<IpInfo> GetIpHostInfo(string iplist)
 
        //        {
 
        //            List<IpInfo> ret = new List<IpInfo>();
 
        //            bool retry = false;
 
 
        //            string iplistNew = string.Empty;
 
 
        //            string[] ips = iplist.Split(',');
 
        //            foreach (var ip in ips)
 
        //            {
 
        //                IpInfo val = IpCache.GetDataFromCache(ip);
 
        //                if (val != null)
 
        //                {
 
        //                    ret.Add(val);
 
        //                }
 
        //                else
 
        //                {
 
        //                    if (iplistNew.Length > 0)
 
        //                    {
 
        //                        iplistNew += ",";
 
        //                    }
 
        //                    iplistNew += ip;
 
        //                }
 
        //            }
 
 
        //            if (!string.IsNullOrEmpty(iplistNew))
 
        //            {
 
        //                Debug.WriteLine("GetIpHostInfo: " + iplist);
 
 
        //                string reqUrl = string.Format("http://api.ipinfodb.com/v2/ip_query.php?key=fbea1992ab11f7125064590a417a8461ccaf06728798c718dbd2809b31a7a5e0&ip={0}&timezone=false", iplistNew);
 
 
        //                while (true)
 
        //                {
 
        //                    ret.Clear();
 
        //                    try
 
        //                    {
 
        //                        HttpWebRequest httpReq = HttpWebRequest.Create(reqUrl) as HttpWebRequest;
 
        //                        {
 
        //                            string result = string.Empty;
 
        //                            using (HttpWebResponse response = httpReq.GetResponse() as HttpWebResponse)
 
        //                            {
 
        //                                using (StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8))
 
        //                                {
 
        //                                    result = reader.ReadToEnd();
 
        //                                }
 
        //                                response.Close();
 
        //                            }
 
 
        //                            XmlDocument x = new XmlDocument();
 
        //                            x.LoadXml(result);
 
 
        //                            XmlNodeList nodes = x.SelectNodes("/Response");
 
        //                            foreach (XmlNode node in nodes)
 
        //                            {
 
        //                                string Ip = node.SelectSingleNode("Ip").InnerText;
 
 
        //                                IpInfo info = new IpInfo();
 
        //                                {
 
        //                                    info.Ip = Ip;
 
        //                                    info.CountryName = node.SelectSingleNode("CountryName").InnerText;
 
        //                                    info.RegionName = node.SelectSingleNode("RegionName").InnerText;
 
        //                                    info.City = node.SelectSingleNode("City").InnerText;
 
        //                                    info.Latitude = double.Parse(node.SelectSingleNode("Latitude").InnerText, CultureInfo.InvariantCulture);
 
        //                                    info.Longitude = double.Parse(node.SelectSingleNode("Longitude").InnerText, CultureInfo.InvariantCulture);
 
        //                                    info.CacheTime = DateTime.Now;
 
 
        //                                    ret.Add(info);
 
        //                                }
 
 
        //                                IpCache.PutDataToCache(Ip, info);
 
        //                            }
 
        //                        }
 
 
        //                        break;
 
        //                    }
 
        //                    catch (Exception ex)
 
        //                    {
 
        //                        if (retry) // fail in retry too, full stop ;}
 
        //                        {
 
        //                            break;
 
        //                        }
 
        //                        retry = true;
 
        //                        reqUrl = string.Format("http://backup.ipinfodb.com/v2/ip_query.php?key=fbea1992ab11f7125064590a417a8461ccaf06728798c718dbd2809b31a7a5e0&ip={0}&timezone=false", iplist);
 
        //                        Debug.WriteLine("GetIpHostInfo: " + ex.Message + ", retry on backup server...");
 
        //                    }
 
        //                }
 
        //            }
 
        //            return ret;
 
        //        }
 
 
        //#endregion
 
 
        #region -- some functions --
 
 
        //void RegeneratePolygon()
 
        //{
 
        //    List<PointLatLng> polygonPoints = new List<PointLatLng>();
 
 
        //    foreach (GMapMarker m in objects.Markers)
 
        //    {
 
        //        if (m is GMapMarkerRect)
 
        //        {
 
        //            m.Tag = polygonPoints.Count;
 
        //            polygonPoints.Add(m.Position);
 
        //        }
 
        //    }
 
 
        //    if (polygon == null)
 
        //    {
 
        //        polygon = new GMapPolygon(polygonPoints, "polygon test");
 
        //        polygon.IsHitTestVisible = true;
 
        //        polygons.Polygons.Add(polygon);
 
        //    }
 
        //    else
 
        //    {
 
        //        polygon.Points.Clear();
 
        //        polygon.Points.AddRange(polygonPoints);
 
 
        //        if (polygons.Polygons.Count == 0)
 
        //        {
 
        //            polygons.Polygons.Add(polygon);
 
        //        }
 
        //        else
 
        //        {
 
        //            MainMap.UpdatePolygonLocalPosition(polygon);
 
        //        }
 
        //    }
 
        //}
 
 
        // load mobile gps log
 
        
 
        void AddGpsMobileLogRoutes(string file)
 
        {
 
            try
 
            {
 
                DateTime? date = null;
 
                DateTime? dateEnd = null;
 
 
                if (MobileLogFrom.Checked)
 
                {
 
                    date = MobileLogFrom.Value.ToUniversalTime();
 
                }
 
 
                if (MobileLogTo.Checked)
 
                {
 
                    dateEnd = MobileLogTo.Value.ToUniversalTime();
 
                }
 
 
                var log = Stuff.GetRoutesFromMobileLog(file, date, dateEnd, 3.3);
 
 
                if (routes != null)
 
                {
 
                    List<PointLatLng> track = new List<PointLatLng>();
 
 
                    var sessions = new List<List<GpsLog>>(log);
 
 
                    PointLatLng lastPoint = PointLatLng.Empty;
 
 
                    foreach (var session in sessions)
 
                    {
 
                        // connect to last session with direct line
 
                        if (!lastPoint.IsEmpty && session.Count > 0)
 
                        {
 
                            track.Clear();
 
                            track.Add(lastPoint);
 
                            track.Add(session[0].Position);
 
 
                            GMapRoute grl = new GMapRoute(track, "");
 
                            grl.Stroke.Color = Color.Red;
 
                            grl.Stroke.Width = 2.0f;
 
                            routes.Routes.Add(grl);
 
                        }
 
 
                        track.Clear();
 
 
                        foreach (var point in session)
 
                        {
 
                            track.Add(point.Position);
 
                        }
 
 
                        if (track.Count > 0)
 
                        {
 
                            lastPoint = track[track.Count - 1];
 
                        }
 
                        else
 
                        {
 
                            lastPoint = PointLatLng.Empty;
 
                        }
 
 
                        GMapRoute gr = new GMapRoute(track, "");
 
                        routes.Routes.Add(gr);
 
                    }
 
 
                    sessions.Clear();
 
                    sessions = null;
 
 
                    track.Clear();
 
                    track = null;
 
                }
 
            }
 
            catch (Exception ex)
 
            {
 
                Debug.WriteLine("AddGpsMobileLogRoutes: " + ex.ToString());
 
            }
 
        }
 
 
        ///// <summary>
 
        ///// adds marker using geocoder
 
        ///// </summary>
 
        ///// <param name="place"></param>
 
        //void AddLocationLithuania(string place)
 
        //{
 
        //    GeoCoderStatusCode status = GeoCoderStatusCode.Unknow;
 
        //    PointLatLng? pos = GMapProviders.GoogleMap.GetPoint("Lithuania, " + place, out status);
 
        //    if (pos != null && status == GeoCoderStatusCode.G_GEO_SUCCESS)
 
        //    {
 
        //        GMarkerGoogle m = new GMarkerGoogle(pos.Value, GMarkerGoogleType.green);
 
        //        m.ToolTip = new GMapRoundedToolTip(m);
 
 
        //        GMapMarkerRect mBorders = new GMapMarkerRect(pos.Value);
 
        //        {
 
        //            mBorders.InnerMarker = m;
 
        //            mBorders.ToolTipText = place;
 
        //            mBorders.ToolTipMode = MarkerTooltipMode.Always;
 
        //        }
 
 
        //        objects.Markers.Add(m);
 
        //        objects.Markers.Add(mBorders);
 
        //    }
 
        //}
 
 
        #endregion
 
 
        #region -- map events --
 
 
        // details unknown- MDKfunctional
 
        void OnTileCacheComplete()
 
        {
 
            Debug.WriteLine("OnTileCacheComplete");
 
            long size = 0;
 
            int db = 0;
 
            try
 
            {
 
                DirectoryInfo di = new DirectoryInfo(MainMap.CacheLocation);
 
                var dbs = di.GetFiles("*.gmdb", SearchOption.AllDirectories);
 
                foreach (var d in dbs)
 
                {
 
                    size += d.Length;
 
                    db++;
 
                }
 
            }
 
            catch
 
            {
 
            }
 
 
            if (!IsDisposed)
 
            {
 
                MethodInvoker m = delegate
 
                {
 
                    textBoxCacheSize.Text = string.Format(CultureInfo.InvariantCulture, "{0} db in {1:00} MB", db, size / (1024.0 * 1024.0));
 
                    textBoxCacheStatus.Text = "all tiles saved!";
 
                };
 
                Invoke(m);
 
            }
 
        }
 
 
        //details unknown - MDKfunctional
 
        void OnTileCacheStart()
 
        {
 
            Debug.WriteLine("OnTileCacheStart");
 
 
            if (!IsDisposed)
 
            {
 
                MethodInvoker m = delegate
 
                {
 
                    textBoxCacheStatus.Text = "saving tiles...";
 
                };
 
                // MDKEdit
 
                //Invoke(m);
 
            }
 
        }
 
 
        //details unknown - MDKfunctional
 
        void OnTileCacheProgress(int left)
 
        {
 
            if (!IsDisposed)
 
            {
 
                MethodInvoker m = delegate
 
                {
 
                    textBoxCacheStatus.Text = left + " tile to save...";
 
                };
 
                Invoke(m);
 
            }
 
        }
 
 
        //runs when cursor leaves a marker - MDKfunctional
 
        void MainMap_OnMarkerLeave(GMapMarker item)
 
        {
 
            if (item is GMapMarkerRect)
 
            {
 
                CurentRectMarker = null;
 
 
                GMapMarkerRect rc = item as GMapMarkerRect;
 
                rc.Pen.Color = Color.Blue;
 
 
                Debug.WriteLine("OnMarkerLeave: " + item.Position);
 
            }
 
        }
 
 
        //runs when cursor enters a marker - MDKfunctional
 
        void MainMap_OnMarkerEnter(GMapMarker item)
 
        {
 
            if (item is GMapMarkerRect)
 
            {
 
                GMapMarkerRect rc = item as GMapMarkerRect;
 
                rc.Pen.Color = Color.Red;
 
 
                CurentRectMarker = rc;
 
 
                Debug.WriteLine("OnMarkerEnter: " + item.Position);
 
            }
 
        }
 
 
        GMapPolygon currentPolygon = null;
 
        void MainMap_OnPolygonLeave(GMapPolygon item)
 
        {
 
            currentPolygon = null;
 
            item.Stroke.Color = Color.MidnightBlue;
 
            Debug.WriteLine("OnPolygonLeave: " + item.Name);
 
        }
 
 
        void MainMap_OnPolygonEnter(GMapPolygon item)
 
        {
 
            currentPolygon = item;
 
            item.Stroke.Color = Color.Red;
 
            Debug.WriteLine("OnPolygonEnter: " + item.Name);
 
        }
 
 
        GMapRoute currentRoute = null;
 
        //runs when cursor leaves a route - MDKfunctional
 
        void MainMap_OnRouteLeave(GMapRoute item)
 
        {
 
            currentRoute = null;
 
            item.Stroke.Color = Color.MidnightBlue;
 
            Debug.WriteLine("OnRouteLeave: " + item.Name);
 
        }
 
 
        //runs when cursor enters a route - MDKfunctional
 
        void MainMap_OnRouteEnter(GMapRoute item)
 
        {
 
            currentRoute = item;
 
            item.Stroke.Color = Color.Red;
 
            Debug.WriteLine("OnRouteEnter: " + item.Name);
 
        }
 
 
        // - MDKfunctional
 
        void MainMap_OnMapTypeChanged(GMapProvider type)
 
        {
 
            comboBoxMapType.SelectedItem = type;
 
 
            trackBarZoomLevel.Minimum = MainMap.MinZoom * 100;
 
            trackBarZoomLevel.Maximum = MainMap.MaxZoom * 100;
 
 
            //if(rbtnFlight.Checked)
 
            //{
 
            //   MainMap.ZoomAndCenterMarkers("objects");
 
            //}
 
        }
 
 
        //updates current marker coordinate dislpay - MDKfunctional
 
        void MainMap_MouseUp(object sender, MouseEventArgs e)
 
        {
 
            // MDKAdd
 
            textBoxLatCurrent.Text = currentMarker.Position.Lat.ToString();
 
            textBoxLngCurrent.Text = currentMarker.Position.Lng.ToString();
 
            if (e.Button == MouseButtons.Left)
 
            {
 
                isMouseDown = false;
 
            }
 
        }
 
 
        // add demo circle
 
        void MainMap_MouseDoubleClick(object sender, MouseEventArgs e)
 
        {
 
            var cc = new GMapMarkerCircle(MainMap.FromLocalToLatLng(e.X, e.Y));
 
            cc.ToolTipMode = MarkerTooltipMode.Always;
 
            cc.ToolTipText = "CC";
 
            objects.Markers.Add(cc);
 
        }
 
 
        // - MDKfunctional
 
        void MainMap_MouseDown(object sender, MouseEventArgs e)
 
        {
 
            if (e.Button == MouseButtons.Left)
 
            {
 
                isMouseDown = true;
 
 
                if (currentMarker.IsVisible)
 
                {
 
                    currentMarker.Position = MainMap.FromLocalToLatLng(e.X, e.Y);
 
                    // MDKAdd
 
                    textBoxLatCurrent.Text = currentMarker.Position.Lat.ToString();
 
                    textBoxLngCurrent.Text = currentMarker.Position.Lng.ToString();
 
 
                    var px = MainMap.MapProvider.Projection.FromLatLngToPixel(currentMarker.Position.Lat, currentMarker.Position.Lng, (int)MainMap.Zoom);
 
                    var tile = MainMap.MapProvider.Projection.FromPixelToTileXY(px);
 
 
                    Debug.WriteLine("MouseDown: geo: " + currentMarker.Position + " | px: " + px + " | tile: " + tile);
 
                }
 
            }
 
        }
 
 
        // move current marker with left holding
 
        // move current marker with left holding - MDKfunctional
 
        void MainMap_MouseMove(object sender, MouseEventArgs e)
 
        {
 
            if (e.Button == MouseButtons.Left && isMouseDown)
 
            {
 
                if (CurentRectMarker == null)
 
                {
 
                    if (currentMarker.IsVisible)
 
                    {
 
                        // MDKAdd
 
                        textBoxLatCurrent.Text = currentMarker.Position.Lat.ToString();
 
                        textBoxLngCurrent.Text = currentMarker.Position.Lng.ToString();
 
 
                        currentMarker.Position = MainMap.FromLocalToLatLng(e.X, e.Y);
 
                    }
 
                }
 
                else // move rect marker
 
                {
 
                    PointLatLng pnew = MainMap.FromLocalToLatLng(e.X, e.Y);
 
 
                    int? pIndex = (int?)CurentRectMarker.Tag;
 
                    if (pIndex.HasValue)
 
                    {
 
                        //if (pIndex < polygon.Points.Count)
 
                        //{
 
@@ -1550,972 +396,617 @@ namespace Demo.WindowsForms
 
                    }
 
 
                    if (currentMarker.IsVisible)
 
                    {
 
                        currentMarker.Position = pnew;
 
                        // MDKAdd
 
                        textBoxLatCurrent.Text = currentMarker.Position.Lat.ToString();
 
                        textBoxLngCurrent.Text = currentMarker.Position.Lng.ToString();
 
                    }
 
                    CurentRectMarker.Position = pnew;
 
 
                    if (CurentRectMarker.InnerMarker != null)
 
                    {
 
                        CurentRectMarker.InnerMarker.Position = pnew;
 
                    }
 
                }
 
 
                MainMap.Refresh(); // force instant invalidation
 
                // MDKAdd
 
                textBoxLatCurrent.Refresh();
 
                textBoxLngCurrent.Refresh();
 
            }
 
        }
 
 
        // MapZoomChanged
 
        // MapZoomChanged - MDKfunctional
 
        void MainMap_OnMapZoomChanged()
 
        {
 
            trackBarZoomLevel.Value = (int)(MainMap.Zoom * 100.0);
 
            textBoxZoomCurrent.Text = MainMap.Zoom.ToString();
 
        }
 
 
        // click on some marker
 
        // click on a marker - MDKfunctional
 
        void MainMap_OnMarkerClick(GMapMarker item, MouseEventArgs e)
 
        {
 
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
 
            {
 
                if (item is GMapMarkerRect)
 
                {
 
                    GeoCoderStatusCode status;
 
                    var pos = GMapProviders.GoogleMap.GetPlacemark(item.Position, out status);
 
                    if (status == GeoCoderStatusCode.G_GEO_SUCCESS && pos != null)
 
                    {
 
                        GMapMarkerRect v = item as GMapMarkerRect;
 
                        {
 
                            v.ToolTipText = pos.Value.Address;
 
                        }
 
                        MainMap.Invalidate(false);
 
                    }
 
                }
 
                else
 
                {
 
                    //if (item.Tag != null)
 
                    //{
 
                    //    if (currentTransport != null)
 
                    //    {
 
                    //        currentTransport.ToolTipMode = MarkerTooltipMode.OnMouseOver;
 
                    //        currentTransport = null;
 
                    //    }
 
                    //    currentTransport = item;
 
                    //    currentTransport.ToolTipMode = MarkerTooltipMode.Always;
 
                    //}
 
                }
 
            }
 
        }
 
 
        // loader start loading tiles
 
        // loader start loading tiles - MDKfunctional
 
        void MainMap_OnTileLoadStart()
 
        {
 
            MethodInvoker m = delegate()
 
            {
 
                panelMenu.Text = "Menu: loading tiles...";
 
            };
 
            try
 
            {
 
                BeginInvoke(m);
 
            }
 
            catch
 
            {
 
            }
 
        }
 
 
        // loader end loading tiles
 
        // loader end loading tiles  - MDKfunctional
 
        void MainMap_OnTileLoadComplete(long ElapsedMilliseconds)
 
        {
 
            MainMap.ElapsedMilliseconds = ElapsedMilliseconds;
 
 
            MethodInvoker m = delegate()
 
            {
 
                panelMenu.Text = "Menu, last load in " + MainMap.ElapsedMilliseconds + "ms";
 
 
                textBoxMemory.Text = string.Format(CultureInfo.InvariantCulture, "{0:0.00} MB of {1:0.00} MB", MainMap.Manager.MemoryCache.Size, MainMap.Manager.MemoryCache.Capacity);
 
            };
 
            try
 
            {
 
                BeginInvoke(m);
 
            }
 
            catch
 
            {
 
            }
 
        }
 
 
        // current point changed
 
        void MainMap_OnPositionChanged(PointLatLng point)
 
        {
 
            textBoxLatCurrent.Text = point.Lat.ToString(CultureInfo.InvariantCulture);
 
            textBoxLngCurrent.Text = point.Lng.ToString(CultureInfo.InvariantCulture);
 
 
            //lock (flights)
 
            //{
 
            //    lastPosition = point;
 
            //    lastZoom = (int)MainMap.Zoom;
 
            //}
 
        }
 
 
        //PointLatLng lastPosition;
 
        //int lastZoom;
 
 
        // center markers on start
 
        private void MainForm_Load(object sender, EventArgs e)
 
        {
 
            trackBarZoomLevel.Value = (int)MainMap.Zoom * 100;
 
            Activate();
 
            TopMost = true;
 
            TopMost = false;
 
 
            PrepareGraphs();
 
        }
 
        #endregion
 
 
        #region -- menu panels expanders --
 
        // - MDKfunctional
 
        private void xPanderPanel1_Click(object sender, EventArgs e)
 
        {
 
            xPanderPanelList1.Expand(xPanderPanelMain);
 
        }
 
 
        // - MDKfunctional
 
        private void xPanderPanelCache_Click(object sender, EventArgs e)
 
        {
 
            xPanderPanelList1.Expand(xPanderPanelCache);
 
        }
 
 
        // - MDKfunctional
 
        private void xPanderPanelInfo_Click(object sender, EventArgs e)
 
        {
 
            xPanderPanelList1.Expand(xPanderPanelInfo);
 
        }
 
        #endregion
 
 
        #region -- ui events --
 
 
        bool UserAcceptedLicenseOnce = false;
 
 
        // change map type
 
        // change map type - MDKfunctional
 
        private void comboBoxMapType_DropDownClosed(object sender, EventArgs e)
 
        {
 
            if (!UserAcceptedLicenseOnce)
 
            {
 
                if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + Path.DirectorySeparatorChar + "License.txt"))
 
                {
 
                    string ctn = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + Path.DirectorySeparatorChar + "License.txt");
 
                    int li = ctn.IndexOf("License");
 
                    string txt = ctn.Substring(li);
 
 
                    var d = new Demo.WindowsForms.Forms.Message();
 
                    d.richTextBox1.Text = txt;
 
 
                    if (DialogResult.Yes == d.ShowDialog())
 
                    {
 
                        UserAcceptedLicenseOnce = true;
 
                        this.Text += " - license accepted by " + Environment.UserName + " at " + DateTime.Now;
 
                    }
 
                }
 
                else
 
                {
 
                    // user deleted License.txt ;}
 
                    UserAcceptedLicenseOnce = true;
 
                }
 
            }
 
 
            if (UserAcceptedLicenseOnce)
 
            {
 
                MainMap.MapProvider = comboBoxMapType.SelectedItem as GMapProvider;
 
            }
 
            else
 
            {
 
                MainMap.MapProvider = GMapProviders.OpenStreetMap;
 
                comboBoxMapType.SelectedItem = MainMap.MapProvider;
 
            }
 
        }
 
 
        // change mdoe
 
        // change mdoe - MDKfunctional
 
        private void comboBoxMode_DropDownClosed(object sender, EventArgs e)
 
        {
 
            MainMap.Manager.Mode = (AccessMode)comboBoxMode.SelectedValue;
 
            MainMap.ReloadMap();
 
        }
 
 
        // zoom
 
        // zoom - MDKfunctional
 
        private void trackBar1_ValueChanged(object sender, EventArgs e)
 
        {
 
            MainMap.Zoom = trackBarZoomLevel.Value / 100.0;
 
        }
 
 
        // go to
 
        // go to coordinates- MDKfunctional
 
        private void btnGoToCoords_Click(object sender, EventArgs e)
 
        {
 
            try
 
            {
 
                double lat = double.Parse(textBoxLat.Text, CultureInfo.InvariantCulture);
 
                double lng = double.Parse(textBoxLng.Text, CultureInfo.InvariantCulture);
 
 
                MainMap.Position = new PointLatLng(lat, lng);
 
            }
 
            catch (Exception ex)
 
            {
 
                MessageBox.Show("incorrect coordinate format: " + ex.Message);
 
            }
 
        }
 
 
        // goto by geocoder
 
        //private void textBoxGeo_KeyPress(object sender, KeyPressEventArgs e)
 
        //{
 
        //    if ((Keys)e.KeyChar == Keys.Enter)
 
        //    {
 
        //        GeoCoderStatusCode status = MainMap.SetCurrentPositionByKeywords(textBoxGeo.Text);
 
        //        if (status != GeoCoderStatusCode.G_GEO_SUCCESS)
 
        //        {
 
        //            MessageBox.Show("Google Maps Geocoder can't find: '" + textBoxGeo.Text + "', reason: " + status.ToString(), "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
 
        //        }
 
        //    }
 
        //}
 
 
        // reload map
 
        // reload map - MDKfunctional
 
        private void btnReload_Click(object sender, EventArgs e)
 
        {
 
            MainMap.ReloadMap();
 
        }
 
 
        // cache config
 
        // cache config - MDKfunctional
 
        private void checkBoxUseCache_CheckedChanged(object sender, EventArgs e)
 
        {
 
            MainMap.Manager.UseRouteCache = checkBoxUseRouteCache.Checked;
 
            MainMap.Manager.UseGeocoderCache = checkBoxUseRouteCache.Checked;
 
            MainMap.Manager.UsePlacemarkCache = checkBoxUseRouteCache.Checked;
 
            MainMap.Manager.UseDirectionsCache = checkBoxUseRouteCache.Checked;
 
        }
 
 
        // clear cache
 
        // clear cache - MDKfunctional
 
        private void button2_Click(object sender, EventArgs e)
 
        {
 
            if (MessageBox.Show("Are You sure?", "Clear GMap.NET cache?", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
 
            {
 
                try
 
                {
 
                    MainMap.Manager.PrimaryCache.DeleteOlderThan(DateTime.Now, null);
 
                    MessageBox.Show("Done. Cache is clear.");
 
                }
 
                catch (Exception ex)
 
                {
 
                    MessageBox.Show(ex.Message);
 
                }
 
            }
 
        }
 
 
        // set route start 
 
        // set route start  - MDKfunctional
 
        bool hasStartMarker = false;
 
        private void buttonSetStart_Click(object sender, EventArgs e)
 
        {
 
            start = currentMarker.Position;
 
            // - MDKAdd
 
            GMarkerGoogle m = new GMarkerGoogle(currentMarker.Position, GMarkerGoogleType.green_small);
 
            
 
            //prevent multiple start markers from existing
 
            if(hasStartMarker){
 
                objects.Markers.RemoveAt(0);
 
            }
 
 
            //add the marker
 
            m.ToolTipText = "Start";
 
            m.ToolTipMode = MarkerTooltipMode.Always;
 
            objects.Markers.Insert(0, m);
 
 
            hasStartMarker = true;
 
        }
 
 
        // set route end
 
        // set route end - MDKfunctional
 
        bool hasEndMarker = false;
 
        private void buttonSetEnd_Click(object sender, EventArgs e)
 
        {
 
            end = currentMarker.Position;
 
            // - MDKAdd
 
            GMarkerGoogle m = new GMarkerGoogle(currentMarker.Position, GMarkerGoogleType.red_small);
 
 
            //prevent multiple start markers from existing
 
            if (hasEndMarker)
 
            {
 
                objects.Markers.RemoveAt(1);
 
            }
 
            m.ToolTipText = "End";
 
            m.ToolTipMode = MarkerTooltipMode.Always;
 
 
            //add the marker
 
            if (hasStartMarker)
 
            {
 
                objects.Markers.Insert(1, m);
 
            }
 
            else
 
            {
 
                objects.Markers.Insert(0, m);
 
            }
 
            hasEndMarker = true;
 
        }
 
 
        // add test route
 
        // add route - MDKfunctional
 
        private void btnAddRoute_Click(object sender, EventArgs e)
 
        {
 
            RoutingProvider rp = MainMap.MapProvider as RoutingProvider;
 
            if (rp == null)
 
            {
 
                rp = GMapProviders.GoogleMap; // use google if provider does not implement routing
 
            }
 
 
            MapRoute route = rp.GetRoute(start, end, false, false, (int)MainMap.Zoom);
 
            if (route != null)
 
            {
 
                // add route
 
                GMapRoute r = new GMapRoute(route.Points, route.Name);
 
                r.IsHitTestVisible = true;
 
                routes.Routes.Add(r);
 
 
                // add route start/end marks
 
                GMapMarker m1 = new GMarkerGoogle(start, GMarkerGoogleType.green_big_go);
 
                m1.ToolTipText = "Start: " + route.Name;
 
                m1.ToolTipMode = MarkerTooltipMode.Always;
 
 
                GMapMarker m2 = new GMarkerGoogle(end, GMarkerGoogleType.red_big_stop);
 
                m2.ToolTipText = "End: " + end.ToString();
 
                m2.ToolTipMode = MarkerTooltipMode.Always;
 
 
                objects.Markers.Add(m1);
 
                objects.Markers.Add(m2);
 
 
                //MainMap.ZoomAndCenterRoute(r);
 
 
            }
 
        }
 
 
        // add marker on current position - MDKEdit
 
        private void addUserMarker(object sender, EventArgs e)
 
        {
 
            GMarkerGoogle m = new GMarkerGoogle(currentMarker.Position, GMarkerGoogleType.blue_small);
 
            //GMapMarkerRect mBorders = new GMapMarkerRect(currentMarker.Position);
 
            //{
 
            //   mBorders.InnerMarker = m;
 
            //   if(polygon != null)
 
            //   {
 
            //      mBorders.Tag = polygon.Points.Count;
 
            //   }
 
            //   mBorders.ToolTipMode = MarkerTooltipMode.Always;
 
            //}
 
 
            Placemark? p = null;
 
            if (xboxPlacemarkInfo.Checked)
 
            {
 
                GeoCoderStatusCode status;
 
                var ret = GMapProviders.GoogleMap.GetPlacemark(currentMarker.Position, out status);
 
                if (status == GeoCoderStatusCode.G_GEO_SUCCESS && ret != null)
 
                {
 
                    p = ret;
 
                }
 
            }
 
 
            //if(p != null)
 
            //{
 
            //   mBorders.ToolTipText = p.Value.Address;
 
            //}
 
            //else
 
            //{
 
            //   mBorders.ToolTipText = currentMarker.Position.ToString();
 
            //}
 
            m.ToolTipText = "User";
 
            m.ToolTipMode = MarkerTooltipMode.Always;
 
            objects.Markers.Add(m);
 
            //objects.Markers.Add(mBorders);
 
 
            //RegeneratePolygon();
 
        }
 
 
        // add marker from APRS transmission - MDKEdit - TODO: Function not needed; addUserMarker() replaces it ??
 
        private void addMarkerFromButton(object sender, EventArgs e)
 
        {
 
            GMarkerGoogle m = new GMarkerGoogle(currentMarker.Position, GMarkerGoogleType.blue_small);
 
            //GMapMarkerRect mBorders = new GMapMarkerRect(currentMarker.Position);
 
            //{
 
            //   mBorders.InnerMarker = m;
 
            //   if(polygon != null)
 
            //   {
 
            //      mBorders.Tag = polygon.Points.Count;
 
            //   }
 
            //   mBorders.ToolTipMode = MarkerTooltipMode.Always;
 
            //}
 
 
            Placemark? p = null;
 
            if (xboxPlacemarkInfo.Checked)
 
            {
 
                GeoCoderStatusCode status;
 
                var ret = GMapProviders.GoogleMap.GetPlacemark(currentMarker.Position, out status);
 
                if (status == GeoCoderStatusCode.G_GEO_SUCCESS && ret != null)
 
                {
 
                    p = ret;
 
                }
 
            }
 
 
            //if(p != null)
 
            //{
 
            //   mBorders.ToolTipText = p.Value.Address;
 
            //}
 
            //else
 
            //{
 
            //   mBorders.ToolTipText = currentMarker.Position.ToString();
 
            //}
 
            m.ToolTipText = "Tracker";
 
            m.ToolTipMode = MarkerTooltipMode.Always;
 
            objects.Markers.Add(m);
 
            //objects.Markers.Add(mBorders);
 
 
            //RegeneratePolygon();
 
        }
 
 
        // clear routes
 
        // clear routes - MDKfunctional
 
        private void btnClearRoutes_Click(object sender, EventArgs e)
 
        {
 
            routes.Routes.Clear();
 
 
            //remove start/end markes of this route
 
            string markerText = "";
 
            int count = objects.Markers.Count;
 
            for (int i = count-1; i >= 0; i--)
 
            {
 
                markerText = objects.Markers[i].ToolTipText.ToString();
 
                if (markerText.StartsWith("Start"))
 
                {
 
                    objects.Markers.RemoveAt(i);
 
                }
 
                else if (markerText.StartsWith("End"))
 
                {
 
                    objects.Markers.RemoveAt(i); 
 
                    //objects.Markers[i].Dispose();
 
                }                
 
            }
 
            hasEndMarker = false;
 
            hasStartMarker = false;
 
        }
 
        
 
        // clear markers
 
        // clear markers - MDKfunctional
 
        private void btnClearMarkers_Click(object sender, EventArgs e)
 
        {
 
            //preserve stert/end markes of this route
 
            string markerText = ""; 
 
            int count = objects.Markers.Count;
 
            for (int i = (count - 1); i >= 0; i--)
 
            {
 
                markerText = objects.Markers[i].ToolTipText.ToString();
 
                if (markerText.StartsWith("User"))
 
                {
 
                    objects.Markers.RemoveAt(i); 
 
                }
 
            }
 
        }
 
 
        //clears all markers and routes - MDKfunctional
 
        private void btnClearAll_Click(object sender, EventArgs e)
 
        {
 
            objects.Markers.Clear();
 
            objects.Routes.Clear();
 
            routes.Routes.Clear();
 
            hasEndMarker = false;
 
            hasStartMarker = false;
 
        }
 
 
        // show current marker
 
        // show current marker - MDKfunctional
 
        private void checkBoxCurrentMarker_CheckedChanged(object sender, EventArgs e)
 
        {
 
            currentMarker.IsVisible = xboxCurrentMarker.Checked;
 
        }
 
 
        // can drag
 
        // can drag - MDKfunctional
 
        private void checkBoxCanDrag_CheckedChanged(object sender, EventArgs e)
 
        {
 
            MainMap.CanDragMap = xboxCanDrag.Checked;
 
        }
 
 
 
 
        // zoom to max for markers
 
        // zoom to max for markers - MDKfunctional
 
        private void button7_Click(object sender, EventArgs e)
 
        {
 
            MainMap.ZoomAndCenterMarkers("objects");
 
        }
 
 
        // export map data
 
        // export map data - MDKfunctional
 
        private void button9_Click(object sender, EventArgs e)
 
        {
 
            MainMap.ShowExportDialog();
 
        }
 
 
        // import map data
 
        // import map data - MDKfunctional
 
        private void button10_Click(object sender, EventArgs e)
 
        {
 
            MainMap.ShowImportDialog();
 
        }
 
 
        // prefetch
 
        // prefetch - MDKfunctional
 
        private void button11_Click(object sender, EventArgs e)
 
        {
 
            RectLatLng area = MainMap.SelectedArea;
 
            if (!area.IsEmpty)
 
            {
 
                for (int i = (int)MainMap.Zoom; i <= MainMap.MaxZoom; i++)
 
                {
 
                    DialogResult res = MessageBox.Show("Ready ripp at Zoom = " + i + " ?", "GMap.NET", MessageBoxButtons.YesNoCancel);
 
 
                    if (res == DialogResult.Yes)
 
                    {
 
                        using (TilePrefetcher obj = new TilePrefetcher())
 
                        {
 
                            obj.Owner = this;
 
                            obj.ShowCompleteMessage = true;
 
                            obj.Start(area, i, MainMap.MapProvider, 100);
 
                        }
 
                    }
 
                    else if (res == DialogResult.No)
 
                    {
 
                        continue;
 
                    }
 
                    else if (res == DialogResult.Cancel)
 
                    {
 
                        break;
 
                    }
 
                }
 
            }
 
            else
 
            {
 
                MessageBox.Show("Select map area holding ALT", "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
 
            }
 
        }
 
 
        // saves current map view 
 
        // saves current map view - MDKfunctional
 
        private void btnSaveView_Click(object sender, EventArgs e)
 
        {
 
            try
 
            {
 
                using (SaveFileDialog sfd = new SaveFileDialog())
 
                {
 
                    sfd.Filter = "PNG (*.png)|*.png";
 
                    sfd.FileName = "GMap.NET image";
 
 
                    Image tmpImage = MainMap.ToImage();
 
                    if (tmpImage != null)
 
                    {
 
                        using (tmpImage)
 
                        {
 
                            if (sfd.ShowDialog() == DialogResult.OK)
 
                            {
 
                                tmpImage.Save(sfd.FileName);
 
 
                                MessageBox.Show("Image saved: " + sfd.FileName, "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Information);
 
                            }
 
                        }
 
                    }
 
                }
 
            }
 
            catch (Exception ex)
 
            {
 
                MessageBox.Show("Image failed to save: " + ex.Message, "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
            }
 
        }
 
 
        // debug tile grid
 
        private void checkBoxDebug_CheckedChanged(object sender, EventArgs e)
 
        // debug tile grid - MDKfunctional
 
        private void showGridlines(object sender, EventArgs e)
 
        {
 
            MainMap.ShowTileGridLines = xboxGrid.Checked;
 
        }
 
 
        // launch static map maker
 
        // saves image of selected area - MDKfunctional
 
        private void btnGetStatic_Click(object sender, EventArgs e)
 
        {
 
            StaticImage st = new StaticImage(this);
 
            st.Owner = this;
 
            st.Show();
 
        }
 
 
        // add gps log from mobile
 
        private void btnMobileLog_Click(object sender, EventArgs e)
 
        {
 
            using (FileDialog dlg = new OpenFileDialog())
 
            {
 
                dlg.CheckPathExists = true;
 
                dlg.CheckFileExists = false;
 
                dlg.AddExtension = true;
 
                dlg.DefaultExt = "gpsd";
 
                dlg.ValidateNames = true;
 
                dlg.Title = "GMap.NET: open gps log generated in your windows mobile";
 
                dlg.Filter = "GMap.NET gps log DB files (*.gpsd)|*.gpsd";
 
                dlg.FilterIndex = 1;
 
                dlg.RestoreDirectory = true;
 
 
                if (dlg.ShowDialog() == DialogResult.OK)
 
                {
 
                    routes.Routes.Clear();
 
 
                    mobileGpsLog = dlg.FileName;
 
 
                    // add routes
 
                    AddGpsMobileLogRoutes(dlg.FileName);
 
 
                    if (routes.Routes.Count > 0)
 
                    {
 
                        MainMap.ZoomAndCenterRoutes(null);
 
                    }
 
                }
 
            }
 
        }
 
 
        // key-up events
 
        // key-up events - MDKfunctional
 
        private void MainForm_KeyUp(object sender, KeyEventArgs e)
 
        {
 
            int offset = -22;
 
 
            if (e.KeyCode == Keys.Left)
 
            {
 
                MainMap.Offset(-offset, 0);
 
            }
 
            else if (e.KeyCode == Keys.Right)
 
            {
 
                MainMap.Offset(offset, 0);
 
            }
 
            else if (e.KeyCode == Keys.Up)
 
            {
 
                MainMap.Offset(0, -offset);
 
            }
 
            else if (e.KeyCode == Keys.Down)
 
            {
 
                MainMap.Offset(0, offset);
 
            }
 
            else if (e.KeyCode == Keys.Delete)
 
            {
 
                //if (currentPolygon != null)
 
                //{
 
                //    polygons.Polygons.Remove(currentPolygon);
 
                //    currentPolygon = null;
 
                //}
 
 
                if (currentRoute != null)
 
                {
 
                    routes.Routes.Remove(currentRoute);
 
                    currentRoute = null;
 
                }
 
 
                if (CurentRectMarker != null)
 
                {
 
                    objects.Markers.Remove(CurentRectMarker);
 
 
                    if (CurentRectMarker.InnerMarker != null)
 
                    {
 
                        objects.Markers.Remove(CurentRectMarker.InnerMarker);
 
                    }
 
                    CurentRectMarker = null;
 
 
                    //RegeneratePolygon();
 
                }
 
            }
 
            else if (e.KeyCode == Keys.Escape)
 
            {
 
                MainMap.Bearing = 0;
 
 
                //if (currentTransport != null && !MainMap.IsMouseOverMarker)
 
                //{
 
                //    currentTransport.ToolTipMode = MarkerTooltipMode.OnMouseOver;
 
                //    currentTransport = null;
 
                //}
 
            }
 
        }
 
 
        // key-press events
 
        // key-press events - MDKfunctional
 
        private void MainForm_KeyPress(object sender, KeyPressEventArgs e)
 
        {
 
            if (MainMap.Focused)
 
            {
 
                if (e.KeyChar == '+')
 
                {
 
                    MainMap.Zoom = ((int)MainMap.Zoom) + 1;
 
                }
 
                else if (e.KeyChar == '-')
 
                {
 
                    MainMap.Zoom = ((int)(MainMap.Zoom + 0.99)) - 1;
 
                }
 
                else if (e.KeyChar == 'a')
 
                {
 
                    MainMap.Bearing--;
 
                }
 
                else if (e.KeyChar == 'z')
 
                {
 
                    MainMap.Bearing++;
 
                }
 
            }
 
        }
 
 
        //changes zoom - MDKfunctional
 
        private void buttonZoomUp_Click(object sender, EventArgs e)
 
        {
 
            MainMap.Zoom = ((int)MainMap.Zoom) + 1;
 
        }
 
 
        //changes zoom - MDKfunctional
 
        private void buttonZoomDown_Click(object sender, EventArgs e)
 
        {
 
            MainMap.Zoom = ((int)(MainMap.Zoom + 0.99)) - 1;
 
        }
 
 
        // engage some live demo
 
        //private void RealTimeChanged(object sender, EventArgs e)
 
        //{
 
        //   objects.Markers.Clear();
 
        //   polygons.Polygons.Clear();
 
        //   routes.Routes.Clear();
 
 
        //   //// start performance test
 
        //   //if(rbtnPerf.Checked)
 
        //   //{
 
        //   //   timerPerf.Interval = 44;
 
        //   //   timerPerf.Start();
 
        //   //}
 
        //   //else
 
        //   //{
 
        //   //   // stop performance test
 
        //   //   timerPerf.Stop();
 
        //   //}
 
 
        //   // start realtime transport tracking demo
 
        //   //if(rbtnFlight.Checked)
 
        //   //{
 
        //   //   if(!flightWorker.IsBusy)
 
        //   //   {
 
        //   //      firstLoadFlight = true;
 
        //   //      flightWorker.RunWorkerAsync();
 
        //   //   }
 
        //   //}
 
        //   //else
 
        //   //{
 
        //   //   if(flightWorker.IsBusy)
 
        //   //   {
 
        //   //      flightWorker.CancelAsync();
 
        //   //   }
 
        //   //}
 
 
        //   // vehicle demo
 
        //   //if(rbtnVehicle.Checked)
 
        //   //{
 
        //   //   if(!transportWorker.IsBusy)
 
        //   //   {
 
        //   //      firstLoadTrasport = true;
 
        //   //      transportWorker.RunWorkerAsync();
 
        //   //   }
 
        //   //}
 
        //   //else
 
        //   //{
 
        //   //   if(transportWorker.IsBusy)
 
        //   //   {
 
        //   //      transportWorker.CancelAsync();
 
        //   //   }
 
        //   //}
 
 
        //   // start live tcp/ip connections demo
 
        //   if(rbtnTcpIp.Checked)
 
        //   {
 
        //      GridConnections.Visible = true;
 
        //      checkBoxTcpIpSnap.Visible = true;
 
        //      checkBoxTraceRoute.Visible = true;
 
        //      GridConnections.Refresh();
 
 
        //      if(!connectionsWorker.IsBusy)
 
        //      {
 
        //         //if(MainMap.Provider != MapType.GoogleMap)
 
        //         //{
 
        //         //   MainMap.MapType = MapType.GoogleMap;
 
        //         //}
 
        //         MainMap.Zoom = 5;
 
 
        //         connectionsWorker.RunWorkerAsync();
 
        //      }
 
        //   }
 
        //   else
 
        //   {
 
        //      CountryStatusView.Clear();
 
        //      GridConnections.Visible = false;
 
        //      checkBoxTcpIpSnap.Visible = false;
 
        //      checkBoxTraceRoute.Visible = false;
 
 
        //      if(connectionsWorker.IsBusy)
 
        //      {
 
        //         connectionsWorker.CancelAsync();
 
        //      }
 
 
        //      if(ipInfoSearchWorker.IsBusy)
 
        //      {
 
        //         ipInfoSearchWorker.CancelAsync();
 
        //      }
 
 
        //      if(iptracerWorker.IsBusy)
 
        //      {
 
        //         iptracerWorker.CancelAsync();
 
        //      }
 
        //   }
 
        //}
 
 
        // export mobile gps log to gpx file
 
        private void buttonExportToGpx_Click(object sender, EventArgs e)
 
        {
 
            try
 
            {
 
                using (SaveFileDialog sfd = new SaveFileDialog())
 
                {
 
                    sfd.Filter = "GPX (*.gpx)|*.gpx";
 
                    sfd.FileName = "mobile gps log";
 
 
                    DateTime? date = null;
 
                    DateTime? dateEnd = null;
 
 
                    if (MobileLogFrom.Checked)
 
                    {
 
                        date = MobileLogFrom.Value.ToUniversalTime();
 
 
                        sfd.FileName += " from " + MobileLogFrom.Value.ToString("yyyy-MM-dd HH-mm");
 
                    }
 
 
                    if (MobileLogTo.Checked)
 
                    {
 
                        dateEnd = MobileLogTo.Value.ToUniversalTime();
 
 
                        sfd.FileName += " to " + MobileLogTo.Value.ToString("yyyy-MM-dd HH-mm");
 
                    }
 
 
                    if (sfd.ShowDialog() == DialogResult.OK)
 
                    {
 
                        var log = Stuff.GetRoutesFromMobileLog(mobileGpsLog, date, dateEnd, 3.3);
 
                        if (log != null)
 
                        {
 
                            if (MainMap.Manager.ExportGPX(log, sfd.FileName))
 
                            {
 
                                MessageBox.Show("GPX saved: " + sfd.FileName, "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Information);
 
                            }
 
                        }
 
                    }
 
                }
 
            }
 
            catch (Exception ex)
 
            {
 
                MessageBox.Show("GPX failed to save: " + ex.Message, "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
            }
 
        }
 
 
        // load gpx file
 
        private void btnLoadGPX_Click(object sender, EventArgs e)
 
        {
 
            using (FileDialog dlg = new OpenFileDialog())
 
            {
 
                dlg.CheckPathExists = true;
 
                dlg.CheckFileExists = false;
 
                dlg.AddExtension = true;
 
                dlg.DefaultExt = "gpx";
 
                dlg.ValidateNames = true;
 
                dlg.Title = "GMap.NET: open gpx log";
 
                dlg.Filter = "gpx files (*.gpx)|*.gpx";
 
                dlg.FilterIndex = 1;
 
                dlg.RestoreDirectory = true;
 
 
                if (dlg.ShowDialog() == DialogResult.OK)
 
                {
 
                    try
 
                    {
 
                        string gpx = File.ReadAllText(dlg.FileName);
 
 
                        gpxType r = MainMap.Manager.DeserializeGPX(gpx);
 
                        if (r != null)
 
                        {
 
                            if (r.trk.Length > 0)
 
                            {
 
                                foreach (var trk in r.trk)
 
                                {
 
                                    List<PointLatLng> points = new List<PointLatLng>();
 
 
                                    foreach (var seg in trk.trkseg)
 
                                    {
 
                                        foreach (var p in seg.trkpt)
 
                                        {
 
                                            points.Add(new PointLatLng((double)p.lat, (double)p.lon));
 
                                        }
 
                                    }
 
 
                                    GMapRoute rt = new GMapRoute(points, string.Empty);
 
                                    {
 
                                        rt.Stroke = new Pen(Color.FromArgb(144, Color.Red));
 
                                        rt.Stroke.Width = 5;
 
                                        rt.Stroke.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDot;
 
                                    }
 
                                    routes.Routes.Add(rt);
 
                                }
 
 
                                MainMap.ZoomAndCenterRoutes(null);
 
                            }
 
                        }
 
                    }
 
                    catch (Exception ex)
 
                    {
 
                        Debug.WriteLine("GPX import: " + ex.ToString());
 
                        MessageBox.Show("Error importing gpx: " + ex.Message, "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 
                    }
 
                }
 
            }
 
        }
 
 
        // enable/disable host tracing
 
        //private void checkBoxTraceRoute_CheckedChanged(object sender, EventArgs e)
 
        //{
 
        //   TryTraceConnection = checkBoxTraceRoute.Checked;
 
        //   if(!TryTraceConnection)
 
        //   {
 
        //      if(iptracerWorker.IsBusy)
 
        //      {
 
        //         iptracerWorker.CancelAsync();
 
        //      }
 
        //      routes.Routes.Clear();
 
        //   }
 
        //}
 
 
        //private void GridConnections_DoubleClick(object sender, EventArgs e)
 
        //{
 
        //   GridConnections.ClearSelection();
 
        //}
 
 
        // open disk cache location
 
        // open disk cache location - MDKuntested
 
        private void button17_Click(object sender, EventArgs e)
 
        {
 
            try
 
            {
 
                string argument = "/select, \"" + MainMap.CacheLocation + "TileDBv5\"";
 
                System.Diagnostics.Process.Start("explorer.exe", argument);
 
            }
 
            catch (Exception ex)
 
            {
 
                MessageBox.Show("Failed to open: " + ex.Message, "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
            }
 
        }
 
 
        #endregion
 
 
        #region chart click events
 
        
 
        //this method clears the background of all charts
 
        private void ResetChartColors()
 
        {
 
            chrtTopLeft.BackColor = Color.LightGray;
 
            chrtTopRight.BackColor = Color.LightGray;
 
            chrtBottomLeft.BackColor = Color.LightGray;
 
            chrtBottomRight.BackColor = Color.LightGray;
 
        }
 
 
        ///TODO: check min/max/average with real data
 
 
        //highlight Top Left chart on click and set text box values based on this chart
 
        private void chrtTopLeft_Click(object sender, EventArgs e)
 
        {
 
            ResetChartColors();
 
            chrtTopLeft.BackColor = Color.Gray;
 
            tboxChartData.Text = "Altitude";
 
            tboxCurrent.Text = tboxAtmoAltitude.Text;
 
            tboxAverage.Text = (velocitySum / chrtBottomRight.Series.FindByName("altitudeTrend").Points.Count).ToString();
 
            tboxMax.Text = chrtBottomRight.Series.FindByName("altitudeTrend").Points.FindMaxByValue().ToString();
 
            tboxMin.Text = chrtBottomRight.Series.FindByName("altitudeTrend").Points.FindMinByValue().ToString();
 
        }
 
 
        //highlight Top Right chart on click and set text box values based on this chart
 
@@ -2763,58 +1254,48 @@ namespace Demo.WindowsForms
 
            // firsttowdigits should be 77 at this point.
 
            int firsttwodigits = ((int)f) / 100;                               //This assumes that f < 10000.
 
            float nexttwodigits = f - (float)(firsttwodigits * 100);
 
            float theFinalAnswer = (float)(firsttwodigits + nexttwodigits / 60.0);
 
            return theFinalAnswer;
 
        }
 
 
        //must change lat/long coords to properly place map marker
 
        public decimal DmsToDD(double d, double m = 0, double s = 0)
 
        {
 
            return Convert.ToDecimal((d + (m / 60) + (s / 3600)) * (d < 0 ? -1 : 1));
 
        }
 
 
        // add marker from an APRS transmission - MDKEdit
 
        private void addTrackerMarker(string lat, string lng)
 
        {
 
 
            double latitude = double.Parse(lat), longitude = double.Parse(lng);
 
            PointLatLng APRSloc = new PointLatLng();
 
            APRSloc.Lat = conv_coords((float)latitude);
 
            APRSloc.Lng = conv_coords((float)longitude)*-1;
 
 
            GMarkerGoogle m = new GMarkerGoogle(APRSloc, GMarkerGoogleType.blue_small);
 
 
            Placemark? p = null;
 
            if (xboxPlacemarkInfo.Checked)
 
            {
 
                GeoCoderStatusCode status;
 
                var ret = GMapProviders.GoogleMap.GetPlacemark(currentMarker.Position, out status);
 
                if (status == GeoCoderStatusCode.G_GEO_SUCCESS && ret != null)
 
                {
 
                    p = ret;
 
                }
 
            }
 
            m.ToolTipText = "Tracker";
 
            m.ToolTipMode = MarkerTooltipMode.Always;
 
            objects.Markers.Add(m);
 
        }
 
 
        //places text in the message box
 
        delegate void SetTextDelegate(string value);
 
        public void AddTextDelegate(string value)
 
        {
 
            if (InvokeRequired)
 
            {
 
                Invoke(new SetTextDelegate(AddTextDelegate), value);
 
            }
 
            else
 
            {
 
                tboxMessageBox.AppendText(value);// += value;
 
                textBoxMarkerCount.Text = objects.Markers.Count.ToString();
 
            }
 
        }
 
 
        //this is where most of the transmission processing is done
 
        delegate void ChartDataDelegate(string dataType, string data);
 
        public void ChartDelegate(string dataType, string data)
 
        {
 
@@ -3043,29 +1524,30 @@ namespace Demo.WindowsForms
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 8:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                case 9:
 
                    testData = "KD8TDF-9>APRS,WIDE2-1:/151916z" + testLat + "N/" + testLng + "WO005/0.013 V" + testVelocity + " A" + testAltitude + " H" + testHumidity + " P" + testPressure;
 
                    ParseIncomingData(testData);
 
                    break;
 
                default:
 
                    break;
 
            }
 
            testIteration++;
 
        }
 
 
        public double GetRandomNumber(double minimum, double maximum)
 
        {
 
            Random random = new Random();
 
            return random.NextDouble() * (maximum - minimum) + minimum;
 
        }
 
 
        #endregion
 
 
 
    }
 
}
 
//TODO: CSV logging, offline caching
 
//weekly changes: chart text display, map functionality[routes, layout, markers], 
 
//weekly changes: chart text display, map functionality[routes, layout, markers], find/remove unused code
 
//resume @: start/stop markers clear tracker markers after route clear
 
\ No newline at end of file
0 comments (0 inline, 0 general)