diff --git a/shukan/ShukanData.java b/shukan/ShukanData.java index 2091f70ea2a70475f0c6e468d45bd59c846734ed..5531b3807ba44a09008768caad7852d53e44ac7d 100644 --- a/shukan/ShukanData.java +++ b/shukan/ShukanData.java @@ -680,4 +680,18 @@ public class ShukanData if (selMod != -1 && selAct != -1 && selLength > 1) this.mod[selCur][selMod].exchange (selAct, selAct + selLength - 1); } + + /** test if a week is active for a module */ + public boolean isActiveWeek(int week, int mod){ + if (week>=moduleStart(cursusNumber(), mod) && (week<=moduleEnd(cursusNumber(), mod) || moduleEnd(cursusNumber(), mod)==0)) + { + int[] holly_weeks = moduleHollyWeeks(cursusNumber(), mod); + for (int i =0; i<holly_weeks.length; i++) { + if (week == holly_weeks[i]) return false; + } + return true; + } + return false; + } + } diff --git a/shukan/ShukanView.java b/shukan/ShukanView.java index 80f03b19a5565f46c83d6c3e0c14a232e84261b6..7123a1e253d3d1c70fdf46f581f200b619c9e3dc 100644 --- a/shukan/ShukanView.java +++ b/shukan/ShukanView.java @@ -377,15 +377,14 @@ public class ShukanView extends JPanel int num_module = data.selectedModule(); int num_cursus = data.cursusNumber(); int num_semaine = data.selectedWeek()+data.startWeekNumber(); - int debut = data.moduleStart(num_cursus, num_module); - int fin = data.moduleEnd(num_cursus, num_module); + // affiche la fenetre si il y a cours pendant cette periode - if(num_semaine>=debut && (num_semaine<=fin || fin == 0)) + if(data.isActiveWeek(num_semaine, num_module)) { JFrame spec = new JFrame(data.cursusName(num_cursus) + " - Semaine" + (num_semaine) + " - " + data.moduleNames(num_cursus)[num_module]); - int[] a = data.scheduleInWeek(num_module, num_semaine); - for (int i = 0; i<a.length; i++)System.out.println(a[i]); + //int[] a = data.scheduleInWeek(num_module, num_semaine); + //for (int i = 0; i<a.length; i++)System.out.println(a[i]); spec.setSize(new Dimension(300, 150)); spec.setVisible(true); }