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

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

Introduction

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

Prototype

public void setVerticalAlignment(VerticalAlignmentConstant align) 

Source Link

Document

Sets the default vertical alignment to be used for widgets added to this panel.

Usage

From source file:org.sarman.reports.client.Reports.java

License:Open Source License

public void onModuleLoad() {

    boolean isLogin = true;

    service = GWT.create(LoginService.class);
    System.out.println(GWT.getHostPageBaseURL());
    //      ((ServiceDefTarget) service).setServiceEntryPoint(GWT.getHostPageBaseURL() + "sarm_login/LoginService");

    System.out.println(((ServiceDefTarget) service).getServiceEntryPoint());

    HorizontalPanel horizontalPanel = new HorizontalPanel();
    horizontalPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    horizontalPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    horizontalPanel.setSize("100%", "100%");

    callback = new AsyncCallback<Void>() {

        @Override/*from   w w  w  . j a v  a 2  s  .c o m*/
        public void onFailure(Throwable caught) {
            view.setMessage(caught.getMessage());
        }

        @Override
        public void onSuccess(Void result) {
            view.setMessage("Success!");
        }
    };

    view = new LoginView(service, callback);

    horizontalPanel.add(view);
    RootPanel.get().add(horizontalPanel, 0, 0);

    if (!isLogin) {
        // Create ClientFactory using deferred binding so we can replace with 
        // different impls in gwt.xml
        ClientFactory clientFactory = GWT.create(ClientFactory.class);
        EventBus eventBus = clientFactory.getEventBus();
        PlaceController placeController = clientFactory.getController();
        // Start ActivityManager for the main widget with our ActivityMapper
        ActivityMapper activityMapper = new ClientActivityMapper(clientFactory);
        ActivityManager activityManager = new ActivityManager(activityMapper, eventBus);
        activityManager.setDisplay(appWidget);
        // Start PlaceHistoryHandler with our PlaceHistoryMapper
        ClientPlaceHistoryMapper historyMapper = GWT.create(ClientPlaceHistoryMapper.class);
        PlaceHistoryHandler historyHandler = new PlaceHistoryHandler(historyMapper);
        historyHandler.register(placeController, eventBus, defaultPlace);
        RootPanel.get().add(appWidget);
        // Goes to place represented on URL or default place
        historyHandler.handleCurrentHistory();
    }
}

From source file:org.sigmah.client.page.orgunit.reports.OrgUnitReportsView.java

License:Open Source License

