Exemple #1
0
 public OpenMultipleFilesInGoogleEarthDialog(IEnumerable <string> initialFileNames, KmlMultipleFileExporterProperties multipleFileProperties) : this()
 {
     updatingUINow = true;
     fileSelector.FileDialogTitle       = Strings.AddFiles;
     fileSelector.FileDialogFilter      = Strings.FileFilter_AllQuickRouteFiles + "|" + Strings.FileFilter_QuickRouteFiles + "|" + Strings.FileFilter_QuickRoute10Files + "|" + Strings.FileFilter_JpegFilesExportedFromQuickRoute;
     fileSelector.FileDialogFilterIndex = 1;
     fileSelector.AddFiles(initialFileNames);
     originalMultipleFileProperties = (KmlMultipleFileExporterProperties)multipleFileProperties.Clone();
     SetPropertiesToControls(originalMultipleFileProperties);
     updatingUINow = false;
     UpdateUI();
 }
Exemple #2
0
 private void SetPropertiesToControls(KmlMultipleFileExporterProperties p)
 {
     updatingUINow              = true;
     includeRoutes.Checked      = p.IncludeRoutes;
     includeReplay.Checked      = p.IncludeReplay;
     massStart.Checked          = p.MassStart;
     replayTailsVisible.Checked = p.HasReplayTails;
     if (p.HasReplayTails)
     {
         replayTailDuration.Text = (p.ReplayTails[0].EndVisible.HasValue
                                 ? p.ReplayTails[0].EndVisible.Value.TotalSeconds.ToString()
                                 : Strings.Infinite);
     }
     replayTimeInterval.Text           = p.ReplayTimeInterval.TotalSeconds.ToString();
     replayRestartAfterEachLap.Checked = p.ReplayRestartAfterEachLap;
     updatingUINow = false;
 }
Exemple #3
0
        private KmlMultipleFileExporterProperties GetPropertiesFromControls()
        {
            var p = new KmlMultipleFileExporterProperties();

            // include routes
            p.IncludeRoutes = includeRoutes.Checked;

            // include replay
            p.IncludeReplay = includeReplay.Checked;

            // mass start
            p.MassStart = massStart.Checked;

            // tails
            var tails = new List <KmlReplayTail>();

            if (replayTailsVisible.Checked)
            {
                var tail = new KmlReplayTail()
                {
                    StartVisible = new TimeSpan(0)
                };
                double tailDurationSeconds = 0;
                if (double.TryParse(replayTailDuration.Text, out tailDurationSeconds))
                {
                    tailDurationSeconds = Math.Max(0.1, Math.Min(3600, tailDurationSeconds));
                    tail.EndVisible     = new TimeSpan((long)(tailDurationSeconds * TimeSpan.TicksPerSecond));
                }
                else
                {
                    tail.EndVisible = null;
                }
                tails.Add(tail);
            }
            p.ReplayTails = tails;

            // replay time interval
            double timeInterval;

            if (double.TryParse(replayTimeInterval.Text, out timeInterval))
            {
                timeInterval         = Math.Max(0.1, Math.Min(3600, timeInterval));
                p.ReplayTimeInterval = new TimeSpan((long)(timeInterval * TimeSpan.TicksPerSecond));
            }
            else
            {
                p.ReplayTimeInterval = originalMultipleFileProperties.ReplayTimeInterval;
            }

            // restart after each lap
            p.ReplayRestartAfterEachLap = replayRestartAfterEachLap.Checked;


            // opacity
            var opacity = (originalMultipleFileProperties.Colors.Count > 0 ? (double)originalMultipleFileProperties.Colors[0].A / 255 : 1.0);

            for (var i = 0; i < originalMultipleFileProperties.Colors.Count; i++)
            {
                p.Colors[i] = Color.FromArgb((int)(255 * opacity), p.Colors[i]);
            }

            // route line width
            p.RouteLineWidth = originalMultipleFileProperties.RouteLineWidth;

            return(p);
        }