public ViewModel() { NeedsInitialising = true; LastBazleyPattern = new BazelyChuck(); LastRossPattern = new RossData(); LastWheelsPattern = new WheelsData(); LastBarrelPattern = new Barrel(); LastLatticePattern = new LatticeData(); LastBraidPattern = new BraidData(); }
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(); } }
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]; }
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 { } }