Example usage for org.apache.wicket.markup.html.image ContextImage setVisible

List of usage examples for org.apache.wicket.markup.html.image ContextImage setVisible

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.image ContextImage setVisible.

Prototype

public final Component setVisible(final boolean visible) 

Source Link

Document

Sets whether this component and any children are visible.

Usage

From source file:org.projectforge.web.tree.TreeIconsActionPanel.java

License:Open Source License

public void init(final TreeTablePanel page, final TreeTableNode treeNode) {
    this.treeNode = treeNode;
    final ContextImage spacerImage = new PresizedImage("spacer", WebConstants.IMAGE_SPACER);
    final boolean showExploreIcon = treeNode.hasChilds();
    int spacerWidth;
    if (showExploreIcon == true)
        spacerWidth = treeNode.getIndent() * WebConstants.IMAGE_TREE_ICON_WIDTH + 1;
    else//w w  w. j av  a2  s .c  o m
        spacerWidth = (treeNode.getIndent() + 1) * WebConstants.IMAGE_TREE_ICON_WIDTH + 1;
    spacerImage.add(AttributeModifier.replace("width", String.valueOf(spacerWidth)));
    if (this.link.isVisible() == true) {
        link.add(spacerImage);
        add(WicketUtils.getInvisibleDummyImage("spacer", getRequestCycle()));
    } else {
        add(spacerImage);
    }
    final ContextImage leafImage = new PresizedImage("leaf", WebConstants.IMAGE_TREE_ICON_LEAF);
    leafImage.setVisible(treeNode.isLeaf());
    add(leafImage);
    final WebMarkupContainer iconSpan = new WebMarkupContainer("icons");
    add(iconSpan);
    if (useAjaxAtDefault == false) {
        iconSpan.setRenderBodyOnly(true);
    }
    {
        final WebMarkupContainer exploreLink;
        if (useAjaxAtDefault == true) {
            exploreLink = new AjaxFallbackLink<Object>("explore") {
                @Override
                public void onClick(final AjaxRequestTarget target) {
                    if (target == null || treeTable == null) {
                        // Link with right mouse button and select new browser window / tab?
                        return;
                    }
                    treeTable.setOpenedStatusOfNode(TreeTableEvent.EXPLORE, treeNode.getHashId());
                    if (treeNode.isFolder() == true) {
                        // Implore
                        page.setEvent(target, TreeTableEvent.IMPLORE, treeNode);
                    } else {
                        // Explore
                        page.setEvent(target, TreeTableEvent.EXPLORE, treeNode);
                    }
                };
            };
        } else if (useSubmitLinkImages == true) {
            exploreLink = new SubmitLink("explore") {
                @Override
                public void onSubmit() {
                    treeTable.setOpenedStatusOfNode(TreeTableEvent.EXPLORE, treeNode.getHashId());
                    page.setEventNode(treeNode.getHashId());
                }
            };
        } else {
            exploreLink = new Link<Object>("explore") {
                @Override
                public void onClick() {
                    treeTable.setOpenedStatusOfNode(TreeTableEvent.EXPLORE, treeNode.getHashId());
                    page.setEventNode(treeNode.getHashId());
                };
            };
        }
        exploreLink.setVisible(showExploreIcon);
        iconSpan.add(exploreLink);
        // Get string results in warnings (panel was added before)?
        final ContextImage exploreImage = new PresizedImage("explore", WebConstants.IMAGE_TREE_ICON_EXPLOSION);
        exploreLink.add(exploreImage);
    }
    {
        final WebMarkupContainer folderLink;
        if (useAjaxAtDefault == true) {
            folderLink = new AjaxFallbackLink<TreeTableNode>("folder", new Model<TreeTableNode>(treeNode)) {
                @Override
                public void onClick(final AjaxRequestTarget target) {
                    if (target == null || treeTable == null) {
                        // Link with right mouse button and select new browser window / tab?
                        return;
                    }
                    if (getModelObject().isOpened() == true) {
                        treeTable.setOpenedStatusOfNode(TreeTableEvent.CLOSE, treeNode.getHashId());
                        page.setEvent(target, TreeTableEvent.CLOSE, treeNode);
                    } else {
                        treeTable.setOpenedStatusOfNode(TreeTableEvent.OPEN, treeNode.getHashId());
                        page.setEvent(target, TreeTableEvent.OPEN, treeNode);
                    }
                };
            };
        } else if (useSubmitLinkImages == true) {
            folderLink = new SubmitLink("folder", new Model<TreeTableNode>(treeNode)) {
                @Override
                public void onSubmit() {
                    if (((TreeTableNode) getDefaultModelObject()).isOpened() == true) {
                        treeTable.setOpenedStatusOfNode(TreeTableEvent.CLOSE, treeNode.getHashId());
                        page.setEventNode(treeNode.getHashId());
                    } else {
                        treeTable.setOpenedStatusOfNode(TreeTableEvent.OPEN, treeNode.getHashId());
                        page.setEventNode(treeNode.getHashId());
                    }
                }
            };
        } else {
            folderLink = new Link<TreeTableNode>("folder", new Model<TreeTableNode>(treeNode)) {
                @Override
                public void onClick() {
                    if (getModelObject().isOpened() == true) {
                        treeTable.setOpenedStatusOfNode(TreeTableEvent.CLOSE, treeNode.getHashId());
                        page.setEventNode(treeNode.getHashId());
                    } else {
                        treeTable.setOpenedStatusOfNode(TreeTableEvent.OPEN, treeNode.getHashId());
                        page.setEventNode(treeNode.getHashId());
                    }
                };
            };
        }
        folderLink.setVisible(treeNode.hasChilds() == true);
        iconSpan.add(folderLink);
        folderImage = new PresizedImage("folderImage", WebConstants.IMAGE_TREE_ICON_FOLDER);
        folderImage.setOutputMarkupId(true);
        folderOpenImage = new PresizedImage("folderOpenImage", WebConstants.IMAGE_TREE_ICON_FOLDER_OPEN);
        folderOpenImage.setOutputMarkupId(true);
        folderLink.add(folderImage).add(folderOpenImage);
    }
    final Label clickedEntryLabel = new Label("clickedEntry", "<a name=\"clickedEntry\" />");
    clickedEntryLabel.setEscapeModelStrings(false);
    final Serializable eventNode = page.getEventNode();
    clickedEntryLabel.setVisible(eventNode != null && eventNode.equals(treeNode.getHashId()) == true);
    add(clickedEntryLabel);
}

