Beispiel #1
0
        private void StartJtg(string fnArg, Action finished)
        {
            string javapath = info.Settings.Get("jTGStarter.javapath", "java");
            string jtgPath  = info.Settings.Get("jTGStarter.jtgpath", JTGShared.DEFAULT_FILENAME);

            var compat = JTGShared.JTGCompatCheck(jtgPath);

            if (!compat.Compatible)
            {
                MessageBox.Show("Die gewählte Version von jTrainGraph ist wahrscheinlich nicht mit FPledit kompatibel. Bitte verwenden Sie jTrainGraph 2.02 - 2.03 oder 3.03 (und höher)!",
                                "jTrainGraphStarter: Fehler", MessageBoxType.Error);
                return;
            }
            if (info.Timetable.Version != compat.Version && info.Timetable.Type != TimetableType.Network)
            {
                MessageBox.Show("Die gewählte Version von jTrainGraph ist wahrscheinlich nicht mit der aktuellen Fahrplandatei kompatibel.",
                                "jTrainGraphStarter: Fehler", MessageBoxType.Error);
                return;
            }

            string jtgFolder = Path.GetDirectoryName(jtgPath);

            Process p = new Process();

            p.StartInfo.WorkingDirectory = jtgFolder;
            p.StartInfo.FileName         = javapath;
            p.StartInfo.Arguments        = "-jar \"" + jtgPath + "\" \"" + fnArg + "\"";

            try
            {
                try
                {
                    p.Start();
                    info.Logger.Info("Wartet darauf, dass jTrainGraph beendet wird...");
                    p.WaitForExit();
                    info.Logger.Info("jTrainGraph beendet! Lade Datei neu...");

                    if (p.ExitCode != 0)
                    {
                        throw new Exception("Process exited with error code " + p.ExitCode);
                    }
                }
                catch (Exception e)
                {
                    info.Logger.Error("Fehler beim Starten von jTrainGraph: Möglicherweise ist das jTrainGraphStarter Plugin falsch konfiguriert! Zur Konfiguration siehe jTrainGraph > Einstellungen");
                    info.Logger.LogException(e);
                    return;
                }

                finished();
            }
            catch (Exception e)
            {
                info.Logger.Error("jTrainGraphStarter: " + e.Message);
                info.Logger.LogException(e);
            }
        }
Beispiel #2
0
        private void chooseJtgButton_Click(object sender, EventArgs e)
        {
            using (var ofd = new OpenFileDialog())
            {
                ofd.AddLegacyFilter("JAR-Dateien (*.jar)|*.jar");
                if (ofd.ShowDialog(this) == DialogResult.Ok)
                {
                    jtgPathTextBox.Text = ofd.FileName;

                    var compat = JTGShared.JTGCompatCheck(jtgPathTextBox.Text);
                    if (compat.Version.HasValue)
                    {
                        versionComboBox.SelectedValue = versionComboBox.DataStore.
                                                        FirstOrDefault(i => ((VersionItem)i).Version == compat.Version);
                    }
                }
            }
        }
Beispiel #3
0
        private void closeButton_Click(object sender, EventArgs e)
        {
            bool jtgexists  = File.Exists(jtgPathTextBox.Text) || ExecutableExists(jtgPathTextBox.Text);
            bool javaexists = ExecutableExists(javaPathTextBox.Text);
            var  compat     = JTGShared.JTGCompatCheck(jtgPathTextBox.Text);

            if (!javaexists || !jtgexists || !compat.Compatible)
            {
                var text = "";
                if (!jtgexists)
                {
                    text += "Die angegebene Datei für jTrainGraph wurde nicht gefunden. ";
                }
                if (!compat.Compatible)
                {
                    text += "Die gewählte Version von jTrainGraph ist wahrscheinlich nicht mit FPledit kompatibel. Bitte verwenden Sie jTrainGraph 2.02 - 2.03 oder 3.03 (und höher)! ";
                }
                if (!javaexists)
                {
                    text += "Java wurde unter dem angegebenen Pfad nicht gefunden. ";
                }
                text += "Wollen Sie trotzdem fortfahren?";
                if (MessageBox.Show(text, "jTrainGraphStarter: Fehler", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }
            }

            var targetVersion = ((VersionItem)versionComboBox.SelectedValue).Version;

            settings.SetEnum("jTGStarter.target-version", targetVersion);
            settings.Set("jTGStarter.show-message", !messageCheckBox.Checked.Value);
            settings.Set("jTGStarter.javapath", javaPathTextBox.Text);
            settings.Set("jTGStarter.jtgpath", jtgPathTextBox.Text);
            Close();
        }