public void setReport(final ProjectReportDTO report) {
    mainPanel.removeAll();/*from w w  w . ja  va 2s  . c o m*/
    // currentReport = report;

    if (autoSaveTimer != null) {
        autoSaveTimer.cancel();
        autoSaveTimer = null;
    }

    if (report == null)
        return;

    // Preparing the view for the new report
    textAreas.clear();
    oldContents.clear();
    keyQuestionState.clear();

    // Title bar
    final ContentPanel reportPanel = new ContentPanel(new FitLayout());
    reportPanel.setScrollMode(Scroll.AUTOY);
    reportPanel.setHeading(report.getName());

    final ToolButton closeButton = new ToolButton("x-tool-close");
    closeButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            final OrgUnitState state = new OrgUnitState(currentState.getOrgUnitId());
            state.setCurrentSection(currentState.getCurrentSection());
            state.setArgument("-1");

            eventBus.fireEvent(new NavigationEvent(NavigationHandler.NavigationRequested, state, null));
        }
    });
    reportPanel.getHeader().addTool(closeButton);

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

    // Report
    final FoldPanel root = new FoldPanel();
    root.addStyleName("project-report");

    final List<ProjectReportSectionDTO> sections = report.getSections();

    final StringBuilder prefix = new StringBuilder();

    for (int index = 0; index < sections.size(); index++) {
        final ProjectReportSectionDTO section = sections.get(index);

        prefix.append(index + 1).append('.');
        displaySection(section, root, prefix, 1, report.isDraft());

        prefix.setLength(0);
    }

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

    final IconImageBundle icons = GWT.create(IconImageBundle.class);

    if (report.isDraft()) {
        // Draft banner
        final HorizontalPanel header = new HorizontalPanel();
        header.addStyleName("project-report-draft");

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

        final DateTimeFormat dateFormat = DateTimeFormat.getMediumDateFormat();
        final DateTimeFormat timeFormat = DateTimeFormat.getMediumTimeFormat();

        // 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 Button cancelButton = new Button(I18N.CONSTANTS.delete());
        final Button sendButton = new Button(I18N.CONSTANTS.sendReportDraft());

        cancelButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final RemoveProjectReportDraft removeDraft = new RemoveProjectReportDraft(
                        report.getVersionId());
                final GetProjectReport getReport = new GetProjectReport(report.getId());

                final AsyncCallback<VoidResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(removeDraft, null, callback);
                dispatcher.execute(getReport, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportEditError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportEditCancelSuccess());
                        setReport(result);
                    }

                });
            }
        });

        sendButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final HashMap<String, Object> changes = new HashMap<String, Object>();
                changes.put("currentPhase", phaseName);

                for (final Map.Entry<Integer, RichTextArea> entry : textAreas.entrySet())
                    changes.put(entry.getKey().toString(), entry.getValue().getHTML());

                final UpdateEntity updateEntity = new UpdateEntity("ProjectReport", report.getVersionId(),
                        changes);
                final PromoteProjectReportDraft promoteDraft = new PromoteProjectReportDraft(report.getId(),
                        report.getVersionId());

                final AsyncCallback<VoidResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(updateEntity, null, callback);
                dispatcher.execute(promoteDraft, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportSaveError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportSaveSuccess());
                        setReport(result);
                    }

                });
            }
        });

        final HorizontalPanel buttons = new HorizontalPanel();
        buttons.setSpacing(5);
        buttons.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
        buttons.addStyleName("project-report-draft-button");
        buttons.add(cancelButton);
        buttons.add(sendButton);

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

        flowPanel.add(header);

        // Save action
        final Listener<BaseEvent> saveListener = new Listener<BaseEvent>() {

            @Override
            public void handleEvent(BaseEvent be) {
                final HashMap<String, String> changes = new HashMap<String, String>();

                changes.put("currentPhase", phaseName);

                for (final Map.Entry<Integer, RichTextArea> entry : textAreas.entrySet())
                    changes.put(entry.getKey().toString(), entry.getValue().getHTML());

                final UpdateEntity updateEntity = new UpdateEntity("ProjectReport", report.getVersionId(),
                        (Map<String, Object>) (Map<String, ?>) changes);
                dispatcher.execute(updateEntity, null, new AsyncCallback<VoidResult>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportSaveError(),
                                null);
                    }

                    @Override
                    public void onSuccess(VoidResult result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportSaveSuccess());

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

                        boolean found = false;
                        for (int index = 0; !found && index < store.getCount(); index++) {
                            final ReportReference reference = store.getAt(index);

                            if (reference.getId().equals(report.getId())) {
                                store.remove(reference);

                                reference.setEditorName(authentication.getUserShortName());
                                reference.setPhaseName(phaseName);
                                reference.setLastEditDate(new Date());

                                store.add(reference);

                                found = true;
                            }
                        }

                        updateChanges();

                        autoSaveTimer.cancel();
                        autoSaveTimer.schedule(AUTO_SAVE_PERIOD);
                    }
                });
            }
        };

        // Save button
        final Button saveButton = new Button(I18N.CONSTANTS.save(), icons.save());
        saveButton.addListener(Events.Select, saveListener);

        toolBar.add(saveButton);
        toolBar.add(new SeparatorToolItem());

        // Auto save timer
        autoSaveTimer = new Timer() {

            @Override
            public void run() {
                saveListener.handleEvent(null);
            }
        };
        autoSaveTimer.schedule(AUTO_SAVE_PERIOD);

    } else {
        final Button editReportButton = new Button(I18N.CONSTANTS.edit(), icons.editPage());

        if (ProfileUtils.isGranted(authentication, GlobalPermissionEnum.MANAGE_UNIT)) {
            toolBar.add(editReportButton);
        }

        editReportButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                // Draft creation
                final HashMap<String, Object> properties = new HashMap<String, Object>();
                properties.put("reportId", report.getId());
                properties.put("phaseName", phaseName);
                final CreateEntity createDraft = new CreateEntity("ProjectReportDraft", properties);

                // Retrieving the new draft
                final GetProjectReport getReportDraft = new GetProjectReport(report.getId());

                final AsyncCallback<CreateResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(createDraft, null, callback);
                dispatcher.execute(getReportDraft, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportEditError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        setReport(result);
                    }

                });
            }
        });

        final Button exportReportButton = new Button(I18N.CONSTANTS.exportToWord(), icons.msword());
        toolBar.add(exportReportButton);

        exportReportButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final FormElement form = FormElement.as(DOM.createForm());
                form.setAction(GWT.getModuleBaseURL() + "export");
                form.setTarget("_downloadFrame");
                form.setMethod("POST");

                final InputElement typeField = InputElement.as(DOM.createInputText());
                typeField.setAttribute("type", "hidden");
                typeField.setName(ExportUtils.PARAM_EXPORT_TYPE);
                typeField.setValue(ExportUtils.ExportType.PROJECT_REPORT.toString());
                form.appendChild(typeField);

                final InputElement formatField = InputElement.as(DOM.createInputText());
                formatField.setAttribute("type", "hidden");
                formatField.setName(ExportUtils.PARAM_EXPORT_FORMAT);
                formatField.setValue(ExportUtils.ExportFormat.MS_WORD.name());
                form.appendChild(formatField);

                final InputElement idField = InputElement.as(DOM.createInputText());
                idField.setAttribute("type", "hidden");
                idField.setName(ExportUtils.PARAM_EXPORT_PROJECT_ID);
                idField.setAttribute("value", report.getId().toString());
                form.appendChild(idField);

                RootPanel.getBodyElement().appendChild(form);

                form.submit();
                form.removeFromParent();
            }
        });

        toolBar.add(new SeparatorToolItem());
    }

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

    // Overview mode
    final Button foldButton = new Button(I18N.CONSTANTS.reportOverviewMode());
    foldButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            root.expand(true);
            root.fold(true);
        }
    });
    // Expanded mode
    final Button expandButton = new Button(I18N.CONSTANTS.reportFullMode());
    expandButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent 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();
}

