예제 #1
0
        private LoksimFile LoadFile(L3dFilePath path)
        {
            LoksimFile file = null;

            try
            {
                switch (System.IO.Path.GetExtension(path.AbsolutePath).ToLower())
                {
                case ".l3dwth":
                {
                    WeatherFile f = new WeatherFile();
                    f.LoadFromFile(path);
                    file = f;
                }
                break;

                case ".l3dsky":
                {
                    SkyFile f = new SkyFile();
                    f.LoadFromFile(path);
                    file = f;
                }
                break;

                case ".l3dfst":
                {
                    DrivingCabFile f = new DrivingCabFile();
                    f.LoadFromFile(path);
                    file = f;
                }
                break;

                default:
                    Debug.Assert(false, "Unknown File Type");
                    break;
                }
                this.Title = Loksim3D.WetterEdit.Resources.Strings.AppName + " [" + path.Filename + "]";
                Settings.RegistrySettings.Default.AddRecentFile(path);
            }
            catch (Exception ex)
            {
                Mouse.OverrideCursor = null;
                MessageBox.Show(String.Format(Loksim3D.WetterEdit.Resources.Strings.ErrorLoadingFile_0_Msg_1_, path.Filename, ex.Message),
                                Loksim3D.WetterEdit.Resources.Strings.AppName, MessageBoxButton.OK, MessageBoxImage.Error);
            }
            return(file);
        }
예제 #2
0
        internal void CreateNewFile(string fileToOpen)
        {
            if (fileToOpen != null)
            {
                string     arg0 = _fileToOpen.Trim();
                LoksimFile file = null;
                switch (arg0.ToLower())
                {
                case "-l3dsky":
                    file = new SkyFile();
                    break;

                case "-l3dwth":
                    file = WeatherFile.CreateNewDefaultFile();
                    break;

                case "-l3dfst":
                    file = new DrivingCabFile();
                    break;

                default:
                    file = LoadFile(new L3dFilePath(arg0));
                    break;
                }
                if (file != null)
                {
                    SetCtrlAndViewModel(file);
                }
            }
#if DEBUG
            //TODO Just for driving cab dev

            /*
             * else
             * {
             *  LoksimFile f = new DrivingCabFile();
             *  SetCtrlAndViewModel(f);
             * }
             */
#endif
        }
예제 #3
0
        private void ButtonOK_Click(object sender, RoutedEventArgs e)
        {
            ListViewItem it = listView.SelectedItem as ListViewItem;

            if (it != null && it.Tag != null)
            {
                switch (it.Tag.ToString())
                {
                case "l3dsky":
                    SelectedFile = new SkyFile();
                    break;

                case "l3dwth":
                    SelectedFile = WeatherFile.CreateNewDefaultFile();
                    break;

                case "l3dfst":
                    SelectedFile = new DrivingCabFile();
                    break;
                }
                DialogResult = true;
                Close();
            }
        }
예제 #4
0
 public DrivingCabViewModel(DrivingCabFile drivingCabFile, Window parentWindow)
     : base(drivingCabFile, parentWindow)
 {
     _drivingCabFile = drivingCabFile;
 }