From source file:org.projectforge.web.tree.TreeIconsActionPanel.java

License:Open Source License

public static ContextImage getCurrentFolderImage(final Response response, final AbstractLink folderLink,
        final TreeTableNode node) {
    final ContextImage folderImage = (ContextImage) folderLink.get("folderImage");
    final ContextImage folderOpenImage = (ContextImage) folderLink.get("folderOpenImage");
    final boolean isOpen = node.isOpened();
    folderImage.setVisible(!isOpen);
    folderOpenImage.setVisible(isOpen);/*from  w  w  w  .  j ava2s.  com*/
    if (isOpen == true) {
        return folderOpenImage;
    } else {
        return folderImage;
    }
}

From source file:org.projectforge.web.wicket.WicketUtils.java

License:Open Source License

/**
 * /*from w  w w . j  av  a  2  s  .  com*/
 * @return
 */
public static ContextImage getInvisibleDummyImage(final String id, final RequestCycle requestCylce) {
    final ContextImage image = new ContextImage(id,
            WicketUtils.getImageUrl(requestCylce, WebConstants.IMAGE_SPACER));
    image.setVisible(false);
    return image;
}

From source file:org.sakaiproject.ddo.tool.pages.EditFeedback.java

License:Educational Community License

public EditFeedback(long feedbackId) {
    disableLink(staffOverviewLink);/*  w  ww .  j a v  a2 s.  c  om*/
    this.f = projectLogic.getFeedback(feedbackId);
    this.s = projectLogic.getSubmission(f.getSubmissionId());

    //s.setStatus(Submission.STATUS_UNDER);
    //projectLogic.updateSubmissionStatus(s);

    add(new Label("name", sakaiProxy.getUserDisplayName(s.getSubmittedBy())));
    add(new Label("primaryLanguageIsEnglish", s.getPrimaryLanguageIsEnglish() ? "Yes" : "No"));
    add(new Label("primaryLanguage", s.getPrimaryLanguage()));
    add(new Label("submissionDate", df.format(s.getSubmissionDate())));
    add(new Label("email", sakaiProxy.getUserEmail(s.getSubmittedBy())));
    add(new Label("username", sakaiProxy.getUserDisplayId(s.getSubmittedBy())));

    Link<Void> streamDownloadLink = new Link<Void>("document") {

        @Override
        public void onClick() {

            AbstractResourceStreamWriter rstream = new AbstractResourceStreamWriter() {

                @Override
                public void write(OutputStream output) throws IOException {
                    output.write(sakaiProxy.getResource(s.getDocumentRef()).getBytes());
                }
            };

            ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(rstream,
                    sakaiProxy.getResource(s.getDocumentRef()).getFileName());
            getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
        }
    };

    add(streamDownloadLink);
    SubmissionFile sf = sakaiProxy.getResource(s.getDocumentRef());
    streamDownloadLink.add(new Label("fileName", sf == null ? "Cannot find file." : sf.getFileName()));
    add(new ContextImage("submissionIcon",
            new Model<String>(sakaiProxy.getResourceIconUrl(s.getDocumentRef()))));
    add(new Label("fileSize", sakaiProxy.getResourceFileSize(s.getDocumentRef())));

    add(new Label("assignmentTitle", s.getAssignmentTitle()));
    add(new Label("course", s.getCourseTitle()));

    String instructorDisplayName = sakaiProxy.getUserDisplayName(s.getInstructor());
    String instructorEmail = sakaiProxy.getUserEmail(s.getInstructor());
    if ("".equals(instructorDisplayName)) {
        add(new Label("instructor", s.getInstructor()));
    } else {
        add(new Label("instructor", instructorDisplayName + " (" + instructorEmail + ")"));
    }

    add(new Label("dueDate",
            s.getDueDate() != null ? dueFormat.format(s.getDueDate()) : getString("error.no_due_date")));
    add(new MultiLineLabel("feedbackFocus", s.getFeedbackFocus()));
    add(new MultiLineLabel("instructorRequirements", s.getInstructorRequirements()));

    final Form<?> feedbackForm = new Form<Void>("feedbackForm") {
        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @Override
        protected void onSubmit() {
            String currentUserId = sakaiProxy.getCurrentUserId();

            f.setComments(comments.getModelObject());

            FileUpload file = uploadField.getFileUpload();

            String oldFileReference = "";

            // Check if the reviewer would like to replace or add a new reviewed file
            if (replaceReview.getModelObject().booleanValue()) {
                // Remove previously submitted file if there was one.
                if (f.getReviewedDocumentRef() != null && !f.getReviewedDocumentRef().isEmpty()) {
                    oldFileReference = f.getReviewedDocumentRef();
                }
                if (file == null) {
                    f.setReviewedDocumentRef("");
                } else if (file.getSize() == 0) {
                    error(getString("error.empty_file"));
                    return;
                } else {

                    String mimeType = file.getContentType();
                    String fileName = file.getClientFileName();

                    //ok so get bytes of file uploaded
                    byte[] documentBytes = file.getBytes();

                    //create resource id
                    String documentRef = sakaiProxy.getDocumentResourcePath(fileName);

                    if (!sakaiProxy.saveFile(documentRef, currentUserId, fileName, mimeType, documentBytes)) {
                        error(getString("error.save"));
                        return;
                    } else {
                        f.setReviewedDocumentRef(documentRef);
                    }
                }
            }

            if (f.getComments() == null && file == null) {
                error(getString("error.no_feedback"));
                return;
            }

            f.setReviewDate(new Date());
            f.setReviewedBy(currentUserId);

            if (projectLogic.updateFeedback(f) && projectLogic.updateSubmissionStatus(s)) {
                // Only delete old file on a successful save
                if (!oldFileReference.isEmpty()) {
                    sakaiProxy.removeResource(oldFileReference);
                }
                getSession().info(getString("success.save_feedback"));
                setResponsePage(new StaffOverview());
            } else {
                error(getString("error.save_feedback"));
            }

        }
    };

    feedbackForm.setMaxSize(Bytes.megabytes(15));
    add(feedbackForm);

    feedbackForm.add(comments = new TextArea<String>("comments", Model.of(f.getComments())));

    feedbackForm.add(uploadField = new FileUploadField("uploadField"));

    feedbackForm.add(replaceReview = new CheckBox("replaceReview", Model.of(Boolean.FALSE)));

    if (f.getReviewedDocumentRef() != null && !f.getReviewedDocumentRef().isEmpty()) {
        Link<Void> feedbackDownloadLink = new Link<Void>("feedbackDoc") {

            @Override
            public void onClick() {

                AbstractResourceStreamWriter rstream = new AbstractResourceStreamWriter() {

                    @Override
                    public void write(OutputStream output) throws IOException {
                        output.write(sakaiProxy.getResource(f.getReviewedDocumentRef()).getBytes());
                    }
                };

                ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(rstream,
                        sakaiProxy.getResource(f.getReviewedDocumentRef()).getFileName());
                getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
            }
        };

        feedbackForm.add(feedbackDownloadLink);
        SubmissionFile ff = sakaiProxy.getResource(f.getReviewedDocumentRef());
        feedbackDownloadLink.add(new Label("fFileName", ff == null ? "Cannot find file" : ff.getFileName()));
        feedbackForm.add(new ContextImage("feedbackIcon",
                new Model<String>(sakaiProxy.getResourceIconUrl(f.getReviewedDocumentRef()))));
        String fileSize = "(" + sakaiProxy.getResourceFileSize(f.getReviewedDocumentRef()) + ")";
        feedbackForm.add(new Label("reviewFileSize", fileSize));
        feedbackForm.add(new Label("noDoc", getString("error.no_document")).setVisible(false));
    } else {
        Link<Void> feedbackDownloadLink = new Link<Void>("feedbackDoc") {
            @Override
            public void onClick() {
            }
        };
        feedbackForm.add(feedbackDownloadLink);
        feedbackDownloadLink.add(new Label("fFileName", ""));
        ContextImage icon = new ContextImage("feedbackIcon", "");
        icon.setVisible(false);
        feedbackForm.add(icon);
        feedbackForm.add(new Label("reviewFileSize", ""));
        feedbackForm.add(new Label("noDoc", getString("error.no_document")).setVisible(true));
    }

    feedbackForm.add(
            new Label("max", MessageFormat.format(getString("feedback.form.max"), feedbackForm.getMaxSize())));

    Link<Void> cancel = new Link<Void>("cancelLink") {
        public void onClick() {
            //s.setStatus(Submission.STATUS_WAITING);
            //projectLogic.updateSubmissionStatus(s);
            setResponsePage(new StaffOverview());
        }
    };
    feedbackForm.add(cancel);

    SubmitLink submit = new SubmitLink("submit");
    feedbackForm.add(submit);

}

