From 1c4a1562ce486288137d9cf305dd0d40550fc3d6 Mon Sep 17 00:00:00 2001
From: piquerez <corentin.piquerez1@etu.univ-lorraine.fr>
Date: Wed, 31 May 2023 17:14:29 +0200
Subject: [PATCH] =?UTF-8?q?d=C3=A9but=20suppression=20cours?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../data/2223_S2/version.txt                  |   4 +-
 "r\303\251partition des taches.docx"          | Bin 0 -> 16384 bytes
 shukan/ShukanController.java                  |   6 +-
 shukan/ShukanData.java                        |   8 +++
 shukan/ShukanModule.java                      |  37 +++++++++++
 shukan/ShukanParameters.java                  |   2 +-
 shukan/ShukanQueue.java                       |  28 ++++++++
 shukan/ShukanSchedule.java                    |   9 +++
 shukan/ShukanView.java                        |  62 ++++++++++++++++--
 9 files changed, 146 insertions(+), 10 deletions(-)
 create mode 100644 "r\303\251partition des taches.docx"

diff --git a/out/production/sae2.01-developpement-application/data/2223_S2/version.txt b/out/production/sae2.01-developpement-application/data/2223_S2/version.txt
index d451762..d82a4c1 100644
--- a/out/production/sae2.01-developpement-application/data/2223_S2/version.txt
+++ b/out/production/sae2.01-developpement-application/data/2223_S2/version.txt
@@ -1,2 +1,2 @@
-24
-230530
+26
+230531
diff --git "a/r\303\251partition des taches.docx" "b/r\303\251partition des taches.docx"
new file mode 100644
index 0000000000000000000000000000000000000000..cb559a7f0caaf371ed7119878be67974b7621d1a
GIT binary patch
literal 16384
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

literal 0
HcmV?d00001

diff --git a/shukan/ShukanController.java b/shukan/ShukanController.java
index e8bf221..206ad70 100644
--- a/shukan/ShukanController.java
+++ b/shukan/ShukanController.java
@@ -205,11 +205,11 @@ public class ShukanController
       System.out.println("back");
     else if (e.getSource()==bar.buttons[2])
     {
-      canvas.getNewActivity();
+      canvas.newActivity();
       canvas.repaint();
     }
-    else if (e.getSource()==bar.buttons[3])
-      System.out.println("delete");
+    else if (e.getSource()==bar.buttons[3]) canvas.deleteActivity();
+
     else if (e.getSource()==bar.buttons[4]) {if (data.followLeft ()) canvas.repaint ();}
 
     else if (e.getSource()==bar.buttons[5]) {if (data.followRight ()) canvas.repaint ();}
diff --git a/shukan/ShukanData.java b/shukan/ShukanData.java
index 5f7fef5..f67b27b 100644
--- a/shukan/ShukanData.java
+++ b/shukan/ShukanData.java
@@ -113,6 +113,9 @@ public class ShukanData
     mod[cursNum][modNum].closeActivities (size);
   }
 
+  /** Delete the activity of a module */
+  public void deleteActivity (int cursNum, int modNum, int index) {mod[cursNum][modNum].deleteActivity (index);};
+
   /** Automatically plans a free module */
   public void autoPlan (int cursNum, int modNum)
   {
@@ -131,6 +134,11 @@ public class ShukanData
   {
     mod[cursNum][modNum].unschedule ();
   }
+  /** Unschedules an activity of a module */
+  public void unscheduleActivity (int cursNum, int modNum, int index, int week, int nb_week)
+  {
+    mod[cursNum][modNum].unschedule (index, week, nb_week);
+  }
 
   /** Schedules an activity of a module */
   public void scheduleActivity (int cursNum, int modNum, int activity, int week)
diff --git a/shukan/ShukanModule.java b/shukan/ShukanModule.java
index 34f0343..973c98c 100644
--- a/shukan/ShukanModule.java
+++ b/shukan/ShukanModule.java
@@ -161,6 +161,37 @@ public class ShukanModule
     }
   }
 
