Example usage for com.google.gwt.user.client.ui HorizontalPanel setCellHorizontalAlignment

List of usage examples for com.google.gwt.user.client.ui HorizontalPanel setCellHorizontalAlignment

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui HorizontalPanel setCellHorizontalAlignment.

Prototype

public void setCellHorizontalAlignment(IsWidget w, HorizontalAlignmentConstant align) 

Source Link

Document

Overloaded version for IsWidget.

Usage

From source file:org.sigmah.client.ui.view.reports.ReportsView.java

License:Open Source License

/**
 * {@inheritDoc}/*from w w  w  .  ja  v a 2  s  . c  o  m*/
 */
@Override
public FoldPanel loadReport(final ProjectReportDTO report, final ReportActionsHandler actionsHandler) {

    // --
    // Reset.
    // --

    mainPanel.removeAll();
    keyQuestionState.clear();

    if (report == null) {
        return null;
    }

    // --
    // Report loading.
    // --

    final ContentPanel reportPanel = new ContentPanel(new FitLayout());
    reportPanel.setScrollMode(Scroll.AUTOY);
    reportPanel.setHeadingHtml(report.getName());
    reportPanel.getHeader()
            .addTool(new ToolButton(STYLE_TOOL_CLOSE_ICON, new SelectionListener<IconButtonEvent>() {

                @Override
                public void componentSelected(final IconButtonEvent be) {
                    actionsHandler.onCloseReport();
                }
            }));

    // Report container
    final FlowPanel flowPanel = new FlowPanel();

    // Report
    final FoldPanel root = addSection(null, null, 0);

    // Toolbar
    final ToolBar toolBar = new ToolBar();

    if (report.isDraft()) {

        // Draft banner
        final HorizontalPanel header = new HorizontalPanel();
        header.addStyleName(STYLE_PROJECT_REPORT_DRAFT);

        // The "Personal Draft"
        final Label personalDraft = new Label(I18N.MESSAGES.personalDraft());
        personalDraft.addStyleName(STYLE_PROJECT_REPORT_PERSONALDRAFT);

        final DateTimeFormat dateFormat = DateTimeFormat.getFormat(PredefinedFormat.DATE_MEDIUM);
        final DateTimeFormat timeFormat = DateTimeFormat.getFormat(PredefinedFormat.TIME_MEDIUM);

        // The label showing the last changed time
        final Label draftLastChangedTime = new Label(I18N.MESSAGES.reportDraftLastChanged(
                dateFormat.format(report.getLastEditDate()), timeFormat.format(report.getLastEditDate())));

        // Add the two labels
        header.add(personalDraft);
        header.add(draftLastChangedTime);

        final HorizontalPanel buttons = new HorizontalPanel();
        buttons.setSpacing(5);
        buttons.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
        buttons.addStyleName(STYLE_PROJECT_REPORT_DRAFT_BUTTON);

        // --
        // Delete button.
        // --

        buttons.add(Forms.button(I18N.CONSTANTS.delete(), new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(final ButtonEvent ce) {
                actionsHandler.onDeleteReport();
            }
        }));

        // --
        // Send report button.
        // --

        buttons.add(Forms.button(I18N.CONSTANTS.sendReportDraft(), new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(final ButtonEvent ce) {
                actionsHandler.onShareReport();
            }
        }));

        header.add(buttons);
        header.setCellHorizontalAlignment(buttons, HasHorizontalAlignment.ALIGN_RIGHT);

        flowPanel.add(header);

        // --
        // Save button.
        // --

        toolBar.add(Forms.button(I18N.CONSTANTS.save(), IconImageBundle.ICONS.save(),
                new SelectionListener<ButtonEvent>() {

                    @Override
                    public void componentSelected(final ButtonEvent be) {

                        actionsHandler.onSaveReport();

                        final Date now = new Date();
                        header.clear();
                        draftLastChangedTime.setTitle(I18N.MESSAGES
                                .reportDraftLastChanged(dateFormat.format(now), timeFormat.format(now)));
                        personalDraft.setTitle(I18N.MESSAGES.personalDraft());
                        header.add(personalDraft);
                        header.add(draftLastChangedTime);
                        header.add(buttons);
                    }
                }));

        toolBar.add(new SeparatorToolItem());

    } else {

        // --
        // Edit report button.
        // --

        if (actionsHandler.isEditionEnabled()) {
            toolBar.add(Forms.button(I18N.CONSTANTS.edit(), IconImageBundle.ICONS.editPage(),
                    new SelectionListener<ButtonEvent>() {

                        @Override
                        public void componentSelected(final ButtonEvent ce) {
                            actionsHandler.onEditReport();
                        }
                    }));
        }

        // --
        // Word export button.
        // --

        toolBar.add(Forms.button(I18N.CONSTANTS.exportToWord(), IconImageBundle.ICONS.msword(),
                new SelectionListener<ButtonEvent>() {

                    @Override
                    public void componentSelected(final ButtonEvent ce) {
                        actionsHandler.onExportReport();
                    }
                }));

        toolBar.add(new SeparatorToolItem());
    }

    // Key question info
    final Label keyQuestionLabel = keyQuestionState.getLabel();
    toolBar.add(keyQuestionLabel);
    toolBar.add(new SeparatorToolItem());

    // Overview mode
    final Button foldButton = Forms.button(I18N.CONSTANTS.reportOverviewMode());
    foldButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent be) {
            root.expand(true);
            root.fold(true);
        }
    });
    // Expanded mode
    final Button expandButton = Forms.button(I18N.CONSTANTS.reportFullMode());
    expandButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent be) {
            root.expand(true);
        }
    });

    toolBar.add(foldButton);
    toolBar.add(expandButton);

    if (report.isDraft()) {
        toolBar.add(new SeparatorToolItem());
        createRichTextToolbar(toolBar);
    }

    flowPanel.add(root);
    reportPanel.add(flowPanel);
    reportPanel.setTopComponent(toolBar);

    // Display
    mainPanel.add(reportPanel, new BorderLayoutData(LayoutRegion.CENTER));
    mainPanel.layout();

    mainPanel.unmask();

    return root;
}

