/*
* SeriesEditor.java
*
* Created on February 22, 2007, 12:08 PM
*/
package edu.mbl.jif.imaging.series;
import java.util.Arrays;
/**
* For editing a seres of images
*
* @author GBH
*/
public class SeriesEditor {
int frames;
boolean[] deleted; // indicates if a frame has been marked as deleted
int selectionBegin = -1;
int selectionEnd = -1;
/** Creates a new instance of SeriesEditor */
public SeriesEditor(int frames) {
this.frames = frames;
deleted = new boolean[frames];
Arrays.fill(deleted, false);
}
public void markSelectionBegin(int frame) {
// clear selection end frame if begin is past it
if (frame > selectionEnd) {
selectionEnd = -1;
}
selectionBegin = frame;
}
public void markSelectionEnd(int frame) {
// clear selection begin frame if end is before it
if (frame < selectionBegin) {
selectionBegin = -1;
}
selectionBegin = frame;
}
public void deleteSelection() {
if ((selectionBegin >= 0) && (selectionEnd >= 0) && (selectionEnd < frames)) {
Arrays.fill(deleted, selectionBegin, selectionEnd, true);
}
}
public void deleteFrame(int frame) {
if ((frame > 0) && (frame < frames)) {
deleted[frame] = true;
}
}
public void deleteClearAll() {
Arrays.fill(deleted, false);
}
public boolean[] getDeletedArray() {
return deleted;
}
}