// fixme: should work automatically from the layout manager
final Measure width = getResourceManager().getThemeMeasure(facesContext, calendar, "minimumWidth");
layoutOfBox.setColumns(width.serialize());
// add time input
final UIPanel timePanel = (UIPanel) CreateComponentUtils.createComponent(
facesContext, UIPanel.COMPONENT_TYPE, RendererTypes.PANEL, "timePanel");
box.getChildren().add(timePanel);
final UIGridLayout layoutOfTime = (UIGridLayout) CreateComponentUtils.createComponent(
facesContext, UIGridLayout.COMPONENT_TYPE, RendererTypes.GRID_LAYOUT, "timePanelLayout");
timePanel.getFacets().put(Facets.LAYOUT, layoutOfTime);
layoutOfTime.setColumns("1*;auto;1*");
final UIPanel cell1 = (UIPanel) CreateComponentUtils.createComponent(
facesContext, UIPanel.COMPONENT_TYPE, RendererTypes.PANEL, "cell1");
cell1.onComponentPopulated(facesContext, parent);
timePanel.getChildren().add(cell1);
final UITime time = (UITime) CreateComponentUtils.createComponent(
facesContext, UITime.COMPONENT_TYPE, RendererTypes.TIME, "time");
timePanel.getChildren().add(time);
final UIPanel cell2 = (UIPanel) CreateComponentUtils.createComponent(
facesContext, UIPanel.COMPONENT_TYPE, RendererTypes.PANEL, "cell2");
cell2.onComponentPopulated(facesContext, parent);
timePanel.getChildren().add(cell2);
timePanel.onComponentPopulated(facesContext, parent);
final UIPanel buttonPanel = (UIPanel) CreateComponentUtils.createComponent(
facesContext, UIPanel.COMPONENT_TYPE, RendererTypes.PANEL, "buttonPanel");
final UIGridLayout layoutOfButtons = (UIGridLayout) CreateComponentUtils.createComponent(
facesContext, UIGridLayout.COMPONENT_TYPE, RendererTypes.GRID_LAYOUT, "buttonPanelLayout");
buttonPanel.setLayoutManager(layoutOfButtons);
layoutOfButtons.setColumns("*;*");
layoutOfButtons.setRows("auto");
box.getChildren().add(buttonPanel);
box.onComponentPopulated(facesContext, parent);
final UIButton okButton = (UIButton) CreateComponentUtils.createComponent(
facesContext, UIButton.COMPONENT_TYPE, RendererTypes.BUTTON, "ok");
buttonPanel.getChildren().add(okButton);
okButton.setValueExpression(Attributes.LABEL, expressionFactory.createValueExpression(
elContext, "#{tobagoContext.resourceBundle.datePickerOk}", String.class));
ComponentUtils.putDataAttributeWithPrefix(okButton, DataAttributes.DATE_PICKER_OK, true);
okButton.getAttributes().put(Attributes.POPUP_CLOSE, "afterSubmit");
okButton.setOmit(true);
final UIButton cancelButton = (UIButton) CreateComponentUtils.createComponent(
facesContext, UIButton.COMPONENT_TYPE, RendererTypes.BUTTON, "cancel");
buttonPanel.getChildren().add(cancelButton);
cancelButton.setValueExpression(Attributes.LABEL, expressionFactory.createValueExpression(
elContext, "#{tobagoContext.resourceBundle.datePickerCancel}", String.class));
cancelButton.getAttributes().put(Attributes.POPUP_CLOSE, "immediate");
buttonPanel.onComponentPopulated(facesContext, parent);
}