예제 #1
0
파일: Main.cs 프로젝트: RythBlade/odin
        private void saveTelemetryToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveDialog = new SaveFileDialog();

            saveDialog.Filter = "Physics Telemetry | *.ptm";
            saveDialog.Title  = "Save Telemetry";

            if (saveDialog.ShowDialog() == DialogResult.OK)
            {
                DataSerialiser serialiser = new DataSerialiser();
                serialiser.Filename = saveDialog.FileName;

                bool success = serialiser.SaveTelemetry(frameData);

                if (success)
                {
                    isTelemetryDataDirty    = false;
                    loadedTelemetryFileName = saveDialog.FileName;
                }
                else
                {
                    MessageBox.Show($"An error occurred saving the telemetry to the file: {saveDialog.FileName}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                BuildAndSetApplicationTitleString();
            }
        }
예제 #2
0
파일: Main.cs 프로젝트: RythBlade/odin
        private void openTelemetryToolStripMenuItem_Click(object sender, EventArgs e)
        {
            bool shouldProceed = false;

            if (isTelemetryDataDirty)
            {
                DialogResult result = MessageBox.Show("You have unsaved telemetry data. Are you want to open another file and lose this data?", "Are you sure?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);

                if (result == DialogResult.Yes)
                {
                    shouldProceed = true;
                }
            }
            else
            {
                shouldProceed = true;
            }

            if (shouldProceed)
            {
                OpenFileDialog openDialog = new OpenFileDialog();
                openDialog.Filter = "Physics Telemetry | *.ptm";
                openDialog.Title  = "Open Telemetry";

                if (openDialog.ShowDialog() == DialogResult.OK)
                {
                    DataSerialiser serialiser = new DataSerialiser();
                    serialiser.Filename = openDialog.FileName;

                    FrameData readFrameData = new FrameData();
                    bool      success       = serialiser.OpenTelemetry(readFrameData);

                    if (success)
                    {
                        isTelemetryDataDirty    = false;
                        loadedTelemetryFileName = openDialog.FileName;
                        DisplayLoadedTelemetry(readFrameData);
                    }
                    else
                    {
                        string errorMessage = "Failed to properly read in the telemetry file. It could be corrupt. Would you like to try and use what data was successfully read?\n";
                        errorMessage += $"Potentially corrupt frames read: {readFrameData.Frames.Count}";

                        DialogResult result = MessageBox.Show(errorMessage, "Error", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Error);

                        if (result == DialogResult.Yes)
                        {
                            isTelemetryDataDirty    = false;
                            loadedTelemetryFileName = openDialog.FileName;
                            DisplayLoadedTelemetry(readFrameData);
                        }
                    }
                }
            }
        }