From source file:org.sigmah.client.page.project.reports.ProjectReportsView.java

License:Open Source License

public void setReport(final ProjectReportDTO report) {
    mainPanel.removeAll();/*  w  ww  .  ja  v  a  2 s  .c o m*/
    // currentReport = report;

    if (autoSaveTimer != null) {
        autoSaveTimer.cancel();
        autoSaveTimer = null;
    }

    if (report == null) {
        currentReportId = -1;
        return;
    }

    currentReportId = report.getId();

    // Preparing the view for the new report
    textAreas.clear();
    oldContents.clear();
    keyQuestionState.clear();

    // Title bar
    final ContentPanel reportPanel = new ContentPanel(new FitLayout());
    reportPanel.setScrollMode(Scroll.AUTOY);
    reportPanel.setHeading(report.getName());

    final ToolButton closeButton = new ToolButton("x-tool-close");
    closeButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            final ProjectState state = new ProjectState(currentState.getProjectId());
            state.setCurrentSection(currentState.getCurrentSection());
            state.setArgument("-1");

            eventBus.fireEvent(new NavigationEvent(NavigationHandler.NavigationRequested, state, null));
        }
    });
    reportPanel.getHeader().addTool(closeButton);

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

    // Report
    final FoldPanel root = new FoldPanel();
    root.addStyleName("project-report");

    final List<ProjectReportSectionDTO> sections = report.getSections();

    final StringBuilder prefix = new StringBuilder();

    for (int index = 0; index < sections.size(); index++) {
        final ProjectReportSectionDTO section = sections.get(index);

        prefix.append(index + 1).append('.');
        displaySection(section, root, prefix, 1, report.isDraft());

        prefix.setLength(0);
    }

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

    final IconImageBundle icons = GWT.create(IconImageBundle.class);

    if (report.isDraft()) {
        // Draft banner
        final HorizontalPanel header = new HorizontalPanel();
        header.addStyleName("project-report-draft");

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

        final DateTimeFormat dateFormat = DateTimeFormat.getMediumDateFormat();
        final DateTimeFormat timeFormat = DateTimeFormat.getMediumTimeFormat();

        // 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 Button cancelButton = new Button(I18N.CONSTANTS.delete());
        final Button sendButton = new Button(I18N.CONSTANTS.sendReportDraft());

        cancelButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final RemoveProjectReportDraft removeDraft = new RemoveProjectReportDraft(
                        report.getVersionId());
                final GetProjectReport getReport = new GetProjectReport(report.getId());

                final AsyncCallback<VoidResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(removeDraft, null, callback);
                dispatcher.execute(getReport, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportEditError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportEditCancelSuccess());
                        setReport(result);
                    }

                });
            }
        });

        sendButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final HashMap<String, Object> changes = new HashMap<String, Object>();
                changes.put("currentPhase", phaseName);

                for (final Map.Entry<Integer, RichTextArea> entry : textAreas.entrySet())
                    changes.put(entry.getKey().toString(), entry.getValue().getHTML());

                final UpdateEntity updateEntity = new UpdateEntity("ProjectReport", report.getVersionId(),
                        changes);
                final PromoteProjectReportDraft promoteDraft = new PromoteProjectReportDraft(report.getId(),
                        report.getVersionId());

                final AsyncCallback<VoidResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(updateEntity, null, callback);
                dispatcher.execute(promoteDraft, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportSaveError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportSaveSuccess());
                        setReport(result);
                    }

                });
            }
        });

        final HorizontalPanel buttons = new HorizontalPanel();
        buttons.setSpacing(5);
        buttons.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
        buttons.addStyleName("project-report-draft-button");
        buttons.add(cancelButton);
        buttons.add(sendButton);

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

        flowPanel.add(header);

        // Save action
        final Listener<BaseEvent> saveListener = new Listener<BaseEvent>() {

            @Override
            public void handleEvent(BaseEvent be) {
                final HashMap<String, String> changes = new HashMap<String, String>();

                changes.put("currentPhase", phaseName);

                for (final Map.Entry<Integer, RichTextArea> entry : textAreas.entrySet())
                    changes.put(entry.getKey().toString(), entry.getValue().getHTML());

                final UpdateEntity updateEntity = new UpdateEntity("ProjectReport", report.getVersionId(),
                        (Map<String, Object>) (Map<String, ?>) changes);
                dispatcher.execute(updateEntity, null, new AsyncCallback<VoidResult>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportSaveError(),
                                null);
                    }

                    @Override
                    public void onSuccess(VoidResult result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportSaveSuccess());

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

                        boolean found = false;
                        for (int index = 0; !found && index < store.getCount(); index++) {
                            final ReportReference reference = store.getAt(index);

                            if (reference.getId().equals(report.getId())) {
                                store.remove(reference);

                                reference.setEditorName(authentication.getUserShortName());
                                reference.setPhaseName(phaseName);
                                reference.setLastEditDate(new Date());

                                store.add(reference);

                                found = true;
                            }
                        }

                        updateChanges();

                        autoSaveTimer.cancel();
                        autoSaveTimer.schedule(AUTO_SAVE_PERIOD);
                    }
                });
            }
        };

        // Save button
        final Button saveButton = new Button(I18N.CONSTANTS.save(), icons.save());
        saveButton.addListener(Events.Select, saveListener);

        toolBar.add(saveButton);
        toolBar.add(new SeparatorToolItem());

        // Auto save timer
        autoSaveTimer = new Timer() {

            @Override
            public void run() {
                saveListener.handleEvent(null);
            }
        };
        autoSaveTimer.schedule(AUTO_SAVE_PERIOD);

    } else {
        final Button editReportButton = new Button(I18N.CONSTANTS.edit(), icons.editPage());

        if (ProfileUtils.isGranted(authentication, GlobalPermissionEnum.EDIT_PROJECT)) {
            toolBar.add(editReportButton);
        }

        editReportButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                // Draft creation
                final HashMap<String, Object> properties = new HashMap<String, Object>();
                properties.put("reportId", report.getId());
                properties.put("phaseName", phaseName);
                final CreateEntity createDraft = new CreateEntity("ProjectReportDraft", properties);

                // Retrieving the new draft
                final GetProjectReport getReportDraft = new GetProjectReport(report.getId());

                final AsyncCallback<CreateResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(createDraft, null, callback);
                dispatcher.execute(getReportDraft, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportEditError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        setReport(result);
                    }

                });
            }
        });

        final Button exportReportButton = new Button(I18N.CONSTANTS.exportToWord(), icons.msword());
        toolBar.add(exportReportButton);

        exportReportButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final FormElement form = FormElement.as(DOM.createForm());
                form.setAction(GWT.getModuleBaseURL() + "export");
                form.setTarget("_downloadFrame");
                form.setMethod("POST");

                final InputElement typeField = InputElement.as(DOM.createInputText());
                typeField.setAttribute("type", "hidden");
                typeField.setName(ExportUtils.PARAM_EXPORT_TYPE);
                typeField.setValue(ExportUtils.ExportType.PROJECT_REPORT.toString());
                form.appendChild(typeField);

                final InputElement formatField = InputElement.as(DOM.createInputText());
                formatField.setAttribute("type", "hidden");
                formatField.setName(ExportUtils.PARAM_EXPORT_FORMAT);
                formatField.setValue(ExportUtils.ExportFormat.MS_WORD.name());
                form.appendChild(formatField);

                final InputElement idField = InputElement.as(DOM.createInputText());
                idField.setAttribute("type", "hidden");
                idField.setName(ExportUtils.PARAM_EXPORT_PROJECT_ID);
                idField.setAttribute("value", report.getId().toString());
                form.appendChild(idField);

                RootPanel.getBodyElement().appendChild(form);

                form.submit();
                form.removeFromParent();
            }
        });

        toolBar.add(new SeparatorToolItem());
    }

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

    // Overview mode
    final Button foldButton = new Button(I18N.CONSTANTS.reportOverviewMode());
    foldButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            root.expand(true);
            root.fold(true);
        }
    });
    // Expanded mode
    final Button expandButton = new Button(I18N.CONSTANTS.reportFullMode());
    expandButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent 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();
}

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

