Example usage for com.google.gwt.event.logical.shared SelectionEvent getSelectedItem

List of usage examples for com.google.gwt.event.logical.shared SelectionEvent getSelectedItem

Introduction

In this page you can find the example usage for com.google.gwt.event.logical.shared SelectionEvent getSelectedItem.

Prototype

public T getSelectedItem() 

Source Link

Document

Gets the selected item.

Usage

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("&nbsp;");
    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;
}