Exemplo n.º 1
0
        async Task <string> SelectSpectrumAsync(string description)
        {
            var message = new SelectOpenFileMessage(this)
            {
                Message = description
            };

            message.Filter = new string[] { "id" };
            Messenger.Default.Send(this, message);
            if (!string.IsNullOrEmpty(message.SelectedFile))
            {
                var id_file = message.SelectedFile;
                var dir     = System.IO.Path.GetDirectoryName(id_file);
                if ((await IdFile.CheckTypeAsync(id_file)) == DataType.WideScan)
                {
                    return(dir);
                }
                else
                {
                    // ※ViewModelからUIにメッセージを送る仕組みはどうする?
                    // WideScanじゃないよ!
                    throw new NotWideScanException("WideScanのデータしか使えませんよ!");
                }
            }
            else
            {
                // 単なるキャンセル.
                return(string.Empty);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// JEOLの測定データを開きます.
        /// </summary>
        /// <returns></returns>
        public async Task OpenJampData()
        {
            var dialog = new Microsoft.Win32.OpenFileDialog {
                Filter = "idファイル(id)|id"
            };

            if (dialog.ShowDialog() == true)
            {
                var id_file = dialog.FileName;
                var dir     = System.IO.Path.GetDirectoryName(id_file);

                switch (await IdFile.CheckTypeAsync(id_file))
                {
                case DataType.WideScan:
                    // WideScanモードにする.
                    //tabControlData.SelectedIndex = 0;
                    //_wideScanData = await WideScanViewModel.GenerateAsync(dir);
                    await _wideScanData.WideScanFittingData.LoadFromAsync(dir);

                    JampDataOpened(this, new JampDataEventArgs(DataType.WideScan));
                    break;

                case DataType.DepthProfile:
                    // DepthProfileモードにする.
                    await _depthProfileData.DepthProfileFittingData.LoadFromAsync(dir);

                    JampDataOpened(this, new JampDataEventArgs(DataType.DepthProfile));
                    //tabControlData.SelectedIndex = 1;
                    //_depthProfileData = await DepthProfile.GenerateAsync(dir);

                    //TestOpenDepthProfile(dir, true);
                    break;
                }
            }
        }