Esempio n. 1
0
        public void Execute(object parameter)
        {
            JsdFileViewModel _viewModel = (JsdFileViewModel)parameter;

            _viewModel.JsdFile.RemoveAuxData(_viewModel.SelectedAuxData.AuxData);
            _viewModel.AuxData.Remove(_viewModel.SelectedAuxData);
        }
Esempio n. 2
0
        public void Execute(object parameter)
        {
            JsdFileViewModel _jsdViewModel = (JsdFileViewModel)parameter;
            JsdStruct        _struct       = _jsdViewModel.SelectedStruct.Structure.Clone();

            _jsdViewModel.AddJsdStructure(_struct);
        }
Esempio n. 3
0
        public void Execute(object parameter)
        {
            JsdFileViewModel _viewModel = (JsdFileViewModel)parameter;

            _viewModel.JsdFile.RemoveStruct(_viewModel.SelectedStruct.Structure);
            _viewModel.Structs.Remove(_viewModel.SelectedStruct);
        }
Esempio n. 4
0
        private void JsdFileViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (e.PropertyName == JsdFileViewModel.SelectedStructPropertyName)
            {
                if (this.ViewModel.SelectedStruct != null)
                {
                    this.dgStruct.ScrollIntoView(this.ViewModel.SelectedStruct);
                }
                this.svJsdShape3D.ViewModel = new StructureViewModel3D(this.ViewModel.SelectedStruct);
            }

            if (e.PropertyName == JsdFileViewModel.SelectedAuxDataPropertyName)
            {
                if (this.ViewModel.SelectedAuxData != null)
                {
                    this.dgAuxData.ScrollIntoView(this.ViewModel.SelectedAuxData);
                }
            }

            if (e.PropertyName == JsdFileViewModel.ImageSelectedIndexPropertyName)
            {
                if (this.ViewModel.ImageSelectedIndex >= 0 && this.ViewModel.ImageSelectedIndex < this.lbImages.Items.Count)
                {
                    this.lbImages.ScrollIntoView(this.lbImages.Items[this.ViewModel.ImageSelectedIndex]);
                }
            }
        }
Esempio n. 5
0
        public void Execute(object parameter)
        {
            JsdFileViewModel _jsdViewModel = (JsdFileViewModel)parameter;
            JsdStruct        _struct       = new JsdStruct(_jsdViewModel.IsHighDefenition);

            _jsdViewModel.AddJsdStructure(_struct);
        }
Esempio n. 6
0
        private void SaveAsCommand_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            SaveFileDialog _ofd = new SaveFileDialog();

            //OpenFileDialog _ofd = new OpenFileDialog();
            _ofd.Title           = "Save JSD File.";
            _ofd.Filter          = "JSD Files (*.jsd) | *.jsd";
            _ofd.AddExtension    = true;
            _ofd.CheckFileExists = false;
            _ofd.FileName        = this.ViewModel.SelectedJsdFile.FileName;
            if (_ofd.ShowDialog() == true)
            {
                if (File.Exists(_ofd.FileName))
                {
                    MessageBoxResult _result = MessageBox.Show(
                        String.Format("File {0} will be overrwritten.", _ofd.FileName),
                        "Saving JSD file.", MessageBoxButton.OKCancel);
                    if (_result != MessageBoxResult.OK)
                    {
                        return;
                    }
                }

                using (FileStream _fs = new FileStream(_ofd.FileName, FileMode.Create))
                    this.ViewModel.SelectedJsdFile.JsdFile.Save(_fs);

                this.ViewModel.SelectedJsdFile.IsFileChanged = false;

                JsdFileViewModel _jsdVm = this.ViewModel.LoadJsdFile(_ofd.FileName);
                this.ViewModel.JsdFiles.Add(_jsdVm);
                this.ViewModel.SelectedJsdFile = _jsdVm;
            }
        }
