Skip to content
Snippets Groups Projects
Commit b96cc7fc authored by PIQUEREZ Corentin's avatar PIQUEREZ Corentin
Browse files

sauvegarde nouveaux cours OK

parent 9893862a
No related branches found
No related tags found
No related merge requests found
23
230527
24
230530
23
230527
24
230530
......@@ -101,6 +101,12 @@ public class ShukanData
return (mod[cursNum][modNum].addActivity (actNum, type));
}
/** Adds a new activity to a module */
public boolean addNewActivity (int cursNum, int modNum, int actNum, String type)
{
return (mod[cursNum][modNum].addNewActivity (actNum, type));
}
/** Closes the activities of a module */
public void closeActivities (int cursNum, int modNum, int size)
{
......@@ -114,7 +120,7 @@ public class ShukanData
mod[cursNum][modNum].autoPlan ();
}
/** Schedules the activities of a module */
/** ScheduleSchedules the activities of a module */
public void setSchedule (int cursNum, int modNum, int[] weeks)
{
mod[cursNum][modNum].schedule (weeks);
......@@ -439,9 +445,9 @@ public class ShukanData
this.mod[curs][mod].setOnLeft (act);
}
/** Sets an activity to be displayed on right */
public void setOnMiddle (int curs, int mod, int act, int index)
public void setOnMiddle (int curs, int mod, int act, boolean ajout)
{
this.mod[curs][mod].setOnMiddle (act, index);
this.mod[curs][mod].setOnMiddle (act, ajout);
}
/** Sets an activity to be displayed on right */
......
......@@ -106,6 +106,34 @@ public class ShukanModule
return (true);
}
/** Adds a new activity */
public boolean addNewActivity (int num, String type)
{
int numT = -1;
int j;
for (int i = 0; i < TYPES.length && numT == -1; i++)
if (type.equals (TYPES[i])) numT = i;
if (numT == -1) return (false);
int[] tmp = new int[activ.length + 1];
int[][] tmpaff = new int[activ.length + 1][];
for (int i = 0; i < activ.length+1; i++)
{
if (i!=num){
j = i;
if (i>num) j--;
tmp[i] = activ[j];
tmpaff[i] = affect[j];
}
}
activ = tmp;
affect = tmpaff;
activ[num] = numT;
affect[num] = new int[0];
return (true);
}
/** Adjusts the activity array.
* @param size Number of activities to be planned.
*/
......@@ -312,17 +340,17 @@ public class ShukanModule
onLeft[act] = true;
}
/** Sets an activity to be displayed on middle */
public void setOnMiddle (int act, int index) {
if (act >= onLeft.length) {
public void setOnMiddle (int act, boolean ajout) {
if (ajout) {
boolean[] tmpRight = new boolean[onLeft.length + 1];
boolean[] tmpLeft = new boolean[onLeft.length + 1];
for (int i = 0; i < index; i++) {
for (int i = 0; i < act; i++) {
tmpLeft[i] = onLeft[i];
tmpRight[i] = onRight[i];
}
tmpRight[index] = false;
tmpLeft[index] = false;
for (int i = index+1; i < onLeft.length+1; i++) {
tmpRight[act] = false;
tmpLeft[act] = false;
for (int i = act+1; i < onLeft.length+1; i++) {
tmpLeft[i] = onLeft[i-1];
tmpRight[i] = onRight[i-1];
}
......
......@@ -483,9 +483,15 @@ public class ShukanView extends JPanel
if (mod_start!=0) mod_start-=data.startWeekNumber();
int nb_act = data.scheduleInWeek(num_mod, mod_start).length;
data.addActivity(cursus, num_mod, data.activityCount(cursus, num_mod), ShukanModule.TYPES[num_act]);
data.scheduleActivity(cursus, num_mod, data.activityCount(cursus, num_mod)-1, mod_start);
data.setOnMiddle(cursus, num_mod, data.activityCount(cursus, num_mod)-1, nb_act);
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);
int[] weeks = data.schedule(num_mod);
data.unscheduleActivities(cursus, num_mod);
data.setSchedule(cursus, num_mod, weeks);
repaint();
f.dispose();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment