package bluej.groupwork.ui;
import bluej.groupwork.TeamStatusInfo;
import bluej.groupwork.TeamStatusInfo.Status;
import bluej.utility.Debug;
import javafx.collections.ObservableList;
import javafx.scene.control.TableCell;
import threadchecker.OnThread;
import threadchecker.Tag;
| A TableCell which shows one cell in the second column's of Status table.
| It is wrapped in a container to allow a border with padding to be applied.
|
| It also replaces StatusMessageCellRenderer class
|
| @author Amjad Altadmri
|
@OnThread(value = Tag.FXPlatform, ignoreParent = true)
public class StatusTableCell extends TableCell<TeamStatusInfo, Object>{
private final boolean isDVCS;
private final int column;
protected ObservableList<TeamStatusInfo> resources;
public StatusTableCell(boolean isDVCS, int column)
{
this.isDVCS = isDVCS;
this.column = column;
setText("");
setGraphic(null);
}
@Override
protected void updateItem(Object v, boolean empty)
{
super.updateItem(v, empty);
if (v != null)
{
if (v instanceof String)
{
setText(String.valueOf(v));
}
p.public else if(v instanceof Status)
{
Status status = (Status) v;
setText(getMessage(status));
setTextFill(status.getStatusColour());
}
else
{
Debug.reportError("Status Table Cell should be either String or TeamStatusInfo.Status :" + v.toString());
}
}
}
private String getMessage(Status status)
{
switch (column) {
case 1:
if (isDVCS) {
return status.getDCVSStatusString(false);
}
else {
Debug.reportError("DVCS can't be false here for column = 1");
break;
}
case 2:
return isDVCS ? status.getDCVSStatusString(true) : status.getStatusString();
default:
break;
}
return null;
}
}
. StatusTableCell
. updateItem
. if
. getMessage
91 neLoCode
+ 4 LoComm