List of usage examples for com.google.gwt.event.logical.shared SelectionEvent getSelectedItem
public T getSelectedItem()
From source file:org.talend.mdm.webapp.browserecords.client.widget.treedetail.TreeDetail.java
License:Open Source License
private void addTreeListener(TreeEx tree) { tree.addSelectionHandler(new SelectionHandler<TreeItemEx>() { @Override//from w w w.j a v a 2s. c om public void onSelection(SelectionEvent<TreeItemEx> event) { if (event.getSelectedItem() instanceof DynamicTreeItem) { selectedItem = (DynamicTreeItem) event.getSelectedItem(); } } }); }
From source file:org.traccar.web.client.view.PersonalManagementView.java
License:Apache License
public PersonalManagementView(PersonalManagementHandler personalManagementHandler, ListStore<PersonalHistory> personalHistoryStore, PersonalHistoryProperties personalHistoryProperties) { this.personalManagementHandler = personalManagementHandler; this.personalHistoryStore = personalHistoryStore; personalHistoryStore.addStoreHandlers(personalHistoryStoreHandler); List<ColumnConfig<PersonalHistory, ?>> columnConfigList = new LinkedList<ColumnConfig<PersonalHistory, ?>>(); columnConfigList//from w ww. j av a2s .c om .add(new ColumnConfig<PersonalHistory, String>(personalHistoryProperties.name(), 0, "Name")); columnConfigList.add(new ColumnConfig<PersonalHistory, Integer>(personalHistoryProperties.age(), 0, "Age")); columnConfigList .add(new ColumnConfig<PersonalHistory, String>(personalHistoryProperties.weight(), 0, "Weight")); columnConfigList .add(new ColumnConfig<PersonalHistory, String>(personalHistoryProperties.height(), 0, "Height")); ColumnConfig<PersonalHistory, Date> columnConfigDate = new ColumnConfig<PersonalHistory, Date>( personalHistoryProperties.activeTime(), 0, "Active Time"); columnConfigDate.setCell(new DateCell(ApplicationContext.getInstance().getFormatterUtil().getDateFormat())); columnConfigList.add(columnConfigDate); columnConfigList.add(new ColumnConfig<PersonalHistory, String>(personalHistoryProperties.totalKilometers(), 0, "Total Kilometers")); columnConfigList.add(new ColumnConfig<PersonalHistory, String>( personalHistoryProperties.uphillInclination(), 0, "Uphill Inclination")); columnConfigList.add(new ColumnConfig<PersonalHistory, String>( personalHistoryProperties.downhillInclination(), 0, "Downhill Inclination")); columnConfigList.add(new ColumnConfig<PersonalHistory, String>(personalHistoryProperties.totalInclination(), 0, "Total Inclination")); columnConfigList.add( new ColumnConfig<PersonalHistory, Integer>(personalHistoryProperties.heartRate(), 0, "Heart Rate")); columnConfigList.add( new ColumnConfig<PersonalHistory, String>(personalHistoryProperties.activity(), 0, "Activity")); columnConfigList .add(new ColumnConfig<PersonalHistory, String>(personalHistoryProperties.skin(), 0, "Skin")); columnConfigList.add(new ColumnConfig<PersonalHistory, String>(personalHistoryProperties.bloodOxygen(), 0, "Blood Oxygen")); columnConfigList.add(new ColumnConfig<PersonalHistory, String>(personalHistoryProperties.fireDepartment(), 0, "Fire Department")); columnModel = new ColumnModel<PersonalHistory>(columnConfigList); StringLabelProvider<String> labelProvider = new StringLabelProvider<String>(); filter = new SimpleComboBox<String>(labelProvider); filter.setTriggerAction(TriggerAction.ALL); filter.setEditable(false); filter.setWidth(200); filter.add("No Filter"); filter.add("Last 12 hours"); filter.add("Last 24 hours"); filter.add("Last 36 hours"); filter.setValue("From the beginning"); // we want to change selection model on select, not value change which fires on blur filter.addSelectionHandler(new SelectionHandler<String>() { @Override public void onSelection(SelectionEvent<String> event) { if (event.getSelectedItem().equalsIgnoreCase("No Filter")) { PersonalManagementView.this.personalManagementHandler.loadLatestPositions(-1); } else if (event.getSelectedItem().equalsIgnoreCase("Last 12 hours")) { PersonalManagementView.this.personalManagementHandler.loadLatestPositions(12); } else if (event.getSelectedItem().equalsIgnoreCase("Last 24 hours")) { PersonalManagementView.this.personalManagementHandler.loadLatestPositions(24); } else if (event.getSelectedItem().equalsIgnoreCase("Last 36 hours")) { PersonalManagementView.this.personalManagementHandler.loadLatestPositions(36); } } }); uiBinder.createAndBindUi(this); grid.getSelectionModel().addSelectionChangedHandler(this); grid.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); }
From source file:org.uberfire.client.workbench.panels.impl.AbstractWorkbenchPanelView.java
License:Apache License
protected void addSelectionHandler(HasSelectionHandlers<PartDefinition> widget) { widget.addSelectionHandler(new SelectionHandler<PartDefinition>() { @Override/* ww w . jav a 2 s . c o m*/ public void onSelection(final SelectionEvent<PartDefinition> event) { panelManager.onPartLostFocus(); panelManager.onPartFocus(event.getSelectedItem()); } }); }
From source file:org.uberfire.client.workbench.panels.impl.MultiListWorkbenchPanelView.java
License:Apache License
@Override protected MultiPartWidget setupWidget() { if (contextWidget != null) { listBar.setExpanderCommand(new Command() { @Override/*from w w w. java2 s . c o m*/ public void execute() { contextWidget.toogleDisplay(); } }); } //When a tab is selected ensure content is resized and set focus listBar.addSelectionHandler(new SelectionHandler<PartDefinition>() { @Override public void onSelection(final SelectionEvent<PartDefinition> event) { presenter.onPartLostFocus(); presenter.onPartFocus(event.getSelectedItem()); } }); listBar.addOnFocusHandler(new Command() { @Override public void execute() { panelManager.onPanelFocus(presenter.getDefinition()); } }); return listBar; }
From source file:org.uberfire.client.workbench.panels.impl.MultiTabWorkbenchPanelView.java
License:Apache License
@Override protected MultiPartWidget setupWidget() { final UberTabPanel tabPanel = getUberTabPanel(); // //Selecting a tab causes the previously selected tab to receive a Lost Focus event // widget.addBeforeSelectionHandler( new BeforeSelectionHandler<PartDefinition>() { // @Override // public void onBeforeSelection( final BeforeSelectionEvent<PartDefinition> event ) { ////from w w w. j av a 2 s . c o m // } // } ); //When a tab is selected ensure content is resized and set focus tabPanel.addSelectionHandler(new SelectionHandler<PartDefinition>() { @Override public void onSelection(SelectionEvent<PartDefinition> event) { presenter.onPartLostFocus(); presenter.onPartFocus(event.getSelectedItem()); } }); tabPanel.addOnFocusHandler(new Command() { @Override public void execute() { panelManager.onPanelFocus(presenter.getDefinition()); } }); return tabPanel; }
From source file:org.uberfire.client.workbench.panels.impl.SimpleWorkbenchPanelView.java
License:Apache License
private void setupListBarDragAndDrop() { listBar.setDndManager(dndManager);/* w w w. j a v a2 s . c om*/ listBar.setup(false, false); //When a tab is selected ensure content is resized and set focus listBar.addSelectionHandler(new SelectionHandler<PartDefinition>() { @Override public void onSelection(SelectionEvent<PartDefinition> event) { presenter.onPartLostFocus(); presenter.onPartFocus(event.getSelectedItem()); } }); listBar.addOnFocusHandler(new Command() { @Override public void execute() { panelManager.onPanelFocus(presenter.getDefinition()); } }); setListBarOverFlow(); }
From source file:org.unitime.timetable.gwt.client.sectioning.SectioningStatusPage.java
License:Apache License
public SectioningStatusPage(boolean online) { iOnline = online;// w w w. ja v a2 s. co m iPanel = new VerticalPanel(); iSectioningPanel = new VerticalPanel(); iFilterPanel = new HorizontalPanel(); iFilterPanel.setSpacing(3); Label filterLabel = new Label(MESSAGES.filter()); iFilterPanel.add(filterLabel); iFilterPanel.setCellVerticalAlignment(filterLabel, HasVerticalAlignment.ALIGN_MIDDLE); iFilter = new SectioningStatusFilterBox(online); iFilterPanel.add(iFilter); iSearch = new Button(MESSAGES.buttonSearch()); iSearch.setAccessKey('s'); iSearch.addStyleName("unitime-NoPrint"); iFilterPanel.add(iSearch); iFilterPanel.setCellVerticalAlignment(iSearch, HasVerticalAlignment.ALIGN_TOP); iLoadingImage = new Image(RESOURCES.loading_small()); iLoadingImage.setVisible(false); iFilterPanel.add(iLoadingImage); iFilterPanel.setCellVerticalAlignment(iLoadingImage, HasVerticalAlignment.ALIGN_MIDDLE); iSectioningPanel.add(iFilterPanel); iSectioningPanel.setCellHorizontalAlignment(iFilterPanel, HasHorizontalAlignment.ALIGN_CENTER); iCourseTable = new UniTimeTable<EnrollmentInfo>(); iStudentTable = new UniTimeTable<StudentInfo>(); iLogTable = new UniTimeTable<SectioningAction>(); VerticalPanel courseTableWithHint = new VerticalPanel(); courseTableWithHint.add(iCourseTable); iCourseTableHint = new HTML(MESSAGES.sectioningStatusReservationHint()); iCourseTableHint.setStyleName("unitime-Hint"); courseTableWithHint.add(iCourseTableHint); courseTableWithHint.setCellHorizontalAlignment(iCourseTableHint, HasHorizontalAlignment.ALIGN_RIGHT); VerticalPanel studentTableWithHint = new VerticalPanel(); studentTableWithHint.add(iStudentTable); iStudentTableHint = new HTML(MESSAGES.sectioningStatusPriorityHint()); iStudentTableHint.setStyleName("unitime-Hint"); studentTableWithHint.add(iStudentTableHint); studentTableWithHint.setCellHorizontalAlignment(iStudentTableHint, HasHorizontalAlignment.ALIGN_RIGHT); iTabPanel = new UniTimeTabPanel(); iTabPanel.add(courseTableWithHint, MESSAGES.tabEnrollments(), true); iTabPanel.selectTab(0); iTabPanel.add(studentTableWithHint, MESSAGES.tabStudents(), true); iTabPanel.setVisible(false); iTabPanel.addSelectionHandler(new SelectionHandler<Integer>() { @Override public void onSelection(SelectionEvent<Integer> event) { iTabIndex = event.getSelectedItem(); loadDataIfNeeded(); } }); iTabPanelWithFocus = new FocusPanel(iTabPanel); iTabPanelWithFocus.setStyleName("unitime-FocusPanel"); iSectioningPanel.add(iTabPanelWithFocus); iTabPanelWithFocus.addKeyUpHandler(new KeyUpHandler() { public void onKeyUp(KeyUpEvent event) { if (event.getNativeEvent().getCtrlKey() && (event.getNativeKeyCode() == 'e' || event.getNativeKeyCode() == 'E')) { iTabPanel.selectTab(0); event.preventDefault(); } if (event.getNativeEvent().getCtrlKey() && (event.getNativeKeyCode() == 's' || event.getNativeKeyCode() == 'S')) { iTabPanel.selectTab(1); event.preventDefault(); } if (event.getNativeEvent().getCtrlKey() && (event.getNativeKeyCode() == 'l' || event.getNativeKeyCode() == 'L')) { iTabPanel.selectTab(2); event.preventDefault(); } } }); iSectioningPanel.setWidth("100%"); iPanel.add(iSectioningPanel); iError = new HTML(); iError.setStyleName("unitime-ErrorMessage"); iError.setVisible(false); iPanel.add(iError); iPanel.setCellHorizontalAlignment(iError, HasHorizontalAlignment.ALIGN_CENTER); initWidget(iPanel); iSearch.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { loadData(); } }); iFilter.addKeyUpHandler(new KeyUpHandler() { public void onKeyUp(KeyUpEvent event) { if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) { if (iFilter.getValue().equals(iLastFilterOnEnter) && !iFilter.getValue().equals(iCourseFilter)) loadData(); else iLastFilterOnEnter = iFilter.getValue(); } } }); iCourseTable.addMouseClickListener(new MouseClickListener<ClassAssignmentInterface.EnrollmentInfo>() { @Override public void onMouseClick(final TableEvent<EnrollmentInfo> event) { if (event.getData() == null || event.getData().getCourseId() == null) return; // header or footer iCourseTable.clearHover(); setLoading(true); final Long id = (event.getData().getConfigId() == null ? event.getData().getOfferingId() : -event.getData().getClazzId()); iError.setVisible(false); if (event.getData().getConfigId() == null) LoadingWidget.getInstance().show(MESSAGES.loadingEnrollments( MESSAGES.course(event.getData().getSubject(), event.getData().getCourseNbr()))); else LoadingWidget.getInstance() .show(MESSAGES.loadingEnrollments( MESSAGES.clazz(event.getData().getSubject(), event.getData().getCourseNbr(), event.getData().getSubpart(), event.getData().getClazz()))); if (iOnline) { iSectioningService.canApprove(id, new AsyncCallback<List<Long>>() { @Override public void onSuccess(final List<Long> courseIdsCanApprove) { iSectioningService.findEnrollments(iOnline, iCourseFilter, iCourseFilterRequest, event.getData().getCourseId(), event.getData().getClazzId(), new AsyncCallback<List<Enrollment>>() { @Override public void onFailure(Throwable caught) { LoadingWidget.getInstance().hide(); UniTimeNotifications.error(caught); setLoading(false); iError.setHTML(caught.getMessage()); iError.setVisible(true); ToolBox.checkAccess(caught); } @Override public void onSuccess(List<Enrollment> result) { LoadingWidget.getInstance().hide(); setLoading(false); iEnrollmentTable.clear(); iEnrollmentTable.setId(id); iEnrollmentTable.populate(result, courseIdsCanApprove); if (event.getData().getConfigId() == null) iEnrollmentDialog.setText(MESSAGES.titleEnrollments( MESSAGES.course(event.getData().getSubject(), event.getData().getCourseNbr()))); else iEnrollmentDialog.setText(MESSAGES.titleEnrollments(MESSAGES.clazz( event.getData().getSubject(), event.getData().getCourseNbr(), event.getData().getSubpart(), event.getData().getClazz()))); iEnrollmentDialog.center(); } }); } @Override public void onFailure(Throwable caught) { LoadingWidget.getInstance().hide(); UniTimeNotifications.error(caught); setLoading(false); iError.setHTML(caught.getMessage()); iError.setVisible(true); ToolBox.checkAccess(caught); } }); } else { iSectioningService.findEnrollments(iOnline, iCourseFilter, iCourseFilterRequest, event.getData().getCourseId(), event.getData().getClazzId(), new AsyncCallback<List<Enrollment>>() { @Override public void onFailure(Throwable caught) { LoadingWidget.getInstance().hide(); UniTimeNotifications.error(caught); setLoading(false); iError.setHTML(caught.getMessage()); iError.setVisible(true); ToolBox.checkAccess(caught); } @Override public void onSuccess(List<Enrollment> result) { LoadingWidget.getInstance().hide(); setLoading(false); iEnrollmentTable.clear(); iEnrollmentTable.setId(id); iEnrollmentTable.populate(result, null); if (event.getData().getConfigId() == null) iEnrollmentDialog.setText(MESSAGES.titleEnrollments(MESSAGES.course( event.getData().getSubject(), event.getData().getCourseNbr()))); else iEnrollmentDialog.setText(MESSAGES.titleEnrollments(MESSAGES.clazz( event.getData().getSubject(), event.getData().getCourseNbr(), event.getData().getSubpart(), event.getData().getClazz()))); iEnrollmentDialog.center(); } }); } } }); iStudentTable.addMouseClickListener(new MouseClickListener<StudentInfo>() { @Override public void onMouseClick(final TableEvent<StudentInfo> event) { if (event.getData() == null || event.getData().getStudent() == null) return; // header or footer iStudentTable.clearHover(); LoadingWidget.getInstance() .show(MESSAGES.loadingEnrollment(event.getData().getStudent().getName())); iError.setVisible(false); iEnrollmentTable.showStudentSchedule(event.getData().getStudent(), new AsyncCallback<Boolean>() { @Override public void onFailure(Throwable caught) { LoadingWidget.getInstance().hide(); iError.setHTML(caught.getMessage()); iError.setVisible(true); } @Override public void onSuccess(Boolean result) { LoadingWidget.getInstance().hide(); } }); } }); iLogTable.addMouseClickListener(new MouseClickListener<ClassAssignmentInterface.SectioningAction>() { @Override public void onMouseClick(TableEvent<SectioningAction> event) { if (event.getData() != null && event.getData().getProto() != null) { final HTML widget = new HTML(event.getData().getProto()); final ScrollPanel scroll = new ScrollPanel(widget); scroll.setHeight(((int) (0.8 * Window.getClientHeight())) + "px"); scroll.setStyleName("unitime-ScrollPanel"); final UniTimeDialogBox dialog = new UniTimeDialogBox(true, false); dialog.setWidget(scroll); dialog.setText(MESSAGES.dialogChangeMessage(event.getData().getStudent().getName())); dialog.setEscapeToHide(true); dialog.addOpenHandler(new OpenHandler<UniTimeDialogBox>() { @Override public void onOpen(OpenEvent<UniTimeDialogBox> event) { RootPanel.getBodyElement().getStyle().setOverflow(Overflow.HIDDEN); scroll.setHeight(Math.min(widget.getElement().getScrollHeight(), Window.getClientHeight() * 80 / 100) + "px"); dialog.setPopupPosition( Math.max(Window.getScrollLeft() + (Window.getClientWidth() - dialog.getOffsetWidth()) / 2, 0), Math.max( Window.getScrollTop() + (Window.getClientHeight() - dialog.getOffsetHeight()) / 2, 0)); } }); dialog.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { iLogTable.clearHover(); RootPanel.getBodyElement().getStyle().setOverflow(Overflow.AUTO); } }); dialog.center(); } } }); History.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { iCourseTable.clearTable(); iStudentTable.clearTable(); iLogTable.clearTable(); if (event.getValue().endsWith("@")) { iFilter.setValue(event.getValue().substring(0, event.getValue().length() - 1)); iTabPanel.selectTab(1); } else if (event.getValue().endsWith("$")) { iFilter.setValue(event.getValue().substring(0, event.getValue().length() - 1)); iTabPanel.selectTab(2); } else { iFilter.setValue(event.getValue()); if (iTabIndex != 0) iTabPanel.selectTab(0); else loadData(); } } }); iEnrollmentTable = new EnrollmentTable(false, iOnline); iEnrollmentScroll = new ScrollPanel(iEnrollmentTable); iEnrollmentScroll.setHeight(((int) (0.8 * Window.getClientHeight())) + "px"); iEnrollmentScroll.setStyleName("unitime-ScrollPanel"); iEnrollmentDialog = new UniTimeDialogBox(true, false); iEnrollmentDialog.setEscapeToHide(true); iEnrollmentDialog.setWidget(iEnrollmentScroll); iEnrollmentDialog.addOpenHandler(new OpenHandler<UniTimeDialogBox>() { @Override public void onOpen(OpenEvent<UniTimeDialogBox> event) { RootPanel.getBodyElement().getStyle().setOverflow(Overflow.HIDDEN); iEnrollmentScroll.setHeight(Math.min(iEnrollmentTable.getElement().getScrollHeight(), Window.getClientHeight() * 80 / 100) + "px"); iEnrollmentDialog.setPopupPosition( Math.max(Window.getScrollLeft() + (Window.getClientWidth() - iEnrollmentDialog.getOffsetWidth()) / 2, 0), Math.max(Window.getScrollTop() + (Window.getClientHeight() - iEnrollmentDialog.getOffsetHeight()) / 2, 0)); } }); iEnrollmentTable.getHeader().addButton("close", MESSAGES.buttonClose(), new ClickHandler() { @Override public void onClick(ClickEvent event) { iEnrollmentDialog.hide(); } }); iEnrollmentDialog.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { RootPanel.getBodyElement().getStyle().setOverflow(Overflow.AUTO); } }); if (iOnline) { iSectioningService.getProperties(null, new AsyncCallback<SectioningProperties>() { @Override public void onSuccess(SectioningProperties result) { iProperties = result; if (iProperties.isChangeLog()) iTabPanel.add(iLogTable, MESSAGES.tabChangeLog(), true); checkLastQuery(); } @Override public void onFailure(Throwable caught) { iError.setHTML(caught.getMessage()); iError.setVisible(true); } }); } else { checkLastQuery(); } iStatus = new UniTimeWidget<ListBox>(new ListBox()); iStatus.getWidget().addItem(""); iStatus.getWidget().setSelectedIndex(0); iSectioningService.lookupStudentSectioningStates(new AsyncCallback<Map<String, String>>() { @Override public void onFailure(Throwable caught) { } @Override public void onSuccess(Map<String, String> result) { iStates = result; for (final String ref : new TreeSet<String>(iStates.keySet())) { iStatus.getWidget().addItem(iStates.get(ref), ref); } for (int i = 0; i < iStatus.getWidget().getItemCount(); i++) { if ("Cancelled".equalsIgnoreCase(iStatus.getWidget().getValue(i))) { iStatus.getWidget().setSelectedIndex(i); break; } } } }); iSubject = new UniTimeTextBox(512, 473); iSubject.setText(MESSAGES.defaulSubject()); iCC = new UniTimeTextBox(512, 473); iMessage = new TextArea(); iMessage.setStyleName("unitime-TextArea"); iMessage.setVisibleLines(10); iMessage.setCharacterWidth(80); }
From source file:org.unitime.timetable.gwt.client.sectioning.StudentSchedule.java
License:Apache License
public StudentSchedule(boolean online) { iOnline = online;/*from w w w . j a va2 s.c om*/ iTabs = new UniTimeTabPanel(); iTabs.setDeckStyleName("unitime-TabPanel"); iRequests = new WebTable(); iRequests.setEmptyMessage(MESSAGES.emptyRequests()); iRequests.setHeader(new WebTable.Row(new WebTable.Cell(MESSAGES.colPriority(), 1, "25px"), new WebTable.Cell(MESSAGES.colCourse(), 1, "75px"), new WebTable.Cell(MESSAGES.colTitle(), 1, "200px"), new WebTable.Cell(MESSAGES.colCredit(), 1, "20px"), new WebTable.Cell(MESSAGES.colPreferences(), 1, "100px"), new WebTable.Cell(MESSAGES.colWarnings(), 1, "200px"), new WebTable.Cell(MESSAGES.colStatus(), 1, "20px"), new WebTable.Cell(MESSAGES.colCritical(), 1, "20px"), new WebTable.Cell(MESSAGES.colWaitList(), 1, "20px"), new WebTable.Cell(MESSAGES.colRequestTimeStamp(), 1, "50px"))); iTabs.add(iRequests, MESSAGES.tabRequests(), true); Character ch0 = UniTimeHeaderPanel.guessAccessKey(MESSAGES.tabRequests()); if (ch0 != null) iTabAccessKeys.put(ch0, 0); iAssignments = new WebTable(); iAssignments.setHeader(new WebTable.Row(new WebTable.Cell(MESSAGES.colSubject(), 1, "75px"), new WebTable.Cell(MESSAGES.colCourse(), 1, "75px"), new WebTable.Cell(MESSAGES.colSubpart(), 1, "50px"), new WebTable.Cell(MESSAGES.colClass(), 1, "75px"), new WebTable.Cell(MESSAGES.colLimit(), 1, "60px"), new WebTable.Cell(MESSAGES.colDays(), 1, "50px"), new WebTable.Cell(MESSAGES.colStart(), 1, "75px"), new WebTable.Cell(MESSAGES.colEnd(), 1, "75px"), new WebTable.Cell(MESSAGES.colDate(), 1, "75px"), new WebTable.Cell(MESSAGES.colRoom(), 1, "100px"), new WebTable.Cell(MESSAGES.colInstructor(), 1, "100px"), new WebTable.Cell(MESSAGES.colParent(), 1, "75px"), new WebTable.Cell(MESSAGES.colNoteIcon(), 1, "10px"), new WebTable.Cell(MESSAGES.colCredit(), 1, "75px"), new WebTable.Cell(MESSAGES.colEnrollmentTimeStamp(), 1, "75px"))); iAssignments.setEmptyMessage(MESSAGES.emptySchedule()); iTabs.add(iAssignments, MESSAGES.tabClasses(), true); Character ch1 = UniTimeHeaderPanel.guessAccessKey(MESSAGES.tabClasses()); if (ch1 != null) iTabAccessKeys.put(ch1, 1); iGrid = new TimeGrid(); iTabs.add(iGrid, MESSAGES.tabTimetable(), true); Character ch2 = UniTimeHeaderPanel.guessAccessKey(MESSAGES.tabTimetable()); if (ch2 != null) iTabAccessKeys.put(ch2, 2); iTabs.selectTab(SectioningStatusCookie.getInstance().getStudentTab()); iTabs.addSelectionHandler(new SelectionHandler<Integer>() { @Override public void onSelection(SelectionEvent<Integer> event) { SectioningStatusCookie.getInstance().setStudentTab(event.getSelectedItem()); if (iHandler != null) iHandler.onSelection(event); } }); initWidget(iTabs); }
From source file:org.unitime.timetable.gwt.client.sectioning.StudentSectioningWidget.java
License:Apache License
private void init() { if (CONSTANTS.allowCalendarExport()) { iCalendar = new ImageLink(); iCalendar.setImage(new Image(RESOURCES.calendar())); iCalendar.setTarget(null);//from w ww. ja v a2 s. c om iCalendar.setTitle(MESSAGES.exportICalendar()); iCalendar.setAriaLabel(MESSAGES.exportICalendar()); } iAssignments = new WebTable(); iAssignments.setHeader(new WebTable.Row(new WebTable.Cell(MESSAGES.colLock(), 1, "15px"), new WebTable.Cell(MESSAGES.colSubject(), 1, "40px"), new WebTable.Cell(MESSAGES.colCourse(), 1, "40px"), new WebTable.Cell(MESSAGES.colSubpart(), 1, "30px"), new WebTable.Cell(MESSAGES.colClass(), 1, "50px"), new WebTable.Cell(MESSAGES.colLimit(), 1, "30px").aria(ARIA.colLimit()), new WebTable.Cell(MESSAGES.colDays(), 1, "30px"), new WebTable.Cell(MESSAGES.colStart(), 1, "40px"), new WebTable.Cell(MESSAGES.colEnd(), 1, "40px"), new WebTable.Cell(MESSAGES.colDate(), 1, "50px"), new WebTable.Cell(MESSAGES.colRoom(), 1, "80px"), new WebTable.Cell(MESSAGES.colInstructor(), 1, "80px"), new WebTable.Cell(MESSAGES.colParent(), 1, "80px"), new WebTable.Cell(MESSAGES.colNote(), 1, "50px"), new WebTable.Cell(MESSAGES.colCredit(), 1, "30px"), (iCalendar != null ? new WebTable.WidgetCell(iCalendar, MESSAGES.colIcons(), 1, "1px") : new WebTable.Cell(MESSAGES.colIcons(), 1, "1px")))); iAssignments.setWidth("100%"); iAssignments.setEmptyMessage(MESSAGES.emptySchedule()); final FlexTable vp = new FlexTable(); vp.setCellPadding(0); vp.setCellSpacing(0); vp.setWidget(0, 0, iAssignments); vp.getFlexCellFormatter().setColSpan(0, 0, 3); iTotalCredit = new Label(); iTotalCredit.getElement().getStyle().setMarginTop(2, Unit.PX); vp.setWidget(1, 0, iQuickAdd); vp.setWidget(1, 1, iTotalCredit); iShowUnassignments = new CheckBox(MESSAGES.showUnassignments()); iShowUnassignments.getElement().getStyle().setMarginTop(2, Unit.PX); vp.setWidget(1, 2, iShowUnassignments); vp.getFlexCellFormatter().setHorizontalAlignment(1, 1, HasHorizontalAlignment.ALIGN_CENTER); vp.getFlexCellFormatter().setHorizontalAlignment(1, 2, HasHorizontalAlignment.ALIGN_RIGHT); for (int i = 0; i < 3; i++) vp.getFlexCellFormatter().getElement(1, i).getStyle().setWidth(33, Unit.PCT); iShowUnassignments.setVisible(false); String showUnassignments = Cookies.getCookie("UniTime:Unassignments"); iShowUnassignments.setValue(showUnassignments == null || "1".equals(showUnassignments)); iAssignmentGrid = new TimeGrid(); iGridMessage = new P("unitime-TimeGridMessage"); iGridMessage.setVisible(false); final P gridPanel = new P("unitime-TimeGridPanel"); gridPanel.add(iGridMessage); gridPanel.add(iAssignmentGrid); iAssignmentTab = new AriaTabBar(); iAssignmentTab.addTab(MESSAGES.tabClasses(), true); iAssignmentTab.addTab(MESSAGES.tabTimetable(), true); iAssignmentTab.selectTab(0); iAssignmentTab.addSelectionHandler(new SelectionHandler<Integer>() { @Override public void onSelection(SelectionEvent<Integer> event) { if (event.getSelectedItem() == 0) { iAssignmentPanel.setWidget(vp); AriaStatus.getInstance().setHTML(ARIA.listOfClasses()); } else { iAssignmentPanel.setWidget(gridPanel); iAssignmentGrid.scrollDown(); AriaStatus.getInstance().setHTML(ARIA.timetable()); } addHistory(); ResizeEvent.fire(StudentSectioningWidget.this, StudentSectioningWidget.this.getOffsetWidth(), StudentSectioningWidget.this.getOffsetHeight()); Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { iAssignmentPanel.setFocus(true); } }); } }); iAssignmentPanel = new FocusPanel(vp); iAssignmentPanel.setStyleName("unitime-ClassScheduleTabPanel"); iAssignmentPanel.addStyleName("unitime-FocusPanel"); final Character classesAccessKey = UniTimeHeaderPanel.guessAccessKey(MESSAGES.tabClasses()); final Character timetableAccessKey = UniTimeHeaderPanel.guessAccessKey(MESSAGES.tabTimetable()); iAssignmentPanel.addKeyUpHandler(new KeyUpHandler() { @Override public void onKeyUp(KeyUpEvent event) { if (iAssignmentTab.getSelectedTab() == 0) { if (event.getNativeKeyCode() == KeyCodes.KEY_DOWN) { do { iAssignments.setSelectedRow(iAssignments.getSelectedRow() + 1); } while (iAssignments.getRows()[iAssignments.getSelectedRow()] != null && !iAssignments.getRows()[iAssignments.getSelectedRow()].isSelectable()); if (iAssignments.getSelectedRow() >= 0 && iAssignments.getSelectedRow() < iAssignments.getRows().length && iAssignments.getRows()[iAssignments.getSelectedRow()] != null) AriaStatus.getInstance() .setHTML(ARIA.classSelected(1 + iAssignments.getSelectedRow(), iAssignments.getRowsCount(), iAssignments.getRows()[iAssignments.getSelectedRow()].getAriaLabel())); } if (event.getNativeKeyCode() == KeyCodes.KEY_UP) { do { iAssignments.setSelectedRow( iAssignments.getSelectedRow() == 0 ? iAssignments.getRowsCount() - 1 : iAssignments.getSelectedRow() - 1); } while (iAssignments.getRows()[iAssignments.getSelectedRow()] != null && !iAssignments.getRows()[iAssignments.getSelectedRow()].isSelectable()); if (iAssignments.getSelectedRow() >= 0 && iAssignments.getSelectedRow() < iAssignments.getRows().length && iAssignments.getRows()[iAssignments.getSelectedRow()] != null) AriaStatus.getInstance() .setHTML(ARIA.classSelected(1 + iAssignments.getSelectedRow(), iAssignments.getRowsCount(), iAssignments.getRows()[iAssignments.getSelectedRow()].getAriaLabel())); } if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) { updateHistory(); showSuggestionsAsync(iAssignments.getSelectedRow()); } } int tab = -1; if (classesAccessKey != null && event.getNativeEvent().getCtrlKey() && (event.getNativeKeyCode() == classesAccessKey || event.getNativeKeyCode() == Character.toUpperCase(classesAccessKey))) { tab = 0; } if (timetableAccessKey != null && event.getNativeEvent().getCtrlKey() && (event.getNativeKeyCode() == timetableAccessKey || event.getNativeKeyCode() == Character.toUpperCase(timetableAccessKey))) { tab = 1; } if (tab >= 0) { iAssignmentTab.selectTab(tab); event.preventDefault(); } } }); iAssignmentDock = new DockPanel(); iAssignmentDock.setStyleName("unitime-ClassSchedulePanel"); iAssignmentDock.setSpacing(0); iAssignmentDock.add(iAssignmentPanel, DockPanel.SOUTH); iAssignmentDock.add(iAssignmentTab, DockPanel.WEST); iAssignmentDock.setCellWidth(iAssignmentTab, "33%"); iAssignmentDock.setCellVerticalAlignment(iAssignmentTab, HasVerticalAlignment.ALIGN_BOTTOM); iAssignmentDock.setCellHorizontalAlignment(iAssignmentTab, HasHorizontalAlignment.ALIGN_LEFT); Roles.getTabpanelRole().set(iAssignmentDock.getElement()); Roles.getTabpanelRole().setAriaOwnsProperty(iAssignmentDock.getElement(), Id.of(iAssignmentTab.getElement())); P header = new P("unitime-MainHeader"); header.setHTML(MESSAGES.headerClassSchedule()); header.getElement().getStyle().setTextAlign(TextAlign.CENTER); iAssignmentDock.add(header, DockPanel.CENTER); iAssignmentDock.setCellHorizontalAlignment(header, HasHorizontalAlignment.ALIGN_CENTER); iAssignmentDock.setCellWidth(header, "34%"); P padding = new P("unitime-HeaderPadding"); padding.setHTML(" "); iAssignmentDock.add(padding, DockPanel.EAST); iAssignmentDock.setCellWidth(padding, "33%"); iRequests.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { prev(); addHistory(); } }); iReset.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { clearMessage(); LoadingWidget.getInstance().show(MESSAGES.courseRequestsScheduling()); iSectioningService.section(iOnline, iCourseRequests.getRequest(), null, new AsyncCallback<ClassAssignmentInterface>() { public void onFailure(Throwable caught) { iStatus.error(MESSAGES.exceptionSectioningFailed(caught.getMessage()), caught); LoadingWidget.getInstance().hide(); updateHistory(); } public void onSuccess(ClassAssignmentInterface result) { fillIn(result); addHistory(); } }); } }); iSchedule.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { iCourseRequests.changeTip(); clearMessage(); iCourseRequests.validate(new AsyncCallback<Boolean>() { public void onSuccess(Boolean result) { updateHistory(); if (result) { if (iOnline) { iSectioningService.saveRequest(iCourseRequests.getRequest(), new AsyncCallback<Boolean>() { public void onSuccess(Boolean result) { if (result) { iStatus.info(MESSAGES.saveRequestsOK()); } } public void onFailure(Throwable caught) { iStatus.error(MESSAGES.saveRequestsFail(caught.getMessage()), caught); } }); } LoadingWidget.getInstance().show(MESSAGES.courseRequestsScheduling()); iSectioningService.section(iOnline, iCourseRequests.getRequest(), iLastResult, new AsyncCallback<ClassAssignmentInterface>() { public void onFailure(Throwable caught) { iStatus.error(MESSAGES.exceptionSectioningFailed(caught.getMessage()), caught); LoadingWidget.getInstance().hide(); updateHistory(); } public void onSuccess(ClassAssignmentInterface result) { fillIn(result); addHistory(); } }); } else { String error = iCourseRequests.getFirstError(); iStatus.error(error == null ? MESSAGES.validationFailed() : MESSAGES.validationFailedWithMessage(error)); LoadingWidget.getInstance().hide(); updateHistory(); } } public void onFailure(Throwable caught) { iStatus.error(MESSAGES.validationFailedWithMessage(caught.getMessage()), caught); LoadingWidget.getInstance().hide(); updateHistory(); } }); } }); iStartOver.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (isChanged()) { UniTimeConfirmationDialog.confirm(useDefaultConfirmDialog(), MESSAGES.queryLeaveChanges(), new Command() { @Override public void execute() { clearMessage(); clear(false); iStartOver.setVisible(false); iStartOver.setEnabled(false); addHistory(); lastRequest(iSessionSelector.getAcademicSessionId(), null, true, false); } }); } else { clearMessage(); clear(false); iStartOver.setVisible(false); iStartOver.setEnabled(false); addHistory(); lastRequest(iSessionSelector.getAcademicSessionId(), null, true, false); } } }); iAssignments.addRowClickHandler(new WebTable.RowClickHandler() { public void onRowClick(WebTable.RowClickEvent event) { if (iLastResult.get(event.getRowIdx()) == null) return; updateHistory(); showSuggestionsAsync(event.getRowIdx()); } }); iAssignmentGrid.addMeetingClickHandler(new TimeGrid.MeetingClickHandler() { public void onMeetingClick(TimeGrid.MeetingClickEvent event) { updateHistory(); showSuggestionsAsync(event.getRowIndex()); } }); iAssignmentGrid.addPinClickHandler(new TimeGrid.PinClickHandler() { public void onPinClick(TimeGrid.PinClickEvent event) { ((HasValue<Boolean>) iAssignments.getRows()[event.getRowIndex()].getCell(0).getWidget()) .setValue(event.isPinChecked(), false); iLastResult.get(event.getRowIndex()).setPinned(event.isPinChecked()); updateHistory(); } }); iEnroll.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Command enroll = new Command() { @Override public void execute() { clearMessage(); LoadingWidget.getInstance().show(MESSAGES.waitEnroll()); iSectioningService.enroll(iOnline, iCourseRequests.getRequest(), iLastResult, new AsyncCallback<ClassAssignmentInterface>() { public void onSuccess(ClassAssignmentInterface result) { LoadingWidget.getInstance().hide(); iSavedAssignment = result; iStartOver.setVisible(iSavedAssignment != null && !iSavedAssignment.getCourseAssignments().isEmpty()); iStartOver.setEnabled(iSavedAssignment != null && !iSavedAssignment.getCourseAssignments().isEmpty()); fillIn(result); if (result.hasRequest()) iCourseRequests.setRequest(result.getRequest()); if (!result.hasMessages()) iStatus.info(MESSAGES.enrollOK()); updateHistory(); if (iEligibilityCheck != null && iEligibilityCheck .hasFlag(EligibilityFlag.RECHECK_AFTER_ENROLLMENT)) { iSectioningService.checkEligibility(iOnline, iSessionSelector.getAcademicSessionId(), iEligibilityCheck.getStudentId(), (String) null, new AsyncCallback<OnlineSectioningInterface.EligibilityCheck>() { @Override public void onFailure(Throwable caught) { } @Override public void onSuccess( OnlineSectioningInterface.EligibilityCheck result) { setElibibilityCheckDuringEnrollment(result); } }); } } public void onFailure(Throwable caught) { LoadingWidget.getInstance().hide(); iStatus.error(MESSAGES.enrollFailed(caught.getMessage()), caught); updateHistory(); if (caught instanceof SectioningException) { SectioningException se = (SectioningException) caught; EligibilityCheck check = se.getEligibilityCheck(); if (check != null) { setElibibilityCheckDuringEnrollment(check); if (check.hasFlag(EligibilityFlag.PIN_REQUIRED)) { if (iPinDialog == null) iPinDialog = new PinDialog(); PinDialog.PinCallback callback = new PinDialog.PinCallback() { @Override public void onFailure(Throwable caught) { iStatus.error(MESSAGES.exceptionFailedEligibilityCheck( caught.getMessage()), caught); } @Override public void onSuccess( OnlineSectioningInterface.EligibilityCheck result) { setElibibilityCheckDuringEnrollment(result); if (result.hasFlag(EligibilityFlag.CAN_ENROLL) && !result.hasFlag( EligibilityFlag.RECHECK_BEFORE_ENROLLMENT)) iEnroll.click(); } @Override public void onMessage( OnlineSectioningInterface.EligibilityCheck result) { if (result.hasMessage()) { iStatus.error(result.getMessage()); } else if (result.hasFlag( OnlineSectioningInterface.EligibilityCheck.EligibilityFlag.PIN_REQUIRED)) { iStatus.warning(MESSAGES .exceptionAuthenticationPinRequired()); } else { clearMessage(false); } } }; iPinDialog.checkEligibility(iOnline, iSessionSelector.getAcademicSessionId(), null, callback); } } if (se.hasSectionMessages()) { for (CourseAssignment ca : iLastAssignment.getCourseAssignments()) { for (ClassAssignment c : ca.getClassAssignments()) { c.setError(se.getSectionMessage(c.getClassId())); } } fillIn(iLastAssignment); iStatus.error(caught.getMessage(), false); } } } }); } }; enroll = confirmEnrollment(enroll); enroll.execute(); } }); iPrint.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { boolean allSaved = true; for (ClassAssignmentInterface.ClassAssignment clazz : iLastResult) { if (clazz != null && !clazz.isFreeTime() && !clazz.isSaved()) allSaved = false; } Widget w = iAssignments.getPrintWidget(0, 5, 15); w.setWidth("100%"); ToolBox.print( (allSaved && !isChanged() ? MESSAGES.studentSchedule() : MESSAGES.studentScheduleNotEnrolled()), (CONSTANTS.printReportShowUserName() ? iUserAuthentication.getUser() : ""), iSessionSelector.getAcademicSessionName(), iAssignmentGrid.getPrintWidget(), w, iStatus); } }); if (iExport != null) iExport.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { ToolBox.open(iCalendar.getUrl()); } }); if (iTrackHistory) { History.addValueChangeHandler(new ValueChangeHandler<String>() { public void onValueChange(ValueChangeEvent<String> event) { if (!event.getValue().isEmpty()) { int item = iHistory.size() - 1; try { item = Integer.parseInt(event.getValue()); } catch (NumberFormatException e) { } if (item < 0) item = 0; if (item >= iHistory.size()) item = iHistory.size() - 1; if (item >= 0) iHistory.get(item).restore(); } else if (isChanged()) { UniTimeConfirmationDialog.confirm(useDefaultConfirmDialog(), MESSAGES.queryLeaveChanges(), new Command() { @Override public void execute() { iCourseRequests.clear(); if (!iSchedule.isVisible()) prev(); } }); } } }); } iSessionSelector .addAcademicSessionChangeHandler(new AcademicSessionSelector.AcademicSessionChangeHandler() { public void onAcademicSessionChange(AcademicSessionChangeEvent event) { addHistory(); } }); iSave.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { iCourseRequests.changeTip(); clearMessage(); iCourseRequests.validate(new AsyncCallback<Boolean>() { public void onSuccess(Boolean result) { updateHistory(); if (result) { LoadingWidget.getInstance().show(MESSAGES.courseRequestsSaving()); iSectioningService.saveRequest(iCourseRequests.getRequest(), new AsyncCallback<Boolean>() { public void onSuccess(Boolean result) { if (result) { iStatus.info(MESSAGES.saveRequestsOK()); } LoadingWidget.getInstance().hide(); } public void onFailure(Throwable caught) { iStatus.error(MESSAGES.saveRequestsFail(caught.getMessage()), caught); LoadingWidget.getInstance().hide(); } }); } else { String error = iCourseRequests.getFirstError(); iStatus.error(error == null ? MESSAGES.validationFailed() : MESSAGES.validationFailedWithMessage(error)); LoadingWidget.getInstance().hide(); updateHistory(); } } public void onFailure(Throwable caught) { iStatus.error(MESSAGES.validationFailedWithMessage(caught.getMessage()), caught); LoadingWidget.getInstance().hide(); updateHistory(); } }); } }); iShowUnassignments.addValueChangeHandler(new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { Cookies.setCookie("UniTime:Unassignments", "1"); fillIn(iLastAssignment); } }); }
From source file:org.unitime.timetable.gwt.client.widgets.CourseRequestBox.java
License:Apache License
@Override public CourseFinder getCourseFinder() { if (iCourseFinder == null) { iCourseFinder = iCourseFinderFactory.createCourseFinder(); iCourseFinder.addSelectionHandler(new SelectionHandler<RequestedCourse>() { @Override/* w ww . jav a2 s. com*/ public void onSelection(SelectionEvent<RequestedCourse> event) { select(event.getSelectedItem()); } }); if (iCourseFinder instanceof HasCloseHandlers) { ((HasCloseHandlers) iCourseFinder).addCloseHandler(new CloseHandler<PopupPanel>() { public void onClose(CloseEvent<PopupPanel> event) { Scheduler.get().scheduleDeferred(new ScheduledCommand() { public void execute() { iFilter.setFocus(true); } }); } }); } } return iCourseFinder; }