From source file:org.sonar.plugins.core.hotspots.client.widget.MetricHotspot.java

License:Open Source License

@Override
Widget createHeader() {// ww  w .  java  2s  .  c  o m
    final Label label = new Label(title);
    label.setStyleName("header");

    final Anchor moreLink = new Anchor(I18nConstants.INSTANCE.moreDetails());
    moreLink.getElement().setId("more-" + metric);
    moreLink.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            Window.Location.assign(
                    Links.baseUrl() + "/drilldown/measures/" + getResource().getKey() + "?metric=" + metric);
        }
    });

    final HorizontalPanel horizontal = new HorizontalPanel();
    horizontal.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE);
    horizontal.setWidth("98%");
    horizontal.add(label);
    horizontal.add(moreLink);
    horizontal.setCellHorizontalAlignment(label, HorizontalPanel.ALIGN_LEFT);
    horizontal.setCellHorizontalAlignment(moreLink, HorizontalPanel.ALIGN_RIGHT);

    return horizontal;
}

From source file:org.sonar.plugins.core.hotspots.client.widget.MostBadlyDesignedFiles.java

License:Open Source License

@Override
Widget createHeader() {// w w  w  .j  a  va 2 s  .  com
    metricSelectBox = new ListBox(false);
    metricSelectBox.addItem(I18nConstants.INSTANCE.lcom4(), "lcom4");
    metricSelectBox.addItem(I18nConstants.INSTANCE.rfc(), "rfc");
    metricSelectBox.setStyleName("small");
    metricSelectBox.addChangeHandler(new ChangeHandler() {
        public void onChange(ChangeEvent event) {
            loadData();
        }
    });

    final Label label = new Label(I18nConstants.INSTANCE.designTitle());
    label.setStyleName("header");

    final Anchor moreLink = new Anchor(I18nConstants.INSTANCE.moreDetails());
    moreLink.getElement().setId("more-design");
    moreLink.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            final String metric = getSelectedMetric();
            Window.Location.assign(
                    Links.baseUrl() + "/drilldown/measures/" + getResource().getId() + "?metric=" + metric);
        }
    });

    final HorizontalPanel horizontal = new HorizontalPanel();
    horizontal.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE);
    horizontal.setWidth("98%");
    horizontal.add(label);
    horizontal.add(metricSelectBox);
    horizontal.add(moreLink);
    horizontal.setCellHorizontalAlignment(label, HorizontalPanel.ALIGN_LEFT);
    horizontal.setCellHorizontalAlignment(metricSelectBox, HorizontalPanel.ALIGN_LEFT);
    horizontal.setCellHorizontalAlignment(moreLink, HorizontalPanel.ALIGN_RIGHT);

    return horizontal;
}

From source file:org.sonar.plugins.core.hotspots.client.widget.MostViolatedResources.java

License:Open Source License