Esempio n. 7
0
        public void Execute(object parameter)
        {
            JsdFileViewModel   _viewModel      = (JsdFileViewModel)parameter;
            StructureViewModel _selectedStruct = _viewModel.SelectedStruct;
            JsdStruct          _rotatedStruct  = _selectedStruct.Structure.Clone();

            _rotatedStruct.Rotate(false);
            _viewModel.AddJsdStructure(_rotatedStruct);
        }
Esempio n. 8
0
        private void LoadJsdFiles(string[] _files)
        {
            foreach (string _file in _files)
            {
                JsdFileViewModel _jsdFileViewModel = LoadJsdFile(_file);

                this.JsdFilesCount++;
                this.FLoadJsdWorker.ReportProgress(100 * this.JsdFilesCount / _files.Length, _jsdFileViewModel);
            }
        }
Esempio n. 9
0
        public void Execute(object parameter)
        {
            JsdFileViewModel _viewModel = (JsdFileViewModel)parameter;
            AuxObjectData    _aux       = new AuxObjectData();

            _viewModel.JsdFile.AddAuxData(_aux);
            AuxDataViewModel _auxViewModel = new AuxDataViewModel(_aux, null);

            _viewModel.AuxData.Add(_auxViewModel);
            _viewModel.SelectedAuxData = _auxViewModel;
        }
Esempio n. 10
0
        private void ButtonOK_Click(object sender, RoutedEventArgs e)
        {
            JsdFileViewModel _jsdFileViewModel = this.CreateJsdFile();

            if (_jsdFileViewModel != null)
            {
                this.NewJsdFileViewModel = _jsdFileViewModel;
                this.IsOk = true;
                this.Close();
            }
        }
Esempio n. 11
0
        private JsdFileViewModel CreateJsdFile()
        {
            bool          _isOk           = true;
            StringBuilder _sbErrorMessage = new StringBuilder("Error:\n");

            if (this.tbFileName.Text == String.Empty)
            {
                _sbErrorMessage.AppendLine("File name is empty.");
                _isOk = false;
            }

            int _structsNum = 0;

            if (!Int32.TryParse(this.tbStructsNum.Text, out _structsNum))
            {
                _sbErrorMessage.AppendLine(String.Format("\"{0}\" is not a number.", this.tbStructsNum.Text));
                _isOk = false;
            }

            int _auxDataNum = 0;

            if (!Int32.TryParse(this.tbAuxDataNum.Text, out _auxDataNum))
            {
                _sbErrorMessage.AppendLine(String.Format("\"{0}\" is not a number.", this.tbAuxDataNum.Text));
                _isOk = false;
            }

            int _tileLocImagesNum = 0;

            if (!Int32.TryParse(this.tbTileLocsImagesNum.Text, out _tileLocImagesNum))
            {
                _sbErrorMessage.AppendLine(String.Format("\"{0}\" is not a number.", this.tbTileLocsImagesNum.Text));
                _isOk = false;
            }

            bool _isHighDefenition = this.cbIsHD.IsChecked == true;

            JsdFileViewModel _jsdFileViewModel = null;

            if (_isOk)
            {
                Ja2Data.JsdFile _jsdFile = new Ja2Data.JsdFile(
                    _structsNum, _auxDataNum, _tileLocImagesNum, _isHighDefenition);
                _jsdFileViewModel = new JsdFileViewModel(_jsdFile, this.tbFileName.Text);
            }
            else
            {
                this.tbError.Text          = _sbErrorMessage.ToString();
                this.ttErrorMessage.IsOpen = true;
            }

            return(_jsdFileViewModel);
        }
Esempio n. 12
0
        void SelectedJsdFile_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == JsdFileViewModel.SelectedStructPropertyName)
            {
                JsdFileViewModel _jsdViewModel = (JsdFileViewModel)sender;
                this.SetJsdViewModel(_jsdViewModel);
            }

            if (e.PropertyName == JsdFileViewModel.SelectedAuxDataPropertyName)
            {
                JsdFileViewModel _jsdViewModel = (JsdFileViewModel)sender;
                this.SetJsdViewModel(_jsdViewModel);
            }
        }
