Java源码示例:org.tltv.gantt.Gantt
示例1
/**
* Wrap the given component into a component identified by the given uri
* fragment.
* <p>
* 'tabsheet' wraps it to Tabsheet component.
* <p>
* Returns by default the component itself.
*
* @param uriragment
* @param component
* @return
*/
public static Component wrapByUriFragment(String uriragment, Gantt gantt) {
if (uriragment == null) {
return gantt;
}
if (uriragment.contains("tabsheet")) {
TabSheet tabsheet = new TabSheet();
tabsheet.setSizeFull();
Tab tab = tabsheet.addTab(gantt);
tab.setCaption("Tabsheet test");
return tabsheet;
} else if (uriragment.startsWith("grid")) {
return new GridGanttLayout(gantt);
} else if (uriragment.startsWith("treegrid")) {
return new TreeGridGanttLayout(gantt);
}
return gantt;
}
示例2
/**
* Creates the gantt.
*
* @return the gantt
*/
private static final Gantt createGantt() {
final Gantt gantt = new Gantt();
gantt.setSizeFull();
gantt.setWidth(100, Unit.PERCENTAGE);
gantt.setHeight(100, Unit.PERCENTAGE);
gantt.setResizableSteps(false);
gantt.setMovableSteps(false);
gantt.setResolution(Resolution.Week);
return gantt;
}
示例3
public GridGanttLayout(Gantt gantt) {
this.gantt = gantt;
setSizeFull();
setMargin(false);
setSpacing(false);
UI.getCurrent().getPage().getStyles().add(".v-grid tr th, .v-grid tr td { height: 37px; }");
ganttGrid = createGridForGantt();
addComponent(ganttGrid);
addComponent(gantt);
setExpandRatio(gantt, 1);
}
示例4
public TreeGridGanttLayout(Gantt gantt) {
this.gantt = gantt;
setSizeFull();
setMargin(false);
setSpacing(false);
UI.getCurrent().getPage().getStyles().add(".v-treegrid tr th, .v-treegrid tr td { height: 37px; }");
ganttTreeGrid = createGridForGantt();
addComponent(ganttTreeGrid);
addComponent(gantt);
setExpandRatio(gantt, 1);
}
示例5
private TimeZone getDefaultTimeZone() {
if (defaultTimeZone != null) {
return defaultTimeZone;
}
TimeZone tz = TimeZone.getDefault();
if (Gantt.getSupportedTimeZoneIDs().contains(tz.getID())) {
defaultTimeZone = tz;
} else {
defaultTimeZone = TimeZone.getTimeZone("Europe/Helsinki");
}
return defaultTimeZone;
}
示例6
/**
* Creates the role ghant.
*
* @param roleSummaryLayoutTabsheet the role summary layout tabsheet
* @param assignmentList the assignment list
*/
public final void createRoleGhant(final AbstractOrderedLayout roleSummaryLayoutTabsheet, final Collection<T> assignmentList) {
final Comparator<T> compare = getComparator();
final List<T> list = assignmentList.stream().filter(
(final T x) -> new DateTime(getStepMapping().getFromDate(x).getTime()).getYear() > FILTER_DATA_BEFORE_YEAR)
.collect(Collectors.toList());
Collections.sort(list, compare);
final Gantt createGantt = createGenericGantt(list, getRoleMapping(), getStepMapping());
roleSummaryLayoutTabsheet.addComponent(createGantt);
roleSummaryLayoutTabsheet.setExpandRatio(createGantt, ContentRatio.GRID);
}
示例7
protected Gantt buildGantt(IRecordStorageModule<?> storage, IRecordStoreInfo recordInfo)
{
double[] timeRange = storage.getRecordsTimeRange(recordInfo.getName());
timeRange[0] -= 3600;
timeRange[1] += 3600;
Gantt gantt = new Gantt();
gantt.setWidth(100, Unit.PERCENTAGE);
gantt.setHeight(130, Unit.PIXELS);
gantt.setResizableSteps(false);
gantt.setMovableSteps(false);
gantt.setStartDate(new Date((long)(timeRange[0]*1000)));
gantt.setEndDate(new Date((long)(timeRange[1]*1000)));
gantt.setYearsVisible(false);
gantt.setTimelineMonthFormat("MMMM yyyy");
gantt.setResolution(Resolution.Hour);
Step dataTimeRange = new Step(getPrettyName(recordInfo.getRecordDescription()));
dataTimeRange.setBackgroundColor("FFFFFF");
dataTimeRange.setStartDate((long)(timeRange[0]*1000));
dataTimeRange.setEndDate((long)(timeRange[1]*1000));
// add periods when data is actually available
Iterator<double[]> clusterTimes = storage.getRecordsTimeClusters(recordInfo.getName());
while (clusterTimes.hasNext())
{
timeRange = clusterTimes.next();
SubStep clusterPeriod = new SubStep();
clusterPeriod.setStartDate((long)(timeRange[0]*1000));
clusterPeriod.setEndDate((long)(timeRange[1]*1000));
dataTimeRange.addSubStep(clusterPeriod);
clusterPeriod.setDescription(
new DateTimeFormat().formatIso(timeRange[0], 0) + " / " +
new DateTimeFormat().formatIso(timeRange[1], 0)
);
}
gantt.addStep(dataTimeRange);
gantt.addClickListener(new Gantt.ClickListener() {
private static final long serialVersionUID = 1L;
public void onGanttClick(org.tltv.gantt.Gantt.ClickEvent event) {
System.out.println("click");
}
});
return gantt;
}
示例8
private Panel createControls() {
Panel panel = new Panel();
panel.setWidth(100, Unit.PERCENTAGE);
controls = new HorizontalLayout();
controls.setSpacing(true);
controls.setMargin(true);
panel.setContent(controls);
subControls = new HorizontalLayout();
subControls.setSpacing(true);
subControls.setVisible(false);
start = createStartDateField();
end = createEndDateField();
Button createStep = new Button("Create New Step...", createStepClickListener);
HorizontalLayout heightAndUnit = new HorizontalLayout(Util.createHeightEditor(gantt),
Util.createHeightUnitEditor(gantt));
HorizontalLayout widthAndUnit = new HorizontalLayout(Util.createWidthEditor(gantt),
Util.createWidthUnitEditor(gantt));
reso = new NativeSelect<Resolution>("Resolution");
reso.setEmptySelectionAllowed(false);
reso.setItems(org.tltv.gantt.client.shared.Resolution.Hour, org.tltv.gantt.client.shared.Resolution.Day,
org.tltv.gantt.client.shared.Resolution.Week);
reso.setValue(gantt.getResolution());
resolutionValueChangeRegistration = Optional.of(reso.addValueChangeListener(resolutionValueChangeListener));
localeSelect = new NativeSelect<Locale>("Locale") {
@Override
public void attach() {
super.attach();
if (getValue() == null) {
// use default locale
setValue(gantt.getLocale());
addValueChangeListener(localeValueChangeListener);
}
}
};
localeSelect.setEmptySelectionAllowed(false);
localeSelect.setItems(Locale.getAvailableLocales());
localeSelect.setItemCaptionGenerator((l) -> l.getDisplayName(getLocale()));
ComboBox<String> timezoneSelect = new ComboBox<String>("Timezone");
timezoneSelect.setWidth(300, Unit.PIXELS);
timezoneSelect.setEmptySelectionAllowed(false);
timezoneSelect.setItemCaptionGenerator(new ItemCaptionGenerator<String>() {
@Override
public String apply(String item) {
if ("Default".equals(item)) {
return "Default (" + getDefaultTimeZone().getDisplayName() + ")";
}
TimeZone tz = TimeZone.getTimeZone(item);
return tz.getID() + " (raw offset " + (tz.getRawOffset() / 60000) + "m)";
}
});
List<String> items = new ArrayList<>();
items.add("Default");
items.addAll(Gantt.getSupportedTimeZoneIDs());
timezoneSelect.setItems((caption, fltr) -> caption.contains(fltr), items);
timezoneSelect.setValue("Default");
timezoneSelect.addValueChangeListener(timezoneValueChangeListener);
final Button toggleSubControlsBtn = new Button("Show More Settings...");
toggleSubControlsBtn.addStyleName("link");
toggleSubControlsBtn.addClickListener(new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
subControls.setVisible(!subControls.isVisible());
toggleSubControlsBtn.setCaption(subControls.isVisible() ? "Less Settings..." : "More Settings...");
}
});
controls.addComponent(start);
controls.addComponent(end);
controls.addComponent(reso);
controls.addComponent(subControls);
controls.addComponent(toggleSubControlsBtn);
controls.setComponentAlignment(toggleSubControlsBtn, Alignment.BOTTOM_CENTER);
subControls.addComponent(localeSelect);
subControls.addComponent(timezoneSelect);
subControls.addComponent(heightAndUnit);
subControls.addComponent(widthAndUnit);
subControls.addComponent(createStep);
subControls.setComponentAlignment(createStep, Alignment.MIDDLE_LEFT);
return panel;
}
示例9
/**
* Creates the generic gantt.
*
* @param assignmentList
* the assignment list
* @param roleMapping
* the role mapping
* @param stepMapping
* the step mapping
* @return the gantt
*/
private Gantt createGenericGantt(final List<T> assignmentList, final Function<T, String> roleMapping,
final StepMapping<T> stepMapping) {
final Map<String, List<T>> assignmentListMap = assignmentList.stream()
.collect(Collectors.groupingBy(roleMapping, TreeMap::new, Collectors.toList()));
final Gantt gantt = createGantt();
if (!assignmentList.isEmpty()) {
gantt.setStartDate(stepMapping.getFromDate(assignmentList.get(0)));
gantt.setEndDate(
stripDatesAfterCurrentDate(stepMapping.getToDate(assignmentList.get(assignmentList.size() - 1))));
for (final Entry<String, List<T>> entry : entriesSortedByValues(assignmentListMap, stepMapping)) {
final String stepName = entry.getKey();
final Step step = new Step(stepName,CaptionMode.HTML);
step.setDescription(stepName);
final List<T> assignments = entry.getValue();
Collections.sort(assignments, getComparator());
addViewGenericRoleMemberToStep(stepName, step, assignments, stepMapping);
gantt.addStep(step);
}
}
return gantt;
}