@Override
Widget createHeader() {//from  w ww  .  jav a  2s .  co m
    final Label label = new Label(I18nConstants.INSTANCE.titleMostViolatedResources());
    label.setStyleName("header");

    final Anchor moreLink = new Anchor(I18nConstants.INSTANCE.moreDetails());
    moreLink.getElement().setId("more-violated-resources");
    moreLink.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            Window.Location.assign(Links.baseUrl() + "/drilldown/measures/" + getResource().getId() + "?metric="
                    + Metrics.WEIGHTED_VIOLATIONS);
        }
    });

    final HorizontalPanel horizontal = new HorizontalPanel();
    horizontal.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE);
    horizontal.setWidth("98%");
    horizontal.add(label);
    horizontal.add(moreLink);
    horizontal.setCellHorizontalAlignment(label, HorizontalPanel.ALIGN_LEFT);
    horizontal.setCellHorizontalAlignment(moreLink, HorizontalPanel.ALIGN_RIGHT);

    return horizontal;
}

From source file:org.sonar.plugins.core.hotspots.client.widget.MostViolatedRules.java

License:Open Source License

@Override
Widget createHeader() {/*w ww  .  j  a  va 2s.  co m*/
    severity = new ListBox(false);
    severity.addItem(I18nConstants.INSTANCE.anySeverity(), "");
    severity.addItem("Blocker", "BLOCKER");
    severity.addItem("Critical", "CRITICAL");
    severity.addItem("Major", "MAJOR");
    severity.addItem("Minor", "MINOR");
    severity.addItem("Info", "INFO");
    severity.setStyleName("small");
    severity.addChangeHandler(new ChangeHandler() {
        public void onChange(ChangeEvent event) {
            loadData();
        }
    });

    final Label label = new Label(I18nConstants.INSTANCE.titleMostViolatedRules());
    label.setStyleName("header");

    final Anchor moreLink = new Anchor(I18nConstants.INSTANCE.moreDetails());
    moreLink.getElement().setId("more-rules");
    moreLink.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            Window.Location.assign(Links.baseUrl() + "/drilldown/violations/" + getResource().getId());
        }
    });

    final HorizontalPanel horizontal = new HorizontalPanel();
    horizontal.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE);
    horizontal.setWidth("98%");
    horizontal.add(label);
    horizontal.add(severity);
    horizontal.add(moreLink);
    horizontal.setCellHorizontalAlignment(label, HorizontalPanel.ALIGN_LEFT);
    horizontal.setCellHorizontalAlignment(severity, HorizontalPanel.ALIGN_LEFT);
    horizontal.setCellHorizontalAlignment(moreLink, HorizontalPanel.ALIGN_RIGHT);

    return horizontal;
}

From source file:org.unitime.timetable.gwt.client.events.EventRoomAvailability.java

License:Apache License