Esempio n. 13
0
        private void FLoadSlfWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            this.IsBusy = true;
            try
            {
                string  _slfFileName = (string)e.Argument;
                SlfFile _slfFile     = new SlfFile(_slfFileName);
                _slfFile.LoadRecords();
                var _jsdRecords = _slfFile.Records.Where(x => x.FileNameExtention.ToLower() == ".jsd");
                int _recNum     = _jsdRecords.Count();
                foreach (SlfFile.Record _record in _jsdRecords)
                {
                    JsdFileViewModel _jsdFileViewModel = null;

                    MemoryStream _ms      = new MemoryStream(_record.Data);
                    JsdFile      _jsdFile = JsdFile.Load(_ms);
                    _ms.Close();

                    _jsdFileViewModel = new JsdFileViewModel(_jsdFile, _record.FileName);

                    SlfFile.Record _stiRecord = _slfFile.Records
                                                .Where(x => x.FileName.ToLower() == _record.FileName.ToLower().Replace(".jsd", ".sti"))
                                                .SingleOrDefault();

                    if (_stiRecord != null)
                    {
                        _ms = new MemoryStream(_stiRecord.Data);
                        IStci _stci = StciLoader.LoadStci(_ms);
                        if (_stci.IsIndexed)
                        {
                            _jsdFileViewModel.StciFile = (StciIndexed)_stci;
                        }
                    }

                    this.JsdFilesCount++;
                    this.FLoadSlfWorker.ReportProgress(100 * this.JsdFilesCount / _recNum, _jsdFileViewModel);
                }
            }
            finally
            {
                this.IsBusy = false;
            }
        }
Esempio n. 14
0
        private void SetJsdViewModel(JsdFileViewModel aJsdViewModel)
        {
            StructureViewModel _selectedStructure = aJsdViewModel.SelectedStruct;

            if (_selectedStructure != null)
            {
                if (aJsdViewModel.Images != null && this.jfv.lbImages.Items.Count > 0 &&
                    aJsdViewModel.ImageSelectedIndex > 0 &&
                    aJsdViewModel.ImageSelectedIndex < this.jfv.lbImages.Items.Count)
                {
                    _selectedStructure.Image =
                        (StructureImage)this.jfv.lbImages.Items[aJsdViewModel.ImageSelectedIndex];
                }

                if (aJsdViewModel.SelectedAuxData != null)
                {
                    _selectedStructure.TileLocData = aJsdViewModel.SelectedAuxData.TileLocData;
                }
            }
            this.sv.ViewModel = _selectedStructure;
        }
Esempio n. 15
0
        public JsdFileViewModel LoadJsdFile(string aFile)
        {
            FileStream _fs      = new FileStream(aFile, FileMode.Open);
            JsdFile    _jsdFile = JsdFile.Load(_fs);

            _fs.Close();

            string _fileName = String.Empty;

            if (this.FolderName != String.Empty)
            {
                _fileName = aFile.Replace(this.FolderName, String.Empty);
            }
            else
            {
                _fileName = Path.GetFileName(aFile);
            }

            JsdFileViewModel _jsdFileViewModel = new JsdFileViewModel(_jsdFile, _fileName);

            _jsdFileViewModel.FullFileName = aFile;

            string _stiFileName = Path.ChangeExtension(aFile, ".sti");

            if (File.Exists(_stiFileName))
            {
                _fs = new FileStream(_stiFileName, FileMode.Open);
                IStci _stci = StciLoader.LoadStci(_fs);
                _fs.Close();
                if (_stci.IsIndexed)
                {
                    _jsdFileViewModel.StciFile = (StciIndexed)_stci;
                }
            }
            return(_jsdFileViewModel);
        }