public CourseFinderCourses() { super(); iCourses = new WebTable(); iCourses.setHeader( new WebTable.Row( new WebTable.Cell(MESSAGES.colSubject(), 1, "80px"), new WebTable.Cell(MESSAGES.colCourse(), 1, "80px"), new WebTable.Cell(MESSAGES.colLimit(), 1, "60px"), new WebTable.Cell(MESSAGES.colTitle(), 1, "300px"), new WebTable.Cell(MESSAGES.colCredit(), 1, "60px"), new WebTable.Cell(MESSAGES.colNote(), 1, "300px"))); iCourses.addRowDoubleClickHandler( new WebTable.RowDoubleClickHandler() { public void onRowDoubleClick(WebTable.RowDoubleClickEvent event) { iCourses.setSelectedRow(event.getRowIdx()); updateCourseDetails(); SelectionEvent.fire(CourseFinderCourses.this, getValue()); } }); iCourses.addRowClickHandler( new WebTable.RowClickHandler() { public void onRowClick(WebTable.RowClickEvent event) { iCourses.setSelectedRow(event.getRowIdx()); updateCourseDetails(); } }); iCoursesPanel = new ScrollPanel(iCourses); iCoursesPanel.getElement().getStyle().setWidth(780, Unit.PX); iCoursesPanel.getElement().getStyle().setHeight(200, Unit.PX); iCoursesPanel.setStyleName("unitime-ScrollPanel"); iCoursesTip = new Label(CONSTANTS.courseTips()[(int) (Math.random() * CONSTANTS.courseTips().length)]); iCoursesTip.setStyleName("unitime-Hint"); ToolBox.disableTextSelectInternal(iCoursesTip.getElement()); iCoursesTip.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { String oldText = iCoursesTip.getText(); do { iCoursesTip.setText( CONSTANTS.courseTips()[(int) (Math.random() * CONSTANTS.courseTips().length)]); } while (oldText.equals(iCoursesTip.getText())); } }); iCourseDetailsTabPanel = new UniTimeTabPanel(); iCourseDetailsTabPanel.setDeckStyleName("unitime-TabPanel"); iCourseDetailsTabPanel.addSelectionHandler( new SelectionHandler<Integer>() { @Override public void onSelection(SelectionEvent<Integer> event) { Cookies.setCookie( "UniTime:CourseFinderCourses", String.valueOf(event.getSelectedItem())); } }); setSpacing(10); add(iCoursesPanel); add(iCourseDetailsTabPanel); add(iCoursesTip); }