public Window_StateSummary(List <Slot> inputSlots, List <List <Slot> > outputTimetables) { _inputSlots = inputSlots; _outputTimetables = outputTimetables; _factory = new RealStateElementFactory(Checked, Unchecked); InitializeComponent(); TimeTableGui.GenerateStateSummary(_outputTimetables, _factory); }
private void CyclicIndexOnCurrentValueChanged(object sender, EventArgs eventArgs) { if (_cyclicIndex.CurrentValue < 0) { return; } TimeTableGui.GenerateGui(_outputTimeTable[_cyclicIndex.CurrentValue]); ViewChanged(this, null); }
private void RegenerateOutput() { var package = new TimetablesAndPredicates(_outputTimetables, Predicates); var bg = CustomBackgroundWorker <TimetablesAndPredicates, List <List <Slot> > > . RunAndShowLoadingScreen(Filterer.Filter, package, "Filtering unsatisfactory timetables . . ."); var filteredTimetable = bg.GetResult(); TimeTableGui.RegenerateStateSummary(filteredTimetable, _factory); }
private void RegenerateOutput() { var package = new TimetablesAndPredicates(_outputTimetables, Predicates); var bg = CustomBackgroundWorker <TimetablesAndPredicates, List <List <Slot> > > . RunAndShowLoadingScreen(Filterer.Filter, package, "Filtering unsatisfactory timetables . . ."); var filteredTimetable = bg.GetResult(); int removedCount = _outputTimetables.Count - filteredTimetable.Count; int remainingCount = _outputTimetables.Count - removedCount; Label1.Content = $"Removed {removedCount} unsatisfactory timetables."; Label2.Content = $"{remainingCount} timetables remaining."; TimeTableGui.RegenerateStateSummary(filteredTimetable, _factory); }
public void Update() { ITimetableList currentState = _observableTimetableList.GetCurrentState(); if (currentState.IsEmpty()) { InstructionLabel.Content = currentState.Message; InstructionLabel.Visibility = Visibility.Visible; TimeTableGui.Visibility = Visibility.Collapsed; TimeTableGui.ClearGui(); return; } _outputTimeTable = currentState.ToList(); TimeTableGui.GenerateGui(_outputTimeTable[0]); InstructionLabel.Visibility = Visibility.Collapsed; TimeTableGui.Visibility = Visibility.Visible; // IndexViewer.Initialize(_cyclicIndex); }
public void Update(List <ITimetable> outputTimeTable, bool inputSlotsIsEmpty) { if (outputTimeTable == null || outputTimeTable.Count == 0) { if (inputSlotsIsEmpty) { InstructionLabel.Content = "Please select your subjects"; } else { InstructionLabel.Content = MessageToBeDisplayedWhenOutputTimetableIsEmpty; } InstructionLabel.Visibility = Visibility.Visible; TimeTableGui.Visibility = Visibility.Collapsed; TimeTableGui.ClearGui(); return; } _outputTimeTable = outputTimeTable; TimeTableGui.GenerateGui(_outputTimeTable[0]); InstructionLabel.Visibility = Visibility.Collapsed; TimeTableGui.Visibility = Visibility.Visible; _cyclicIndex.MaxValue = _outputTimeTable.Count - 1; }
public Page_SaveTimetableAsImage(ITimetable input) { InitializeComponent(); TimeTableGui.GenerateGUI(input); }
public void GenerateGUI(ITimetable timetable) { TimeTableGui.GenerateGui(timetable); TimetableDescriptionViewer.GenerateAsImage(timetable.ToList()); }