コード例 #1
0
 @Override
 public String getValue() {
   if (iCourses.getSelectedRow() < 0) {
     return null;
   } else {
     WebTable.Row row = iCourses.getRows()[iCourses.getSelectedRow()];
     String courseName = MESSAGES.courseName(row.getCell(0).getValue(), row.getCell(1).getValue());
     if ("false".equals(row.getId()))
       courseName =
           MESSAGES.courseNameWithTitle(
               row.getCell(0).getValue(), row.getCell(1).getValue(), row.getCell(2).getValue());
     return courseName;
   }
 }
コード例 #2
0
  protected void scrollToSelectedRow() {
    if (iCourses.getSelectedRow() < 0) return;

    Element scroll = iCoursesPanel.getElement();

    com.google.gwt.dom.client.Element item =
        iCourses.getTable().getRowFormatter().getElement(iCourses.getSelectedRow());
    if (item == null) return;

    int realOffset = 0;
    while (item != null && !item.equals(scroll)) {
      realOffset += item.getOffsetTop();
      item = item.getOffsetParent();
    }

    scroll.setScrollTop(realOffset - scroll.getOffsetHeight() / 2);
  }
コード例 #3
0
 @Override
 public void onKeyUp(KeyUpEvent event) {
   if (event.getNativeKeyCode() == KeyCodes.KEY_DOWN) {
     iCourses.setSelectedRow(iCourses.getSelectedRow() + 1);
     scrollToSelectedRow();
     updateCourseDetails();
   } else if (event.getNativeKeyCode() == KeyCodes.KEY_UP) {
     iCourses.setSelectedRow(
         iCourses.getSelectedRow() == 0
             ? iCourses.getRowsCount() - 1
             : iCourses.getSelectedRow() - 1);
     scrollToSelectedRow();
     updateCourseDetails();
   } else if (event.isControlKeyDown() || event.isAltKeyDown()) {
     for (Map.Entry<Character, Integer> entry : iTabAccessKeys.entrySet())
       if (event.getNativeKeyCode() == Character.toLowerCase(entry.getKey())
           || event.getNativeKeyCode() == Character.toUpperCase(entry.getKey())) {
         iCourseDetailsTabPanel.selectTab(entry.getValue());
         event.preventDefault();
         event.stopPropagation();
       }
   }
 }
コード例 #4
0
 protected void updateCourseDetails() {
   if (iCourses.getSelectedRow() < 0
       || iCourses.getRows() == null
       || iCourses.getRows().length == 0) {
     if (iDetails != null)
       for (CourseFinderCourseDetails detail : iDetails) {
         detail.setValue(null);
       }
     AriaStatus.getInstance().setHTML(ARIA.courseFinderNoCourse());
   } else {
     WebTable.Row row = iCourses.getRows()[iCourses.getSelectedRow()];
     String courseName = MESSAGES.courseName(row.getCell(0).getValue(), row.getCell(1).getValue());
     if ("false".equals(row.getId()))
       courseName =
           MESSAGES.courseNameWithTitle(
               row.getCell(0).getValue(), row.getCell(1).getValue(), row.getCell(2).getValue());
     for (CourseFinderCourseDetails detail : iDetails) detail.setValue(courseName);
     String title = row.getCell(3).getValue();
     String note = row.getCell(4).getValue();
     if (title.isEmpty()) {
       if (note.isEmpty()) {
         AriaStatus.getInstance()
             .setHTML(
                 ARIA.courseFinderSelected(
                     1 + iCourses.getSelectedRow(),
                     iCourses.getRowsCount(),
                     row.getCell(0).getValue(),
                     row.getCell(1).getValue()));
       } else {
         AriaStatus.getInstance()
             .setHTML(
                 ARIA.courseFinderSelectedWithNote(
                     1 + iCourses.getSelectedRow(),
                     iCourses.getRowsCount(),
                     row.getCell(0).getValue(),
                     row.getCell(1).getValue(),
                     note));
       }
     } else {
       if (note.isEmpty()) {
         AriaStatus.getInstance()
             .setHTML(
                 ARIA.courseFinderSelectedWithTitle(
                     1 + iCourses.getSelectedRow(),
                     iCourses.getRowsCount(),
                     row.getCell(0).getValue(),
                     row.getCell(1).getValue(),
                     title));
       } else {
         AriaStatus.getInstance()
             .setHTML(
                 ARIA.courseFinderSelectedWithTitleAndNote(
                     1 + iCourses.getSelectedRow(),
                     iCourses.getRowsCount(),
                     row.getCell(0).getValue(),
                     row.getCell(1).getValue(),
                     title,
                     note));
       }
     }
   }
 }