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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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());
 }