示例#1
0
 public ViewModel()
 {
     NeedsInitialising  = true;
     LastBazleyPattern  = new BazelyChuck();
     LastRossPattern    = new RossData();
     LastWheelsPattern  = new WheelsData();
     LastBarrelPattern  = new Barrel();
     LastLatticePattern = new LatticeData();
     LastBraidPattern   = new BraidData();
 }
示例#2
0
 private void PatternChoices_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (PatternChoices.SelectedValue != null)
     {
         BazelyChuck bc = (BazelyChuck)PatternChoices.SelectedValue;
         viewModel.CurrentPathData = bc;
         viewModel.CurrentPathData.PropertyChanged += CurrentPathData_PropertyChanged;
         ReCalculate();
     }
 }
示例#3
0
        async void ReadWheelsData()
        {
            string data;
            var    file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"GEODATA.txt");

            var stream = await file.OpenStreamForReadAsync();

            var rdr = new StreamReader(stream);

            data = await rdr.ReadToEndAsync();

            var lines = data.Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
            var index = 0;

            foreach (string line in lines)
            {
                var         info  = line.Split(new char[] { ':' });
                int         indx  = int.Parse(info[0].Substring(1, info[0].Length - 2));
                string[]    pdata = info[1].Split(new char[] { ',' });
                BazelyChuck bc    = new BazelyChuck(index++, pdata);
                _BazelyPatterns.Add(bc);
            }
            _lastWheelsPattern = _WheelsPatterns[0];
        }
示例#4
0
        public async void ImportPattern(PatternType typ)
        {
            FileOpenPicker openPicker = new FileOpenPicker();

            openPicker.ViewMode = PickerViewMode.Thumbnail;
            openPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
            if (typ == PatternType.wheels)
            {
                openPicker.FileTypeFilter.Add(".wheel");
            }
            else if (typ == PatternType.ross)
            {
                openPicker.FileTypeFilter.Add(".ross");
            }
            else if (typ == PatternType.bazley)
            {
                openPicker.FileTypeFilter.Add(".baz");
            }
            else if (typ == PatternType.barrel)
            {
                openPicker.FileTypeFilter.Add(".bar");
            }
            else if (typ == PatternType.latticeRim)
            {
                openPicker.FileTypeFilter.Add(".lattice");
            }
            else if (typ == PatternType.braid)
            {
                openPicker.FileTypeFilter.Add(".braid");
            }
            openPicker.FileTypeFilter.Add(".xml");
            StorageFile file = await openPicker.PickSingleFileAsync();

            XmlSerializer ser;

            if (file != null)
            {
                var stream = await file.OpenStreamForReadAsync();

                if (typ == PatternType.wheels)
                {
                    ser = new XmlSerializer(typeof(WheelsData));
                    WheelsData wd = (WheelsData)ser.Deserialize(stream);
                    wd.PatternIndex = WheelsPatterns.Count;
                    wd.FixUp();
                    WheelsPatterns.Add(wd);
                    SelectedPathIndex = wd.PatternIndex;
                }
                else if (typ == PatternType.ross)
                {
                    ser = new XmlSerializer(typeof(RossData));
                    RossData rd = (RossData)ser.Deserialize(stream);
                    rd.PatternIndex = RossPatterns.Count;
                    RossPatterns.Add(rd);
                    SelectedPathIndex = rd.PatternIndex;
                }
                else if (typ == PatternType.bazley)
                {
                    ser = new XmlSerializer(typeof(BazelyChuck));
                    BazelyChuck bd = (BazelyChuck)ser.Deserialize(stream);
                    bd.PatternIndex = BazeleyPatterns.Count;
                    BazeleyPatterns.Add(bd);
                    SelectedPathIndex = bd.PatternIndex;
                }
                else if (typ == PatternType.barrel)
                {
                    ser = new XmlSerializer(typeof(Barrel));
                    Barrel bd = (Barrel)ser.Deserialize(stream);
                    bd.PatternIndex = BarrelPatterns.Count;
                    BarrelPatterns.Add(bd);
                    SelectedPathIndex = bd.PatternIndex;
                }
                else if (typ == PatternType.latticeRim)
                {
                    ser = new XmlSerializer(typeof(LatticeData));
                    LatticeData bd = (LatticeData)ser.Deserialize(stream);
                    if (LatticePatterns.Select(p => p.PatternIndex == bd.PatternIndex).Count() > 0)
                    {
                        bd.PatternIndex = LatticePatterns.Count + 1;
                    }

                    LatticePatterns.Add(bd);
                    SelectedPathIndex = bd.PatternIndex;
                }
                else if (typ == PatternType.braid)
                {
                    ser = new XmlSerializer(typeof(BraidData));
                    BraidData bd = (BraidData)ser.Deserialize(stream);
                    bd.PatternIndex = BraidPatterns.Count;
                    BraidPatterns.Add(bd);
                    SelectedPathIndex = bd.PatternIndex;
                }
            }
            else
            {
            }
        }