private void populate(List<EventInterface> result, Integer sortBy) {
    for (int i = 0; i < iTables.getWidgetCount(); i++) {
        Widget w = iTables.getWidget(i);
        if (w instanceof TimeGrid)
            ((TimeGrid) w).destroy();/* w w w . java  2s  .  com*/
    }
    iData = result;
    if (sortBy != null && sortBy >= 0 && sortBy < SortRoomsBy.values().length) {
        Comparator<ResourceInterface> comparator = getSortRoomsComparator(SortRoomsBy.values()[sortBy],
                iRooms.getChip("size") != null);
        if (comparator != null)
            Collections.sort(iSelectedRooms, comparator);
    } else {
        if (sortBy != null && sortBy >= SortRoomsBy.values().length
                && sortBy < 2 * SortRoomsBy.values().length) {
            Comparator<ResourceInterface> comparator = getSortRoomsComparator(
                    SortRoomsBy.values()[sortBy - SortRoomsBy.values().length], iRooms.getChip("size") != null);
            if (comparator != null)
                Collections.sort(iSelectedRooms, inverse(comparator));
        }
    }
    iTables.clear();
    HashMap<Long, String> colors = new HashMap<Long, String>();
    if (iSelectedDates.size() == 1) {
        Date date = iDates.getDate(iSelectedDates.get(0));
        int year = Integer.parseInt(DateTimeFormat.getFormat("yyyy").format(date));
        int month = Integer.parseInt(DateTimeFormat.getFormat("MM").format(date));
        int dow = (SingleDateSelector.firstDayOfWeek(year, month)
                + Integer.parseInt(DateTimeFormat.getFormat("dd").format(date)) - 1) % 7;
        int days[] = new int[] { dow };
        WeekInterface week = new WeekInterface();
        week.setDayOfYear(iSelectedDates.get(0) - dow);
        for (int i = 0; i < 7; i++) {
            week.addDayName(new DateInterface(sDateFormat.format(iDates.getDate(week.getDayOfYear() + i)),
                    month, week.getDayOfYear() + i));
        }
        List<WeekInterface> weeks = new ArrayList<WeekInterface>();
        weeks.add(week);
        boolean past = !iDates.isEnabled(date) || iDates.hasFlag(date, Flag.PAST);
        for (int i = 0; i < iSelectedDates.size(); i++) {
            int startHour = 7;
            if (iSelectedTimes.getStart() != null) {
                startHour = Math.max(0, (iSelectedTimes.getStart() - 6) / 12);
            }
            int endHour = 18;
            if (iSelectedTimes.getEnd() != null) {
                endHour = Math.min(24, (17 + iSelectedTimes.getEnd()) / 12);
            }

            TimeGrid grid = new TimeGrid(colors, days, (int) (0.9 * ToolBox.getClientWidth() / days.length),
                    false, false, startHour, endHour, this);
            grid.setResourceType(ResourceType.ROOM);
            grid.setSelectedWeeks(weeks);
            List<ResourceInterface> rooms = new ArrayList<EventInterface.ResourceInterface>(iSelectedRooms);
            grid.setRoomResources(rooms);
            grid.setMode(TimeGrid.Mode.OVERLAP);
            for (EventInterface event : sortedEvents()) {
                List<MeetingInterface> meetings = new ArrayList<MeetingInterface>();
                for (MeetingInterface meeting : event.getMeetings()) {
                    if (meeting.getApprovalStatus() != ApprovalStatus.Pending
                            && meeting.getApprovalStatus() != ApprovalStatus.Approved)
                        continue;
                    if (iSelectedDates.get(i) == meeting.getDayOfYear() && meeting.hasLocation())
                        meetings.add(meeting);
                }
                if (!meetings.isEmpty())
                    grid.addEvent(event, meetings);
            }
            grid.labelDays(week, null);
            grid.yellow(iSelectedTimes.getStart() == null ? 90 : iSelectedTimes.getStart(),
                    iSelectedTimes.getEnd() == null ? 210 : iSelectedTimes.getEnd());
            if (past)
                grid.gray(0, 1);
            grid.showVerticalSplit();
            grid.addMeetingClickHandler(iMeetingClickHandler);
            iTables.add(grid);
        }
    } else {
        int[] days = new int[iSelectedDates.size()];
        WeekInterface week = new WeekInterface();
        week.setDayOfYear(iSelectedDates.get(0));
        List<String> dows = new ArrayList<String>();
        int lastPast = -1;
        for (int i = 0; i < iSelectedDates.size(); i++) {
            Date date = iDates.getDate(iSelectedDates.get(i));
            int year = Integer.parseInt(DateTimeFormat.getFormat("yyyy").format(date));
            int month = Integer.parseInt(DateTimeFormat.getFormat("MM").format(date));
            int dow = (SingleDateSelector.firstDayOfWeek(year, month)
                    + Integer.parseInt(DateTimeFormat.getFormat("dd").format(date)) - 1) % 7;
            days[i] = i;
            week.addDayName(new DateInterface(sDateFormat.format(date), month, iSelectedDates.get(i)));
            dows.add(CONSTANTS.days()[dow]);
            if (!iDates.isEnabled(date) || iDates.hasFlag(date, Flag.PAST))
                lastPast = i;
        }
        List<WeekInterface> weeks = new ArrayList<WeekInterface>();
        weeks.add(week);
        for (ResourceInterface room : iSelectedRooms) {
            HorizontalPanel hp = new HorizontalPanel();
            hp.setStyleName("unitime-RoomAvailabilityHeader");
            HTML name = new HTML(room.getNameWithSizeAndHint(), false);
            name.setStyleName("name");
            hp.add(name);
            HTML type = new HTML(room.getRoomType(), false);
            type.setStyleName("type");
            hp.add(type);
            HTML size = new HTML(""); //room.getSize() == null ? "" : MESSAGES.hintRoomCapacity(room.getSize().toString()), false)
            size.setStyleName("size");
            hp.add(size);
            hp.setCellHorizontalAlignment(name, HasHorizontalAlignment.ALIGN_LEFT);
            hp.setCellHorizontalAlignment(type, HasHorizontalAlignment.ALIGN_CENTER);
            hp.setCellHorizontalAlignment(size, HasHorizontalAlignment.ALIGN_RIGHT);
            hp.setCellVerticalAlignment(name, HasVerticalAlignment.ALIGN_BOTTOM);
            hp.setCellVerticalAlignment(type, HasVerticalAlignment.ALIGN_BOTTOM);
            hp.setCellVerticalAlignment(size, HasVerticalAlignment.ALIGN_BOTTOM);
            hp.setCellWidth(name, "33%");
            hp.setCellWidth(type, "34%");
            hp.setCellWidth(size, "33%");
            if (iTables.getWidgetCount() > 0)
                hp.addStyleName("unitime-TopLineDash");
            iTables.add(hp);

            int startHour = 7;
            if (iSelectedTimes.getStart() != null) {
                startHour = Math.max(0, (iSelectedTimes.getStart() - 6) / 12);
            }
            int endHour = 18;
            if (iSelectedTimes.getEnd() != null) {
                endHour = Math.min(24, (17 + iSelectedTimes.getEnd()) / 12);
            }

            TimeGrid grid = new TimeGrid(colors, days, (int) (0.9 * ToolBox.getClientWidth() / days.length),
                    false, false, startHour, endHour, this);
            grid.setResourceType(ResourceType.ROOM);
            grid.setSelectedWeeks(weeks);
            List<ResourceInterface> rooms = new ArrayList<EventInterface.ResourceInterface>();
            rooms.add(room);
            grid.setRoomResources(rooms);
            grid.setMode(TimeGrid.Mode.OVERLAP);
            for (EventInterface event : sortedEvents()) {
                List<MeetingInterface> meetings = new ArrayList<MeetingInterface>();
                for (MeetingInterface meeting : event.getMeetings()) {
                    if (meeting.getApprovalStatus() != ApprovalStatus.Pending
                            && meeting.getApprovalStatus() != ApprovalStatus.Approved)
                        continue;
                    if (meeting.getMeetingDate() != null && meeting.hasLocation()
                            && meeting.getLocation().getId().equals(room.getId())) {
                        int idx = iSelectedDates.indexOf(meeting.getDayOfYear());
                        if (idx >= 0) {
                            meeting.setGridIndex(idx);
                            meetings.add(meeting);
                        }
                    }
                }
                if (!meetings.isEmpty())
                    grid.addEvent(event, meetings);
            }
            grid.labelDays(dows, week);
            grid.yellow(iSelectedTimes.getStart() == null ? 90 : iSelectedTimes.getStart(),
                    iSelectedTimes.getEnd() == null ? 210 : iSelectedTimes.getEnd());
            if (lastPast >= 0)
                grid.gray(0, lastPast);
            grid.addMeetingClickHandler(iMeetingClickHandler);
            iTables.add(grid);
        }
    }
    showResults();
    changeUrl();
}