From source file:org.sakaiproject.ddo.tool.pages.FeedbackPage.java

License:Educational Community License

public FeedbackPage(long feedbackId, String fromPage) {

    final Feedback feedback = projectLogic.getFeedback(feedbackId);
    final Submission submission = projectLogic.getSubmission(feedback.getSubmissionId());

    Link<Void> submissionDownloadLink = new Link<Void>("submission") {

        @Override//from w  w  w .  ja v  a  2  s  .c  o m
        public void onClick() {

            AbstractResourceStreamWriter rstream = new AbstractResourceStreamWriter() {

                @Override
                public void write(OutputStream output) throws IOException {
                    output.write(sakaiProxy.getResource(submission.getDocumentRef()).getBytes());
                }
            };

            ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(rstream,
                    sakaiProxy.getResource(submission.getDocumentRef()).getFileName());
            getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
        }
    };

    add(submissionDownloadLink);
    SubmissionFile sf = sakaiProxy.getResource(submission.getDocumentRef());
    submissionDownloadLink.add(new Label("sFileName", sf == null ? "Cannot find file." : sf.getFileName()));
    add(new ContextImage("sSubmissionIcon",
            new Model<String>(sakaiProxy.getResourceIconUrl(submission.getDocumentRef()))));
    add(new Label("sFileSize", sakaiProxy.getResourceFileSize(submission.getDocumentRef())));

    if (feedback.getComments() != null && !feedback.getComments().isEmpty()) {
        add(new Label("comments", feedback.getComments()).setEscapeModelStrings(false));
    } else {
        add(new Label("comments", getString("error.no_comments")));
    }

    if (feedback.getReviewedDocumentRef() != null && !feedback.getReviewedDocumentRef().isEmpty()) {
        Link<Void> feedbackDownloadLink = new Link<Void>("feedbackDoc") {

            @Override
            public void onClick() {

                AbstractResourceStreamWriter rstream = new AbstractResourceStreamWriter() {

                    @Override
                    public void write(OutputStream output) throws IOException {
                        output.write(sakaiProxy.getResource(feedback.getReviewedDocumentRef()).getBytes());
                    }
                };

                ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(rstream,
                        sakaiProxy.getResource(feedback.getReviewedDocumentRef()).getFileName());
                getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
            }
        };

        add(feedbackDownloadLink);
        SubmissionFile ff = sakaiProxy.getResource(feedback.getReviewedDocumentRef());
        feedbackDownloadLink.add(new Label("fFileName", ff == null ? "Cannot find file." : ff.getFileName()));
        add(new ContextImage("submissionIcon",
                new Model<String>(sakaiProxy.getResourceIconUrl(feedback.getReviewedDocumentRef()))));
        String fileSize = "(" + sakaiProxy.getResourceFileSize(feedback.getReviewedDocumentRef()) + ")";
        add(new Label("fileSize", fileSize));
        add(new Label("noDoc", getString("error.no_document")).setVisible(false));
    } else {
        Link<Void> feedbackDownloadLink = new Link<Void>("feedbackDoc") {
            @Override
            public void onClick() {
            }
        };
        add(feedbackDownloadLink);
        feedbackDownloadLink.add(new Label("fFileName", ""));
        ContextImage icon = new ContextImage("submissionIcon", "");
        icon.setVisible(false);
        add(icon);
        add(new Label("fileSize", ""));
        add(new Label("noDoc", getString("error.no_document")).setVisible(true));
    }

    if ("staff".equals(fromPage)) {
        disableLink(staffOverviewLink);
        backLink = new Link<Void>("backLink") {
            public void onClick() {
                setResponsePage(new StaffOverview());
            }
        };
        add(backLink);
    } else {
        disableLink(studentOverviewLink);
        backLink = new Link<Void>("backLink") {
            public void onClick() {
                setResponsePage(new StudentOverview());
            }
        };
        add(backLink);
    }
}