List of usage examples for com.google.gwt.aria.client Roles getColumnheaderRole
public static ColumnheaderRole getColumnheaderRole()
From source file:com.example.test.client.VMultiSelectCalendarWidget.java
License:Apache License
/** * Builds the day and time selectors of the calendar. *///from www.ja v a 2 s. c o m private void buildCalendarBody() { final int weekColumn = 0; final int firstWeekdayColumn = 1; final int headerRow = 0; setWidget(1, 0, daysTable); setCellPadding(0); setCellSpacing(0); getFlexCellFormatter().setColSpan(1, 0, 5); getFlexCellFormatter().setStyleName(1, 0, STYLE_PRIMARY + "-calendarpanel-body"); daysTable.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-week"); daysTable.setHTML(headerRow, weekColumn, "<strong></strong>"); // Hide the week column if week numbers are not to be displayed. daysTable.getFlexCellFormatter().setVisible(headerRow, weekColumn, isShowISOWeekNumbers()); daysTable.getRowFormatter().setStyleName(headerRow, STYLE_PRIMARY + "-calendarpanel-weekdays"); if (isShowISOWeekNumbers()) { daysTable.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-first"); daysTable.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, ""); daysTable.getRowFormatter().addStyleName(headerRow, STYLE_PRIMARY + "-calendarpanel-weeknumbers"); } else { daysTable.getFlexCellFormatter().setStyleName(headerRow, weekColumn, ""); daysTable.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, "v-first"); } daysTable.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn + 6, "v-last"); // Print weekday names final int firstDay = getDateTimeService().getFirstDayOfWeek(); for (int i = 0; i < 7; i++) { int day = i + firstDay; if (day > 6) { day = 0; } daysTable.setHTML(headerRow, firstWeekdayColumn + i, "<strong>" + getDateTimeService().getShortDay(day) + "</strong>"); Roles.getColumnheaderRole() .set(daysTable.getCellFormatter().getElement(headerRow, firstWeekdayColumn + i)); } // Zero out hours, minutes, seconds, and milliseconds to compare dates // without time part final Date tmp = new Date(); final Date today = new Date(tmp.getYear(), tmp.getMonth(), tmp.getDate()); //final Date selectedDate = value == null ? null : new Date(value.getYear(), value.getMonth(), value.getDate()); final int startWeekDay = getDateTimeService().getStartWeekDay(displayedMonth); final Date dateToAdd = (Date) displayedMonth.clone(); // Start from the first day of the week that at least partially belongs // to the current month dateToAdd.setDate(1 - startWeekDay); // No month has more than 6 weeks so 6 is a safe maximum for rows. for (int weekOfMonth = 1; weekOfMonth < 7; weekOfMonth++) { for (int dayOfWeek = 0; dayOfWeek < 7; dayOfWeek++) { // Actually write the day of month Date dayDate = (Date) dateToAdd.clone(); DayWidget day = new DayWidget(dayDate); day.setStyleName(STYLE_PRIMARY + "-calendarpanel-day"); if (!isDateInsideRange(dayDate, Resolution.DAY)) { day.addStyleDependentName(CN_OUTSIDE_RANGE); } //if (dateToAdd.equals(selectedDate)) { if (selectedDates.contains(dateToAdd)) { day.addStyleDependentName(CN_SELECTED); Roles.getGridcellRole().setAriaSelectedState(day.getElement(), SelectedValue.TRUE); selectedDays.add(day); } if (dateToAdd.equals(today)) { day.addStyleDependentName(CN_TODAY); } if (focusedDay != null && dateToAdd.equals(focusedDay.getDate())) { focusedDay = day; if (hasFocus) { day.addStyleDependentName(CN_FOCUSED); } } if (dateToAdd.getMonth() != displayedMonth.getMonth()) { day.addStyleDependentName(CN_OFFMONTH); } daysTable.setWidget(weekOfMonth, firstWeekdayColumn + dayOfWeek, day); Roles.getGridcellRole() .set(daysTable.getCellFormatter().getElement(weekOfMonth, firstWeekdayColumn + dayOfWeek)); // ISO week numbers if requested daysTable.getCellFormatter().setVisible(weekOfMonth, weekColumn, isShowISOWeekNumbers()); if (isShowISOWeekNumbers()) { final String baseCssClass = STYLE_PRIMARY + "-calendarpanel-weeknumber"; String weekCssClass = baseCssClass; int weekNumber = DateTimeService.getISOWeekNumber(dateToAdd); daysTable.setHTML(weekOfMonth, 0, "<span class=\"" + weekCssClass + "\"" + ">" + weekNumber + "</span>"); } dateToAdd.setDate(dateToAdd.getDate() + 1); } } }
From source file:com.vaadin.client.ui.VAbstractCalendarPanel.java
License:Apache License
/** * Builds the day and time selectors of the calendar. *///from w ww.jav a 2s. co m private void buildCalendarBody() { final int weekColumn = 0; final int firstWeekdayColumn = 1; final int headerRow = 0; setWidget(1, 0, days); setCellPadding(0); setCellSpacing(0); getFlexCellFormatter().setColSpan(1, 0, 5); getFlexCellFormatter().setStyleName(1, 0, getDateField().getStylePrimaryName() + "-calendarpanel-body"); days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-week"); days.setHTML(headerRow, weekColumn, "<strong></strong>"); // Hide the week column if week numbers are not to be displayed. days.getFlexCellFormatter().setVisible(headerRow, weekColumn, isShowISOWeekNumbers()); days.getRowFormatter().setStyleName(headerRow, getDateField().getStylePrimaryName() + "-calendarpanel-weekdays"); if (isShowISOWeekNumbers()) { days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-first"); days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, ""); days.getRowFormatter().addStyleName(headerRow, getDateField().getStylePrimaryName() + "-calendarpanel-weeknumbers"); } else { days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, ""); days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, "v-first"); } days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn + 6, "v-last"); // Print weekday names final int firstDay = getDateTimeService().getFirstDayOfWeek(); for (int i = 0; i < 7; i++) { int day = i + firstDay; if (day > 6) { day = 0; } if (isBelowMonth(getResolution())) { days.setHTML(headerRow, firstWeekdayColumn + i, "<strong>" + getDateTimeService().getShortDay(day) + "</strong>"); } else { days.setHTML(headerRow, firstWeekdayColumn + i, ""); } Roles.getColumnheaderRole().set(days.getCellFormatter().getElement(headerRow, firstWeekdayColumn + i)); } // Zero out hours, minutes, seconds, and milliseconds to compare dates // without time part final Date tmp = new Date(); final Date today = new Date(tmp.getYear(), tmp.getMonth(), tmp.getDate()); final Date selectedDate = value == null ? null : new Date(value.getYear(), value.getMonth(), value.getDate()); final int startWeekDay = getDateTimeService().getStartWeekDay(displayedMonth); final Date curr = (Date) displayedMonth.clone(); // Start from the first day of the week that at least partially belongs // to the current month curr.setDate(1 - startWeekDay); // No month has more than 6 weeks so 6 is a safe maximum for rows. for (int weekOfMonth = 1; weekOfMonth < 7; weekOfMonth++) { for (int dayOfWeek = 0; dayOfWeek < 7; dayOfWeek++) { // Actually write the day of month Date dayDate = (Date) curr.clone(); Day day = new Day(dayDate); day.setStyleName(getDateField().getStylePrimaryName() + "-calendarpanel-day"); if (!isDateInsideRange(dayDate, getResolution(this::isDay))) { day.addStyleDependentName(CN_OUTSIDE_RANGE); } if (curr.equals(selectedDate)) { day.addStyleDependentName(CN_SELECTED); Roles.getGridcellRole().setAriaSelectedState(day.getElement(), SelectedValue.TRUE); selectedDay = day; } if (curr.equals(today)) { day.addStyleDependentName(CN_TODAY); } if (curr.equals(focusedDate)) { focusedDay = day; if (hasFocus) { day.addStyleDependentName(CN_FOCUSED); } } if (curr.getMonth() != displayedMonth.getMonth()) { day.addStyleDependentName(CN_OFFMONTH); } days.setWidget(weekOfMonth, firstWeekdayColumn + dayOfWeek, day); Roles.getGridcellRole() .set(days.getCellFormatter().getElement(weekOfMonth, firstWeekdayColumn + dayOfWeek)); // ISO week numbers if requested days.getCellFormatter().setVisible(weekOfMonth, weekColumn, isShowISOWeekNumbers()); if (isShowISOWeekNumbers()) { final String baseCssClass = getDateField().getStylePrimaryName() + "-calendarpanel-weeknumber"; String weekCssClass = baseCssClass; int weekNumber = DateTimeService.getISOWeekNumber(curr); days.setHTML(weekOfMonth, 0, "<span class=\"" + weekCssClass + "\"" + ">" + weekNumber + "</span>"); } curr.setDate(curr.getDate() + 1); } } }
From source file:com.vaadin.client.ui.VCalendarPanel.java
License:Apache License
/** * Builds the day and time selectors of the calendar. *//*from ww w.j ava2 s. co m*/ private void buildCalendarBody() { final int weekColumn = 0; final int firstWeekdayColumn = 1; final int headerRow = 0; setWidget(1, 0, days); setCellPadding(0); setCellSpacing(0); getFlexCellFormatter().setColSpan(1, 0, 5); getFlexCellFormatter().setStyleName(1, 0, parent.getStylePrimaryName() + "-calendarpanel-body"); days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-week"); days.setHTML(headerRow, weekColumn, "<strong></strong>"); // Hide the week column if week numbers are not to be displayed. days.getFlexCellFormatter().setVisible(headerRow, weekColumn, isShowISOWeekNumbers()); days.getRowFormatter().setStyleName(headerRow, parent.getStylePrimaryName() + "-calendarpanel-weekdays"); if (isShowISOWeekNumbers()) { days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-first"); days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, ""); days.getRowFormatter().addStyleName(headerRow, parent.getStylePrimaryName() + "-calendarpanel-weeknumbers"); } else { days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, ""); days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, "v-first"); } days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn + 6, "v-last"); // Print weekday names final int firstDay = getDateTimeService().getFirstDayOfWeek(); for (int i = 0; i < 7; i++) { int day = i + firstDay; if (day > 6) { day = 0; } if (getResolution().getCalendarField() > Resolution.MONTH.getCalendarField()) { days.setHTML(headerRow, firstWeekdayColumn + i, "<strong>" + getDateTimeService().getShortDay(day) + "</strong>"); } else { days.setHTML(headerRow, firstWeekdayColumn + i, ""); } Roles.getColumnheaderRole().set(days.getCellFormatter().getElement(headerRow, firstWeekdayColumn + i)); } // Zero out hours, minutes, seconds, and milliseconds to compare dates // without time part final Date tmp = new Date(); final Date today = new Date(tmp.getYear(), tmp.getMonth(), tmp.getDate()); final Date selectedDate = value == null ? null : new Date(value.getYear(), value.getMonth(), value.getDate()); final int startWeekDay = getDateTimeService().getStartWeekDay(displayedMonth); final Date curr = (Date) displayedMonth.clone(); // Start from the first day of the week that at least partially belongs // to the current month curr.setDate(1 - startWeekDay); // No month has more than 6 weeks so 6 is a safe maximum for rows. for (int weekOfMonth = 1; weekOfMonth < 7; weekOfMonth++) { for (int dayOfWeek = 0; dayOfWeek < 7; dayOfWeek++) { // Actually write the day of month Date dayDate = (Date) curr.clone(); Day day = new Day(dayDate); day.setStyleName(parent.getStylePrimaryName() + "-calendarpanel-day"); if (!isDateInsideRange(dayDate, Resolution.DAY)) { day.addStyleDependentName(CN_OUTSIDE_RANGE); } if (curr.equals(selectedDate)) { day.addStyleDependentName(CN_SELECTED); Roles.getGridcellRole().setAriaSelectedState(day.getElement(), SelectedValue.TRUE); selectedDay = day; } if (curr.equals(today)) { day.addStyleDependentName(CN_TODAY); } if (curr.equals(focusedDate)) { focusedDay = day; if (hasFocus) { day.addStyleDependentName(CN_FOCUSED); } } if (curr.getMonth() != displayedMonth.getMonth()) { day.addStyleDependentName(CN_OFFMONTH); } days.setWidget(weekOfMonth, firstWeekdayColumn + dayOfWeek, day); Roles.getGridcellRole() .set(days.getCellFormatter().getElement(weekOfMonth, firstWeekdayColumn + dayOfWeek)); // ISO week numbers if requested days.getCellFormatter().setVisible(weekOfMonth, weekColumn, isShowISOWeekNumbers()); if (isShowISOWeekNumbers()) { final String baseCssClass = parent.getStylePrimaryName() + "-calendarpanel-weeknumber"; String weekCssClass = baseCssClass; int weekNumber = DateTimeService.getISOWeekNumber(curr); days.setHTML(weekOfMonth, 0, "<span class=\"" + weekCssClass + "\"" + ">" + weekNumber + "</span>"); } curr.setDate(curr.getDate() + 1); } } }
From source file:org.unitime.timetable.gwt.client.widgets.UniTimeTable.java
License:Apache License
public void setRow(int row, T data, List<? extends Widget> widgets) { SmartTableRow<T> oldRow = getSmartRow(row); if (oldRow != null && oldRow.getData() != null) { DataChangedEvent<T> event = new DataChangedEvent<T>(oldRow.getData(), row); for (DataChangedListener<T> listener : iDataChangedListeners) listener.onDataRemoved(event); }//w w w . j a v a 2s .com SmartTableRow smartRow = new SmartTableRow(data); int col = 0, x = 0; for (Widget widget : widgets) { SmartTableCell cell = new SmartTableCell(smartRow, widget); int colspan = 1; if (widget instanceof HasColSpan) { colspan = ((HasColSpan) widget).getColSpan(); getFlexCellFormatter().setColSpan(row, col, colspan); } if (widget instanceof HasStyleName && ((HasStyleName) widget).getStyleName() != null) getFlexCellFormatter().setStyleName(row, col, ((HasStyleName) widget).getStyleName()); if (widget instanceof HasAdditionalStyleNames) { List<String> styleNames = ((HasAdditionalStyleNames) widget).getAdditionalStyleNames(); if (styleNames != null) for (String styleName : styleNames) getFlexCellFormatter().addStyleName(row, col, styleName); } if (widget instanceof HasCellAlignment) getFlexCellFormatter().setHorizontalAlignment(row, col, ((HasCellAlignment) widget).getCellAlignment()); if (widget instanceof HasVerticalCellAlignment) getFlexCellFormatter().setVerticalAlignment(row, col, ((HasVerticalCellAlignment) widget).getVerticalCellAlignment()); if (widget instanceof HasColumn) ((HasColumn) widget).setColumn(col); setWidget(row, col, cell); if (widget instanceof UniTimeTableHeader) { Roles.getColumnheaderRole().set(getCellFormatter().getElement(row, col)); } else { Roles.getGridcellRole().set(getCellFormatter().getElement(row, col)); } x += colspan; if (row > 0) { if (colspan == 1) { getCellFormatter().setVisible(row, col, isColumnVisible(x - 1)); } else { int span = 0; for (int h = x - colspan; h < x; h++) if (isColumnVisible(h)) span++; getCellFormatter().setVisible(row, col, span > 0); getFlexCellFormatter().setColSpan(row, col, Math.max(1, span)); } } col++; } Roles.getRowRole().set(getRowFormatter().getElement(row)); if (data != null) { DataChangedEvent<T> event = new DataChangedEvent<T>(data, row); for (DataChangedListener<T> listener : iDataChangedListeners) listener.onDataInserted(event); } }
From source file:org.unitime.timetable.gwt.client.widgets.WebTable.java
License:Apache License
public void setHeader(Row... header) { iHeader = header;//from w w w. j av a 2 s . c om for (int i = 0; i < header.length; i++) { for (int j = 0; j < header[i].getNrCells(); j++) { Cell cell = header[i].getCell(j); if (cell.getWidget() == null) { iTable.setHTML(i, j, (cell.getValue() == null || cell.getValue().isEmpty() ? " " : cell.getValue())); if (cell.getAriaLabel() != null && !cell.getAriaLabel().isEmpty()) Roles.getGridcellRole().setAriaLabelProperty(iTable.getCellFormatter().getElement(i, j), cell.getAriaLabel()); } else iTable.setWidget(i, j, cell.getWidget()); iTable.getFlexCellFormatter().setWordWrap(i, j, cell.getWordWrap()); iTable.getFlexCellFormatter().setStyleName(i, j, (cell.getStyleName() == null ? "unitime-TableHeader" : cell.getStyleName())); iTable.getFlexCellFormatter().setWidth(i, j, (cell.getWidth() == null ? (100 / header.length) + "%" : cell.getWidth())); iTable.getFlexCellFormatter().setColSpan(i, j, cell.getColSpan()); iTable.getFlexCellFormatter().setVerticalAlignment(i, j, cell.getVerticalAlignment()); iTable.getFlexCellFormatter().setHorizontalAlignment(i, j, cell.getHorizontalAlignment()); iTable.getFlexCellFormatter().getElement(i, j).setTitle(cell.getTitle()); Roles.getColumnheaderRole().set(iTable.getCellFormatter().getElement(i, j)); } Roles.getRowRole().set(iTable.getRowFormatter().getElement(i)); if (header[i].getAriaLabel() != null && !header[i].getAriaLabel().isEmpty()) { iTable.setWidget(i, header[i].getNrCells(), new AriaHiddenLabel(header[i].getAriaLabel())); } else { iTable.setHTML(i, header[i].getNrCells(), ""); } Roles.getRowheaderRole().set(iTable.getCellFormatter().getElement(i, header[i].getNrCells())); iTable.getFlexCellFormatter().setStyleName(i, header[i].getNrCells(), "unitime-TableHeader"); iTable.getFlexCellFormatter().addStyleName(i, header[i].getNrCells(), "rowheader"); } }