From source file:org.unitime.timetable.gwt.client.Lookup.java

License:Apache License

public Lookup() {
    super(true, true);
    setText(MESSAGES.dialogPeopleLookup());
    setEscapeToHide(true);//from ww  w.j  a v  a 2  s .  com
    iPanel = new VerticalPanel();
    iPanel.setSpacing(2);
    iQuery = new AriaTextBox();
    iQuery.setWidth("400px");
    iQuery.setAriaLabel(ARIA.peopleLookupName());
    HorizontalPanel queryPanel = new HorizontalPanel();
    Label filterText = new Label(MESSAGES.propName(), false);
    filterText.getElement().getStyle().setMarginRight(5, Unit.PX);
    queryPanel.setWidth("75px");
    queryPanel.add(filterText);
    queryPanel.setCellHorizontalAlignment(filterText, HasHorizontalAlignment.ALIGN_RIGHT);
    queryPanel.setCellVerticalAlignment(filterText, HasVerticalAlignment.ALIGN_MIDDLE);
    queryPanel.add(iQuery);
    HTML blank = new HTML("&nbsp;");
    blank.setWidth("75px");
    queryPanel.add(blank);
    iPanel.add(queryPanel);
    iPanel.setCellHorizontalAlignment(queryPanel, HasHorizontalAlignment.ALIGN_CENTER);
    iTable = new UniTimeTable<PersonInterface>();
    iScroll = new ScrollPanel(iTable);
    iScroll.setSize("800px", "500px");
    iScroll.setStyleName("unitime-ScrollPanel");
    iPanel.add(iScroll);
    setWidget(iPanel);

    List<UniTimeTableHeader> header = new ArrayList<UniTimeTableHeader>();
    header.add(new UniTimeTableHeader(MESSAGES.colNamePerson()));
    header.add(new UniTimeTableHeader(MESSAGES.colEmail()));
    header.add(new UniTimeTableHeader(MESSAGES.colPhone()));
    header.add(new UniTimeTableHeader(MESSAGES.colDepartment()));
    header.add(new UniTimeTableHeader(MESSAGES.colSource()));
    iTable.addRow(null, header);
    iTable.setAllowSelection(true);
    iTable.setWidth("100%");
    iTimer = new Timer() {
        @Override
        public void run() {
            update();
        }
    };
    iTable.addMouseClickListener(new MouseClickListener<PersonInterface>() {
        @Override
        public void onMouseClick(TableEvent<PersonInterface> event) {
            if (event.getData() != null) {
                iTimer.cancel();
                Lookup.this.hide();
                setValue(event.getData(), true);
            }
        }
    });
    iQuery.addKeyUpHandler(new KeyUpHandler() {
        public void onKeyUp(KeyUpEvent event) {
            iTimer.schedule(500);
        }
    });

    sinkEvents(Event.ONKEYDOWN);
}

From source file:org.unitime.timetable.gwt.client.page.UniTimeSideBar.java