+  /** deletes an activity */
+  public void deleteActivity (int index)
+  {
+
+    int size = activ.length-1;
+    int[] tmp = new int[size];
+    int[][] tmpaff = new int[size][];
+    boolean[] tmponLeft = new boolean[activ.length-1];
+    boolean[] tmponRight = new boolean[activ.length-1];
+    for (int i = 0; i < index; i++)
+    {
+      tmp[i] = activ[i];
+      tmpaff[i] = affect[i];
+      tmponLeft[i] = onLeft[i];
+      tmponRight[i] = onRight[i];
+    }
+    for (int i = index+1; i < size; i++)
+    {
+      tmp[i-1] = activ[i];
+      tmpaff[i-1] = affect[i];
+      tmponLeft[i-1] = onLeft[i];
+      tmponRight[i-1] = onRight[i];
+    }
+
+    activ = tmp;
+    affect = tmpaff;
+    onLeft = tmponLeft;
+    onRight = tmponRight;
+
+
+  }
   /** Automatically plans a free module
    */
   public void autoPlan ()
@@ -211,6 +242,12 @@ public class ShukanModule
     scheduled = false;
   }
 
+  /** Unschedules an activity of the module */
+  public void unschedule (int index, int week, int nb_week)
+  {
+    sched.delete(index, week, nb_week);
+  }
+
   /** Schedules an activity */
   public void schedule (int num, int week)
   {
diff --git a/shukan/ShukanParameters.java b/shukan/ShukanParameters.java
index ea3f223..c897749 100644
--- a/shukan/ShukanParameters.java
+++ b/shukan/ShukanParameters.java
@@ -171,7 +171,7 @@ class ShukanParameters extends JFrame {
                 Lableft = new JLabel("← : Professeur précédent");
                 Labright = new JLabel("→ : Professeur suivant");
                 LabE = new JLabel("E : Exporter en format .tex");
-                LabX = new JLabel("CTRL + X : Echanger les extrémités");	
+                LabX = new JLabel("CTRL + X : Echanger les extrémités d'une séléction");
 
 
                 retour = new JButton("Retour");
diff --git a/shukan/ShukanQueue.java b/shukan/ShukanQueue.java
index 7fb44d5..febdf3f 100644
--- a/shukan/ShukanQueue.java
+++ b/shukan/ShukanQueue.java
@@ -26,6 +26,34 @@ public class ShukanQueue
     length = 0;
   }
 
+  /** delete the nth element in the queue */
+  public void delete (int index){
+    if (index<=queue.length){
+      int tmp[] = new int[queue.length-1];
+      for (int i =0; i<index; i++){
+        tmp[i] = queue[i];
+      }
+      for (int i =index+1; i<queue.length; i++){
+        tmp[i-1] = queue[i];
+      }
+      queue = tmp;
+      length--;
+    }
+    else System.out.println("index trop grand");
+  }
+
+  /** remove 1 from an element of the queue */
+  public void removeOne(int index){
+    queue[index]--;
+  }
+
+  /** remove 1 from an element of the queue */
+  public void removeAllOne(){
+    if (queue != null){
+      for (int i =0; i<queue.length; i++)queue[i]--;
+    }
+
+  }
   /** Pushes a token at the right of the queue */
   public void pushRight (int token)
   {
diff --git a/shukan/ShukanSchedule.java b/shukan/ShukanSchedule.java
index 6c94de6..1d858b0 100644
--- a/shukan/ShukanSchedule.java
+++ b/shukan/ShukanSchedule.java
@@ -61,6 +61,15 @@ public class ShukanSchedule
     for (int i = 0; i < binSet.length; i++) binSet[i].clear ();
   }
 
+  /** delete one element of one queue and update all the queues */
+  public void delete(int index, int week, int nb_week){
+    binSet[week].delete(index);
+    for (int i =index; i<binSet[week].length(); i++){
+      binSet[week].removeOne(i);
+    }
+    for(int i =week+1; i<nb_week; i++) binSet[i].removeAllOne();
+  }
+
   /** Add a token to the nth queue */
   public void add (int n, int token)
   {
diff --git a/shukan/ShukanView.java b/shukan/ShukanView.java
index 9dc7f50..858bb23 100644
--- a/shukan/ShukanView.java
+++ b/shukan/ShukanView.java
@@ -478,11 +478,11 @@ public class ShukanView extends JPanel
 
   
   /** Creates a new activity with window */
-  public void getNewActivity(){
+  public void newActivity(){
     JFrame f = new JFrame("Informations concernant le nouveau cours");
     JPanel global_mod = new JPanel();
     JPanel global_act = new JPanel();
-    JLabel mod = new JLabel("A quel matiere voulez vous rajouter un cours ?");
+    JLabel mod = new JLabel("A quelle matiere voulez vous rajouter un cours ?");
     JLabel act = new JLabel("Quel cours voulez vous ajouter? ");
     JComboBox mod_info = new JComboBox(data.moduleNames(data.cursusNumber()));
     JComboBox act_info = new JComboBox(ShukanModule.TYPES);
@@ -498,7 +498,6 @@ public class ShukanView extends JPanel
         if (mod_start!=0) mod_start-=data.startWeekNumber();
         int nb_act = data.scheduleInWeek(num_mod, mod_start).length;
 
-
         data.addNewActivity(cursus, num_mod, nb_act, ShukanModule.TYPES[num_act]);
         data.scheduleActivity(cursus, num_mod, nb_act, mod_start);
         data.setOnMiddle(cursus, num_mod, nb_act, true);
@@ -506,7 +505,6 @@ public class ShukanView extends JPanel
         data.unscheduleActivities(cursus, num_mod);
         data.setSchedule(cursus, num_mod, weeks);
 
-
         repaint();
         f.dispose();
       }
@@ -522,4 +520,60 @@ public class ShukanView extends JPanel
     f.setVisible(true);
     f.setSize(new Dimension(400, 150));
   }
+
+  /** Creates a new activity with window */
+  public void deleteActivity(){
+    JFrame f = new JFrame("Informations concernant le cours à supprimer");
+    String[] s = new String[data.semesterSize()];
+    for (int i =0; i<data.semesterSize(); i++)
+      s[i] = (data.startWeekNumber()+i)+"";
+    JPanel global_mod = new JPanel();
+    JPanel global_act = new JPanel();
+    JPanel global_sem = new JPanel();
+    JPanel global = new JPanel(new GridLayout(3,0));
+    JLabel mod = new JLabel("A quelle matiere voulez vous supprimer un cours ?");
+    JLabel act = new JLabel("Quel cours voulez vous supprimer ? ");
+    JLabel sem = new JLabel("Pendant quelle semaine le cours se déroule t-il ?");
+    JComboBox mod_info = new JComboBox(data.moduleNames(data.cursusNumber()));
+    JComboBox act_info = new JComboBox(ShukanModule.TYPES);
+    JComboBox sem_info = new JComboBox(s);
+    JButton valider = new JButton("Valider");
+
+    valider.addActionListener(new ActionListener() {
+      @Override
+      public void actionPerformed(ActionEvent e) {
+        int num_mod = mod_info.getSelectedIndex();
+        int num_act = act_info.getSelectedIndex();
+        int num_sem = sem_info.getSelectedIndex()+data.startWeekNumber();
+        int cursus = data.cursusNumber();
+        int mod_start = data.moduleStart(cursus, num_mod);
+        if (mod_start!=0) mod_start-=data.startWeekNumber();
+        int nb_act = data.scheduleInWeek(num_mod, mod_start).length;
+
+        data.unscheduleActivity(cursus, num_mod, nb_act, num_sem, data.semesterSize());
+        data.deleteActivity(cursus, num_mod, nb_act);
+
+        int[] weeks = data.schedule(num_mod);
+        data.unscheduleActivities(cursus, num_mod);
+        data.setSchedule(cursus, num_mod, weeks);
+
+        repaint();
+        f.dispose();
+      }
+    });
+
+    global_mod.add(mod);
+    global_mod.add(mod_info);
+    global_act.add(act);
+    global_act.add(act_info);
+    global_sem.add(sem);
+    global_sem.add(sem_info);
+    global.add(global_mod);
+    global.add(global_act);
+    global.add(global_sem);
+    f.add(global, BorderLayout.NORTH);
+    f.add(valider, BorderLayout.SOUTH);
+    f.setVisible(true);
+    f.setSize(new Dimension(400, 200));
+  }
 }
-- 
GitLab