License:Open Source License

/**
 * {@inheritDoc}//w  w w. ja va  2s  . co  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.sigmah.client.ui.widget.panel.FoldPanel.java

License:Open Source License

/**
 * Creates a new and empty fold panel./*from   ww  w .  j a  va2s .c o m*/
 */
public FoldPanel() {

    addStyleName("fold");

    final HorizontalPanel titleBar = new HorizontalPanel();
    titleBar.getElement().getStyle().setDisplay(Style.Display.NONE);
    titleBar.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);

    final Label heading = new Label();
    heading.addStyleName("fold-title");
    heading.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            if (state == STATE_EXPANDED)
                collapse();
            else
                expand(true);
        }
    });
    heading.addStyleName("fold-expanded");
    titleBar.add(heading);
    titleBar.setCellWidth(heading, "100%");

    final FlowPanel toolButtonPanel = new FlowPanel();
    titleBar.add(toolButtonPanel);

    final FlowPanel content = new FlowPanel();

    super.add(titleBar);
    super.add(content);
}

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

License:Open Source License

@Override
Widget createHeader() {//from w  w w . j av  a2 s  . c om
    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() {/*from  ww w. j  a  va  2s.co m*/
    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() {// w w w  .ja va 2 s. 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  w w.  ja  v a 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.sonatype.nexus.gwt.ui.client.table.ToolBarButton.java

License:Open Source License

public ToolBarButton(String normalURL, String disabledURL, String labelText, boolean showLabel) {
    // Set up the button
    Image normalImage = new Image(normalURL, 0, 0, 16, 16);
    Image disabledImage = new Image(disabledURL, 0, 0, 16, 16);
    button.getUpFace().setImage(normalImage);
    button.getDownFace().setImage(normalImage);
    button.getUpDisabledFace().setImage(disabledImage);
    button.getDownDisabledFace().setImage(disabledImage);
    button.setTitle(labelText);//from  ww w . j  a v  a 2 s  .c  o  m

    // Set up the label
    label.setText(labelText);

    // Hook up events.
    button.addClickListener(this);
    label.addClickListener(this);

    // Create the panel and add the widgets to it
    HorizontalPanel panel = new HorizontalPanel();
    panel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    panel.add(button);
    if (showLabel) {
        panel.add(label);
    }
    initWidget(panel);

    // Set the style of the panel
    setStyleName("toolbar-button");
}