License:Apache License

public UniTimeSideBar(boolean useStackPanel, boolean dynamic) {
    iUseStackPanel = useStackPanel;//w w  w . j  a  v  a  2s. c o m

    iPanel = new SimplePanel();
    iPanel.addStyleName("unitime-NoPrint");

    final HorizontalPanel header = new HorizontalPanel();
    final Label menuLabel = new Label("Navigation", false);
    menuLabel.setVisible(false);
    menuLabel.setStyleName("unitime-MenuHeaderLabel");
    header.add(menuLabel);
    final Image menuImage = new Image(RESOURCES.menu_closed());
    header.add(menuImage);
    header.setCellHorizontalAlignment(menuImage, HasHorizontalAlignment.ALIGN_RIGHT);
    header.setCellVerticalAlignment(menuImage, HasVerticalAlignment.ALIGN_MIDDLE);
    header.setStyleName("unitime-MenuHeaderClose");

    iDisclosurePanel = new DisclosurePanel();
    iDisclosurePanel.setHeader(header);

    menuImage.addMouseOverHandler(new MouseOverHandler() {
        @Override
        public void onMouseOver(MouseOverEvent event) {
            menuImage.setResource(
                    iDisclosurePanel.isOpen() ? RESOURCES.menu_opened_hover() : RESOURCES.menu_closed_hover());
        }
    });

    menuImage.addMouseOutHandler(new MouseOutHandler() {

        @Override
        public void onMouseOut(MouseOutEvent event) {
            menuImage
                    .setResource(iDisclosurePanel.isOpen() ? RESOURCES.menu_opened() : RESOURCES.menu_closed());
        }
    });

    iDisclosurePanel.addOpenHandler(new OpenHandler<DisclosurePanel>() {
        @Override
        public void onOpen(OpenEvent<DisclosurePanel> event) {
            menuImage
                    .setResource(iDisclosurePanel.isOpen() ? RESOURCES.menu_opened() : RESOURCES.menu_closed());
            menuLabel.setVisible(iDisclosurePanel.isOpen());
            header.setStyleName("unitime-MenuHeader" + (iDisclosurePanel.isOpen() ? "Open" : "Close"));
            saveState();
        }
    });

    iDisclosurePanel.addCloseHandler(new CloseHandler<DisclosurePanel>() {
        @Override
        public void onClose(CloseEvent<DisclosurePanel> event) {
            menuImage
                    .setResource(iDisclosurePanel.isOpen() ? RESOURCES.menu_opened() : RESOURCES.menu_closed());
            menuLabel.setVisible(iDisclosurePanel.isOpen());
            header.setStyleName("unitime-MenuHeader" + (iDisclosurePanel.isOpen() ? "Open" : "Close"));
            saveState();
        }
    });

    iStackPanel = new MyStackPanel();
    iTree = new Tree(RESOURCES, true);
    iTree.addOpenHandler(new OpenHandler<TreeItem>() {
        @Override
        public void onOpen(OpenEvent<TreeItem> event) {
            saveState();
        }
    });
    iTree.addCloseHandler(new CloseHandler<TreeItem>() {
        @Override
        public void onClose(CloseEvent<TreeItem> event) {
            saveState();
        }
    });

    SimplePanel simple = new SimplePanel();
    if (useStackPanel)
        simple.setWidget(iStackPanel);
    else
        simple.setWidget(iTree);

    iDisclosurePanel.add(simple);

    iPanel.setWidget(iDisclosurePanel);
    iPanel.getElement().getStyle().setWidth(100, Unit.PCT);
    iDisclosurePanel.getElement().getStyle().setPosition(Position.RELATIVE);

    initWidget(iPanel);

    if (dynamic) {
        iScrollTimer = new Timer() {
            @Override
            public void run() {
                iDisclosurePanel.getElement().getStyle().setTop(iTop, Unit.PX);
            }
        };

        Window.addWindowScrollHandler(new Window.ScrollHandler() {
            @Override
            public void onWindowScroll(Window.ScrollEvent event) {
                int fromTop = Math.max(Window.getScrollTop() - iPanel.getAbsoluteTop(), 0); // 20 pixels for the top menu
                int fromBottom = Window.getClientHeight() + Window.getScrollTop()
                        - iDisclosurePanel.getOffsetHeight() - 60;
                iDisclosurePanel.getAbsoluteTop();
                if (fromTop <= fromBottom) {
                    iTop = fromTop;
                } else {
                    if (fromBottom <= iTop && iTop <= fromTop) {
                    } else if (iTop > fromTop) {
                        iTop = fromTop;
                    } else {
                        iTop = fromBottom;
                    }
                }
                iScrollTimer.schedule(100);
            }
        });

        Client.addGwtPageChangedHandler(new GwtPageChangedHandler() {
            @Override
            public void onChange(GwtPageChangeEvent event) {
                int fromTop = Math.max(Window.getScrollTop() - iPanel.getAbsoluteTop(), 0); // 20 pixels for the top menu
                int fromBottom = Window.getClientHeight() + Window.getScrollTop()
                        - iDisclosurePanel.getOffsetHeight() - 60;
                iDisclosurePanel.getAbsoluteTop();
                if (fromTop <= fromBottom) {
                    iTop = fromTop;
                } else {
                    if (fromBottom <= iTop && iTop <= fromTop) {
                    } else if (iTop > fromTop) {
                        iTop = fromTop;
                    } else {
                        iTop = fromBottom;
                    }
                }
                iScrollTimer.schedule(100);
            }
        });
    }
}

From source file:org.unitime.timetable.gwt.client.rooms.RoomSharingWidget.java

License:Apache License

public RoomSharingWidget(boolean editable, boolean includeNote) {
    iEditable = editable;//from w  w  w .java2s.c  om
    VerticalPanel container = new VerticalPanel();

    HorizontalPanel hp = new HorizontalPanel();

    iModeSelection = new ListBox();
    iModeSelection.setStyleName("unitime-TextBox");
    hp.add(iModeSelection);
    hp.setCellHorizontalAlignment(iModeSelection, HasHorizontalAlignment.ALIGN_LEFT);

    iHorizontal = new CheckBox(MESSAGES.roomSharingHorizontal());
    hp.add(iHorizontal);
    hp.setCellHorizontalAlignment(iHorizontal, HasHorizontalAlignment.ALIGN_RIGHT);
    hp.setCellVerticalAlignment(iHorizontal, HasVerticalAlignment.ALIGN_MIDDLE);
    hp.setWidth("100%");

    container.add(hp);

    iModeSelection.addChangeHandler(new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent event) {
            setMode(iModel.getModes().get(iModeSelection.getSelectedIndex()), iHorizontal.getValue());
        }
    });

    iHorizontal.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
        @Override
        public void onValueChange(ValueChangeEvent<Boolean> event) {
            setMode(iModel.getModes().get(iModeSelection.getSelectedIndex()), iHorizontal.getValue());
        }
    });

    iPanel = new AbsolutePanel();
    iPanel.setStyleName("unitime-RoomSharingWidget");
    container.add(iPanel);

    if (iEditable && includeNote) {
        iNote = new TextArea();
        iNote.setStyleName("unitime-TextArea");
        iNote.setVisibleLines(10);
        iNote.setCharacterWidth(50);
        iNote.addValueChangeHandler(new ValueChangeHandler<String>() {
            @Override
            public void onValueChange(ValueChangeEvent<String> event) {
                if (iModel != null)
                    iModel.setNote(event.getValue());
            }
        });
    }

    initWidget(container);
}

From source file:org.unitime.timetable.gwt.client.sectioning.UserAuthentication.java

License:Apache License

public UserAuthentication(InfoPanel panel, boolean allowGuest) {
    iAllowGuest = allowGuest;//from   w  w w. java 2s.co  m
    iPanel = panel;
    iPanel.setPreventDefault(true);
    iPanel.setVisible(true);
    iPanel.setText(MESSAGES.userNotAuthenticated());
    iPanel.setHint(MESSAGES.userHint());
    iPanel.setAriaLabel(ARIA.userNotAuthenticated());
    iPanel.setInfo(null);

    iDialog = new AriaDialogBox();
    iDialog.setText(MESSAGES.dialogAuthenticate());
    iDialog.setAnimationEnabled(true);
    iDialog.setAutoHideEnabled(false);
    iDialog.setGlassEnabled(true);
    iDialog.setModal(true);
    iDialog.addCloseHandler(new CloseHandler<PopupPanel>() {
        @Override
        public void onClose(CloseEvent<PopupPanel> event) {
            iUserName.setText("");
            iUserPassword.setText("");
            if (iPin != null)
                iPin.setText("");
        }
    });

    FlexTable grid = new FlexTable();
    grid.setCellPadding(5);
    grid.setCellSpacing(0);
    int row = 0;
    grid.setText(row, 0, MESSAGES.username());
    iUserName = new AriaTextBox();
    iUserName.setStyleName("gwt-SuggestBox");
    iUserName.setAriaLabel(ARIA.propUserName());
    grid.setWidget(row, 1, iUserName);
    row++;

    grid.setText(row, 0, MESSAGES.password());
    iUserPassword = new AriaPasswordTextBox();
    iUserPassword.setStyleName("gwt-SuggestBox");
    iUserPassword.setAriaLabel(ARIA.propPassword());
    grid.setWidget(row, 1, iUserPassword);
    row++;

    if (CONSTANTS.hasAuthenticationPin()) {
        grid.setText(row, 0, MESSAGES.pin());
        iPin = new AriaTextBox();
        iPin.setStyleName("gwt-SuggestBox");
        iPin.setAriaLabel(ARIA.propPinNumber());
        grid.setWidget(row, 1, iPin);
        row++;
    }

    iError = new Label();
    iError.setStyleName("unitime-ErrorMessage");
    iError.setVisible(false);
    grid.getFlexCellFormatter().setColSpan(row, 0, 2);
    grid.setWidget(row, 0, iError);
    row++;

    HorizontalPanel buttonPanelWithPad = new HorizontalPanel();
    buttonPanelWithPad.setWidth("100%");
    HorizontalPanel buttonPanel = new HorizontalPanel();
    buttonPanel.setSpacing(5);
    buttonPanelWithPad.add(buttonPanel);
    buttonPanelWithPad.setCellHorizontalAlignment(buttonPanel, HasHorizontalAlignment.ALIGN_RIGHT);

    grid.getFlexCellFormatter().setColSpan(row, 0, 2);
    grid.setWidget(row, 0, buttonPanelWithPad);
    row++;

    iLogIn = new AriaButton(MESSAGES.buttonUserLogin());
    buttonPanel.add(iLogIn);

    iSkip = new AriaButton(MESSAGES.buttonUserSkip());
    buttonPanel.add(iSkip);
    iSkip.setVisible(iAllowGuest);
    iSkip.setAriaLabel(ARIA.buttonLogInAsGuest());

    iLookupDialog = new Lookup();
    iLookupDialog.setOptions("mustHaveExternalId,source=students");
    iLookupDialog.addValueChangeHandler(new ValueChangeHandler<PersonInterface>() {
        @Override
        public void onValueChange(ValueChangeEvent<PersonInterface> event) {
            if (event.getValue() != null)
                sSectioningService.logIn("LOOKUP", event.getValue().getId(), null, sAuthenticateCallback);
        }
    });
    iLookup = new AriaButton(MESSAGES.buttonUserLookup());
    buttonPanel.add(iLookup);
    iLookup.setVisible(false);

    iSkip.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            logIn(true);
        }
    });

    iLogIn.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            logIn(false);
        }
    });

    iLookup.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            doLookup();
        }
    });

    iUserName.addKeyUpHandler(new KeyUpHandler() {
        public void onKeyUp(KeyUpEvent event) {
            if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                Scheduler.get().scheduleDeferred(new ScheduledCommand() {
                    @Override
                    public void execute() {
                        iUserPassword.selectAll();
                        iUserPassword.setFocus(true);
                    }
                });
            }
            if (event.getNativeKeyCode() == KeyCodes.KEY_ESCAPE && iAllowGuest) {
                logIn(true);
            }
        }
    });

    iUserPassword.addKeyUpHandler(new KeyUpHandler() {
        public void onKeyUp(KeyUpEvent event) {
            if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                logIn(false);
            }
            if (event.getNativeKeyCode() == KeyCodes.KEY_ESCAPE && iAllowGuest) {
                logIn(true);
            }
        }
    });

    iDialog.add(grid);

    ClickHandler ch = new ClickHandler() {
        public void onClick(ClickEvent event) {
            if (iLoggedIn)
                logOut();
            else
                authenticate();
        }
    };

    iPanel.setClickHandler(ch);

    sAuthenticateCallback = new AsyncCallback<String>() {
        public void onFailure(Throwable caught) {
            AriaStatus.getInstance().setText(caught.getMessage());
            iError.setText(caught.getMessage());
            iError.setVisible(true);
            iUserName.setEnabled(true);
            iUserPassword.setEnabled(true);
            if (iPin != null)
                iPin.setEnabled(true);
            iLogIn.setEnabled(true);
            iSkip.setEnabled(true);
            Scheduler.get().scheduleDeferred(new ScheduledCommand() {
                @Override
                public void execute() {
                    iUserName.selectAll();
                    iUserName.setFocus(true);
                }
            });
        }

        public void onSuccess(String result) {
            iUserName.setEnabled(true);
            iUserPassword.setEnabled(true);
            if (iPin != null)
                iPin.setEnabled(true);
            iLogIn.setEnabled(true);
            iSkip.setEnabled(true);
            iError.setVisible(false);
            iDialog.hide();
            authenticated(result);
            UserAuthenticatedEvent e = new UserAuthenticatedEvent(iGuest);
            for (UserAuthenticatedHandler h : iUserAuthenticatedHandlers)
                h.onLogIn(e);
            if (iOnLoginCommand != null)
                iOnLoginCommand.execute();
            Client.reloadMenu();
        }
    };
}