private void Save() { if (CurrentTask == null) { return; } if (CurrentTask.Path == null || CurrentTask.Path.Equals("")) { SaveAs(); return; } CurrentTask.isChanged = false; PetriIO.SaveProject(CurrentTask.Path, CurrentTask); NotifyPropertyChanged("WinTitle"); }
private void Open() { if (!checkSave()) { return; } OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Petri Printer Project file (*.ppp)|*.ppp"; if (openFileDialog.ShowDialog() != true) { return; } CurrentTask = PetriIO.OpenProject(openFileDialog.FileName); }
private void Import() { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = true; openFileDialog.Filter = "PetriTask files (*.ptf)|*.ptf|Python script files (*.py)|*.py"; if (!openFileDialog.ShowDialog().Value) { return; } foreach (var file in openFileDialog.FileNames) { PetriIO.CopyTaskFile(file); } LoadTasks(); }
private void LoadTasks() { var list = PetriIO.LoadAvailablePetriTaskList(); var bw = new BackgroundWorker(); bw.WorkerReportsProgress = true; bw.DoWork += (s, e) => { int c = 1; bw.ReportProgress(0, "Working..."); AvailableTaskList.Clear(); foreach (var l in list) { AvailableTaskList.Add(l); bw.ReportProgress((int)(c * 1d / list.Count * 100), l.Name); c++; } if (AvailableTaskList.Count > 0) { SelectedTask = AvailableTaskList[0]; } bw.ReportProgress(100, "Complete!"); System.Threading.Thread.Sleep(1000); }; bw.ProgressChanged += (s, e) => { StateString = e.UserState.ToString(); StateValue = e.ProgressPercentage; }; bw.RunWorkerCompleted += (s, e) => { StateString = ""; StateValue = 0; CreateNew(); }; bw.RunWorkerAsync(); }
// private List<double?> GridMap; #endregion public MainViewModel() { CreateNewBtn = new BasicVezerloBtn(() => CreateNew()); OpenBtn = new BasicVezerloBtn(() => Open()); SaveBtn = new BasicVezerloBtn(() => Save()); SaveAsBtn = new BasicVezerloBtn(() => SaveAs()); ShowGridSettingsBtn = new BasicVezerloBtn(() => ShowGridSettings()); ImportBtn = new BasicVezerloBtn(() => Import()); LoadGridMapBtn = new BasicVezerloBtn(() => LoadGridMap()); ShowPrinterSettingsBtn = new BasicVezerloBtn(() => ShowPrinterSettings()); showHelpBtn = new BasicVezerloBtn(() => showHelp()); showAboutBtn = new BasicVezerloBtn(() => showAbout()); AddBtn = new BasicVezerloBtn(() => Add()); RemoveBtn = new BasicVezerloBtn(() => Remove()); GenerateBtn = new BasicVezerloBtn(() => Generate()); AvailableTaskList = new ObservableCollection <PetriTask>(); CurrentGridConfig = PetriIO.LoadDefaultGridConfig(); CurrentPrinterConfig = PetriIO.LoadDefaultPrinterConfig(); SelectedItems = new List <PetriControl>(); LoadTasks(); }
public void SaveAll() { PetriIO.SaveDefaultGridConfig(CurrentGridConfig); PetriIO.SaveDefaultPrinterConfig(CurrentPrinterConfig); }