Created
November 13, 2014 08:12
-
-
Save jmini/eaa7199683f834a3a878 to your computer and use it in GitHub Desktop.
Planner field example - Eclipse Scout
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Order(10.0) | |
public class CarsPlannerField extends AbstractPlannerField<ResourceTable, ActivityMap, Long, Long> { | |
private static final long CLIO = 1001L; | |
private static final long TWINGO = 1002L; | |
private static final long AUDI = 1003L; | |
private static final long SMART = 1004L; | |
private Long m_ActivityIdCounter = 100L; | |
@Override | |
protected int getConfiguredGridH() { | |
return 7; | |
} | |
@Override | |
protected int getConfiguredGridW() { | |
return 2; | |
} | |
@Override | |
protected int getConfiguredMiniCalendarCount() { | |
return 0; | |
} | |
@Override | |
protected void execInitField() throws ProcessingException { | |
getActivityMap().setPlanningMode(IActivityMap.PLANNING_MODE_DAY); | |
Date d = DateUtility.parse("2014-11-01", "yyyy-MM-dd"); | |
Date[] days = new Date[30]; | |
for (int i = 0; i < days.length; i++) { | |
days[i] = DateUtility.addDays(d, i); | |
} | |
getActivityMap().setDays(days); | |
loadResourceTableData(); | |
} | |
@Override | |
protected Object[][] execLoadActivityMapData(List<? extends Long> resourceIds, List<? extends ITableRow> resourceRows) throws ProcessingException { | |
Object[][] data = new Object[3][9]; | |
int i = -1; | |
//Activity 101: | |
i++; | |
data[i][0] = CLIO; // resourceId | |
data[i][1] = createActivityId(); // activityId | |
data[i][2] = DateUtility.parse("2014-11-01", "yyyy-MM-dd"); // startTime | |
data[i][3] = DateUtility.parse("2014-11-03", "yyyy-MM-dd"); // endTime | |
data[i][4] = null; // text | |
data[i][5] = null; // tooltipText | |
data[i][6] = ""; // iconId | |
data[i][7] = 1f; // majorValue | |
data[i][8] = null; // minorValue | |
//Activity 102: | |
i++; | |
data[i][0] = AUDI; // resourceId | |
data[i][1] = createActivityId(); // activityId | |
data[i][2] = DateUtility.parse("2014-11-02", "yyyy-MM-dd"); // startTime | |
data[i][3] = DateUtility.parse("2014-11-05", "yyyy-MM-dd"); // endTime | |
data[i][4] = null; // text | |
data[i][5] = null; // tooltipText | |
data[i][6] = ""; // iconId | |
data[i][7] = 1f; // majorValue | |
data[i][8] = null; // minorValue | |
//Activity 103: | |
i++; | |
data[i][0] = TWINGO; // resourceId | |
data[i][1] = createActivityId(); // activityId | |
data[i][2] = DateUtility.parse("2014-11-10", "yyyy-MM-dd"); // startTime | |
data[i][3] = DateUtility.parse("2014-11-15", "yyyy-MM-dd"); // endTime | |
data[i][4] = null; // text | |
data[i][5] = null; // tooltipText | |
data[i][6] = ""; // iconId | |
data[i][7] = 1f; // majorValue | |
data[i][8] = null; // minorValue | |
return data; | |
} | |
@Override | |
protected Object[][] execLoadResourceTableData() throws ProcessingException { | |
Object[][] data = new Object[4][3]; | |
int i = -1; | |
//Car 1001: | |
i++; | |
data[i][0] = CLIO; | |
data[i][1] = "Clio"; | |
data[i][2] = "ZH 522 802"; | |
//Car 1002: | |
i++; | |
data[i][0] = TWINGO; | |
data[i][1] = "Twingo"; | |
data[i][2] = "ZH 445 789"; | |
//Car 1003: | |
i++; | |
data[i][0] = AUDI; | |
data[i][1] = "Audi"; | |
data[i][2] = "SZ 65726"; | |
//Car 1004: | |
i++; | |
data[i][0] = SMART; | |
data[i][1] = "Smart"; | |
data[i][2] = "SG 197 052"; | |
return data; | |
} | |
@Order(10.0) | |
public class ResourceTable extends AbstractExtensibleTable { | |
@Override | |
protected boolean getConfiguredAutoResizeColumns() { | |
return true; | |
} | |
@Override | |
protected boolean getConfiguredSortEnabled() { | |
return false; | |
} | |
@Override | |
protected void execRowAction(ITableRow row) throws ProcessingException { | |
loadActivityMapDataOfSelectedRecources(); | |
} | |
public NameColumn getNameColumn() { | |
return getColumnSet().getColumnByClass(NameColumn.class); | |
} | |
public CarIdColumn getCarIdColumn() { | |
return getColumnSet().getColumnByClass(CarIdColumn.class); | |
} | |
public NameColumn getDetailColumn() { | |
return getColumnSet().getColumnByClass(NameColumn.class); | |
} | |
@Order(10.0f) | |
public class CarIdColumn extends AbstractLongColumn { | |
@Override | |
protected boolean getConfiguredPrimaryKey() { | |
return true; | |
} | |
@Override | |
protected boolean getConfiguredDisplayable() { | |
return false; | |
} | |
} | |
@Order(20.0f) | |
public class NameColumn extends AbstractStringColumn { | |
@Override | |
protected String getConfiguredHeaderText() { | |
return TEXTS.get("Name"); | |
} | |
} | |
@Order(30.0f) | |
public class DetailColumn extends AbstractStringColumn { | |
@Override | |
protected String getConfiguredHeaderText() { | |
return TEXTS.get("Detail"); | |
} | |
} | |
} | |
@Order(10.0) | |
public class ActivityMap extends AbstractExtensibleActivityMap<Long, Long> { | |
@Order(10.0) | |
public class CreateMenu extends AbstractMenu { | |
@Override | |
protected String getConfiguredText() { | |
return TEXTS.get("Create"); | |
} | |
@Override | |
protected Set<? extends IMenuType> getConfiguredMenuTypes() { | |
return CollectionUtility.hashSet(ActivityMapMenuType.Selection); | |
} | |
@Override | |
protected void execAction() throws ProcessingException { | |
List<ActivityCell<Long, Long>> cells = new ArrayList<ActivityCell<Long, Long>>(); | |
for (Long resourceId : getSelectedResourceIds()) { | |
ActivityCell<Long, Long> ac = new ActivityCell<Long, Long>(resourceId, createActivityId(), getSelectedBeginTime(), getSelectedEndTime(), null, null, null, 1f, 0f); | |
cells.add(ac); | |
} | |
addActivityCells(cells); | |
} | |
} | |
@Order(20.0) | |
public class DeleteMenu extends AbstractMenu { | |
@Override | |
protected String getConfiguredText() { | |
return TEXTS.get("DeleteMenu"); | |
} | |
@Override | |
protected Set<? extends IMenuType> getConfiguredMenuTypes() { | |
return CollectionUtility.hashSet(ActivityMapMenuType.Activity); | |
} | |
@Override | |
protected void execAction() throws ProcessingException { | |
ActivityCell<Long, Long> ac = getSelectedActivityCell(); | |
removeActivityCells(Collections.singletonList(ac)); | |
} | |
} | |
} | |
private Long createActivityId() { | |
m_ActivityIdCounter++; | |
return m_ActivityIdCounter; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment