List of usage examples for org.apache.wicket.markup.html.link PopupSettings PopupSettings
public PopupSettings(String windowName, final int displayFlags)
From source file:com.lili.WicketExampleHeader.java
License:Apache License
/** * Construct./*from w w w . j a v a 2s.com*/ * * @param id * id of the component * @param exampleTitle * title of the example * @param page * The example page */ public WicketExampleHeader(String id, String exampleTitle, WebPage page) { super(id); // add(new DebugBar("debug")); // add(new Label("exampleTitle", exampleTitle)); // BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("sources", // SourcesPage.class, SourcesPage.generatePageParameters(page)); // BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("sources", // null,null); // add(link); PopupSettings settings = new PopupSettings("sources", PopupSettings.RESIZABLE); settings.setWidth(800); settings.setHeight(600); // link.setPopupSettings(settings); }
From source file:com.mastfrog.acteur.wicket.borrowed.WicketExampleHeader.java
License:Apache License
/** * Construct./* w ww. j a v a 2 s . c o m*/ * * @param id * id of the component * @param exampleTitle * title of the example * @param page * The example page */ public WicketExampleHeader(String id, String exampleTitle, WebPage page) { super(id); // add(new DebugBar("debug")); add(new Label("exampleTitle", exampleTitle)); BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("sources", SourcesPage.class, SourcesPage.generatePageParameters(page)); add(link); PopupSettings settings = new PopupSettings("sources", PopupSettings.RESIZABLE); settings.setWidth(800); settings.setHeight(600); link.setPopupSettings(settings); }
From source file:com.norconex.jefmon.instance.action.ActionsCell.java
License:Apache License
@SuppressWarnings("nls") public ActionsCell(final String id, final JobStatusTreeNode job, final List<IJobAction> actions) { super(id);// ww w . ja v a 2 s .com add(new ListView<IJobAction>("actions", actions) { private static final long serialVersionUID = 3635147316426384496L; @Override protected void populateItem(ListItem<IJobAction> item) { final IJobAction action = item.getModelObject(); if (action.isVisible(job)) { String icon = action.getFontIcon(); final String pageName = action.getName().getObject() + " - " + job.getJobId(); Link<String> link = new Link<String>("actionLink") { private static final long serialVersionUID = 3488334322744811811L; @Override public void onClick() { Component comp = action.execute(job, ActionPage.COMPONENT_ID); if (comp != null) { setResponsePage(new ActionPage(comp, Model.of(pageName))); } } }; PopupSettings popup = new PopupSettings(pageName, PopupSettings.RESIZABLE); popup.setWidth(800); link.setPopupSettings(popup); link.add(new Label("actionIcon").add(new CssClass(icon))); link.add(new BootstrapTooltip(action.getName())); item.add(link); } else { WebMarkupContainer empty = new WebMarkupContainer("actionLink"); empty.add(new Label("actionIcon")); empty.setVisible(false); item.add(empty); } } }); }
From source file:de.tudarmstadt.ukp.csniper.webapp.support.wicket.ThresholdLink.java
License:Apache License
public ThresholdLink(String aId, int aWidth, int aHeight) { super(aId);/*from w w w . ja v a 2 s .com*/ PopupSettings ps = new PopupSettings(aId, PopupSettings.SCROLLBARS + PopupSettings.LOCATION_BAR); ps.setWidth(aWidth); ps.setHeight(aHeight); setPopupSettings(ps); setBody(new Model<String>( "<img src=\"images/questionmark.png\" alt=\"Explanation\" style=\"vertical-align:bottom\" />")); setEscapeModelStrings(false); }
From source file:de.twenty11.skysail.client.osgimonitor.wicket.pages.bundles.WicketExampleHeader.java
License:Apache License
/** * Construct./*w w w . j a v a 2s .c o m*/ * * @param id * id of the component * @param exampleTitle * title of the example * @param page * The example page */ public WicketExampleHeader(String id, String exampleTitle, WebPage page) { super(id); //add(new DebugBar("debug")); add(new Label("exampleTitle", exampleTitle)); // BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("sources", // SourcesPage.class, SourcesPage.generatePageParameters(page)); //add(link); PopupSettings settings = new PopupSettings("sources", PopupSettings.RESIZABLE); settings.setWidth(800); settings.setHeight(600); //link.setPopupSettings(settings); }
From source file:jp.go.nict.langrid.management.web.view.page.user.component.link.ExternalHomePageLink.java
License:Open Source License
/** * //from ww w . j a v a 2 s.c o m * */ public ExternalHomePageLink(String componentId, String url, String uniqueId) { super(componentId, url); PopupSettings settings = new PopupSettings(PageMap.forName(componentId.concat(uniqueId)), PopupSettings.SCROLLBARS | PopupSettings.RESIZABLE | PopupSettings.MENU_BAR | PopupSettings.LOCATION_BAR | PopupSettings.STATUS_BAR | PopupSettings.TOOL_BAR); settings.setHeight(HEIGHT); settings.setWidth(WIDTH); setPopupSettings(settings); add(createLabel(componentId, url).add(new AttributeAppender("title", new Model<String>(url), " "))); }
From source file:jp.go.nict.langrid.management.web.view.page.user.component.link.ExternalHomePageLink.java
License:Open Source License
/** * /*from w w w . j a v a2 s . c o m*/ * */ public ExternalHomePageLink(String componentId, String url, String uniqueId, int limit) { super(componentId, url); PopupSettings settings = new PopupSettings(PageMap.forName(componentId.concat(uniqueId)), PopupSettings.SCROLLBARS | PopupSettings.RESIZABLE | PopupSettings.MENU_BAR | PopupSettings.LOCATION_BAR | PopupSettings.STATUS_BAR | PopupSettings.TOOL_BAR); settings.setHeight(HEIGHT); settings.setWidth(WIDTH); setPopupSettings(settings); if (url == null || url.equals("")) { url = "-"; } add(createLabel(componentId, StringUtil.shortenString(url, limit)) .add(new AttributeAppender("title", new Model<String>(url), " "))); setEnabled(!(url == null || url.equals("") || url.equals("-"))); }
From source file:org.dcm4chee.web.war.folder.StudyListPage.java
License:LGPL
private void addActions(final BaseForm form) { final ConfirmationWindow<SelectedEntities> confirmDelete = new ConfirmationWindow<SelectedEntities>( "confirmDelete") { private static final long serialVersionUID = 1L; private transient ContentEditDelegate delegate; private ContentEditDelegate getDelegate() { if (delegate == null) { delegate = ContentEditDelegate.getInstance(); }/* www . java 2 s .c o m*/ return delegate; } @Override public void onOk(AjaxRequestTarget target) { target.addComponent(form); } @Override public void close(AjaxRequestTarget target) { target.addComponent(form); super.close(target); } @Override public void onConfirmation(AjaxRequestTarget target, final SelectedEntities selected) { if (selected.hasTooOld()) { for (StudyModel st : selected.getStudiesTooOld()) logSecurityAlert(st, true, StudyListPage.tooOldAuditMessageText); } this.setStatus(new StringResourceModel("folder.message.delete.running", StudyListPage.this, null)); try { getDelegate().moveToTrash(selected); if (WebCfgDelegate.getInstance().showDoneDialogAfterAction()) setStatus(new StringResourceModel("folder.message.deleteDone", StudyListPage.this, null)); if (selected.hasPatients()) { viewport.getPatients().clear(); query(target); } else selected.refreshView(true); if (!WebCfgDelegate.getInstance().showDoneDialogAfterAction()) close(target); } catch (RuntimeMBeanException e) { log.error("moveToTrash failed: ", e); if (e.getCause() instanceof EJBException) if (WebCfgDelegate.getInstance().getTrustPatientIdWithoutIssuer()) this.setStatus(new StringResourceModel("folder.message.deleteFailed.alreadyExists", StudyListPage.this, null)); else this.setStatus(new StringResourceModel("folder.message.deleteFailed.notAllowed", StudyListPage.this, null)); } catch (Throwable t) { log.error("moveToTrash failed: ", t); setStatus(new StringResourceModel("folder.message.deleteFailed", StudyListPage.this, null)); } target.addComponent(getMessageWindowPanel().getMsgLabel()); target.addComponent(getMessageWindowPanel().getOkBtn()); } @Override public void onDecline(AjaxRequestTarget target, SelectedEntities selected) { if (selected.getPpss().size() != 0) { if (ContentEditDelegate.getInstance().deletePps(selected)) { if (WebCfgDelegate.getInstance().showDoneDialogAfterAction()) this.setStatus( new StringResourceModel("folder.message.deleteDone", StudyListPage.this, null)); selected.refreshView(true); } else this.setStatus( new StringResourceModel("folder.message.deleteFailed", StudyListPage.this, null)); } } }; form.add(confirmDelete); AjaxFallbackButton newPatBtn = new AjaxFallbackButton("newPatBtn", form) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(final AjaxRequestTarget target, Form<?> form) { final PatientModel newPatModel = getNewPatientModel(); newPatientPanel = new SimpleEditDicomObjectPanel("content", modalWindow, newPatModel, new ResourceModel("folder.newPatient.text").wrapOnAssignment(this).getObject(), new int[][] { { Tag.PatientName }, { Tag.PatientID }, { Tag.IssuerOfPatientID }, { Tag.PatientBirthDate }, { Tag.PatientSex } }, true, new IModel<Boolean>() { private static final long serialVersionUID = 1L; public void detach() { } public void setObject(Boolean arg0) { } public Boolean getObject() { return WebCfgDelegate.getInstance().useFamilyAndGivenNameQueryFields(); } }) { private static final long serialVersionUID = 1L; @Override protected void onSubmit() { newPatModel.update(getDicomObject()); viewport.getPatients().add(0, newPatModel); } }; newPatientPanel.addChoices(Tag.PatientSex, new String[] { "M", "F", "O", "U" }); if (!StudyPermissionHelper.get().isEditNewPatientID()) { newPatientPanel.setNotEditable(Arrays.asList(Tag.PatientID, Tag.IssuerOfPatientID)); } newPatientPanel .setRequiredTags(Arrays.asList(Tag.PatientName, Tag.PatientID, Tag.IssuerOfPatientID)); modalWindow.setContent(newPatientPanel); modalWindow.setTitle(""); modalWindow.show(target); } }; newPatBtn.add(new Image("newPatImg", ImageManager.IMAGE_USER_ADD) .add(new ImageSizeBehaviour("vertical-align: middle;"))); newPatBtn.add(new Label("newPatText", new ResourceModel("folder.newPatBtn.text")) .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle")))); form.add(newPatBtn); newPatBtn.add(new SecurityBehavior(getModuleName() + ":newPatientButton")); AjaxButton deleteBtn = new AjaxButton("deleteBtn") { private static final long serialVersionUID = 1L; private void checkWarnings(SelectedEntities selected, MultiResourceModel remarkModel) { if (selected.hasPatients()) { int studiesCount = 0; String patientListing = ""; Iterator<PatientModel> i = selected.getPatients().iterator(); while (i.hasNext()) { PatientModel patientModel = i.next(); studiesCount += dao.countStudiesOfPatient(patientModel.getPk(), null); patientListing += ((patientModel.getId() != null ? patientModel.getId() : " ") + " / " + (patientModel.getIssuer() != null ? patientModel.getIssuer() : " ") + " / " + (patientModel.getName() != null ? patientModel.getName() : " ")); if (i.hasNext()) patientListing += ", <br /> "; } remarkModel.addModel(new StringResourceModel("folder.message.warnPatientDelete", this, null, new Object[] { studiesCount, patientListing })); confirmDelete.setInitialWidth(500).setInitialHeight(280 + (20 * selected.getPatients().size())); } if (ContentEditDelegate.getInstance().sendsRejectionNotes()) remarkModel.addModel(new StringResourceModel("folder.message.warnDelete", this, null)); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { confirmDelete.initContent(500, 280); MultiResourceModel remarkModel = new MultiResourceModel(); confirmDelete.setRemark(remarkModel); boolean hasIgnored = selected.update(studyPermissionHelper.isUseStudyPermissions(), viewport.getPatients(), StudyPermission.DELETE_ACTION); selected.deselectChildsOfSelectedEntities(); checkNotRestoreable(selected, remarkModel); selected.computeTooOld(); if ((hasIgnored || selected.hasDicomSelection() || selected.hasPPS()) && selected.hasTooOld()) { if (StudyPermissionHelper.get().ignoreEditTimeLimit()) { checkWarnings(selected, remarkModel); if (hasIgnored) { confirmDelete.initContent(confirmDelete.getInitialWidth(), confirmDelete.getInitialHeight() + 50); remarkModel.addModel( new StringResourceModel("folder.message.deleteNotAllowed", this, null)); } if (selected.hasPPS()) { confirmDelete.confirmWithCancel(target, new StringResourceModel("folder.message.tooOld.confirmPpsDelete", this, null, new Object[] { selected }), selected); } else if (selected.hasDicomSelection()) { confirmDelete.initContent(confirmDelete.getInitialWidth(), confirmDelete.getInitialHeight() + 50); confirmDelete.confirm(target, new StringResourceModel("folder.message.tooOld.delete", this, null, new Object[] { selected }), selected); } else { msgWin.setInfoMessage(getString("folder.message.deleteNotAllowed")); msgWin.setColor("#FF0000"); msgWin.show(target); } } else { msgWin.setInfoMessage(getString("folder.message.tooOld.delete.denied")); msgWin.setColor("#FF0000"); msgWin.show(target); } return; } checkWarnings(selected, remarkModel); if (selected.hasPatients()) confirmDelete.setImage(ImageManager.IMAGE_COMMON_WARN); if (hasIgnored) { confirmDelete.initContent(confirmDelete.getInitialWidth(), confirmDelete.getInitialHeight() + 50); remarkModel.addModel(new StringResourceModel("folder.message.deleteNotAllowed", this, null)); } if (selected.hasPPS()) { confirmDelete.confirmWithCancel(target, new StringResourceModel( "folder.message.confirmPpsDelete", this, null, new Object[] { selected }), selected); } else if (selected.hasDicomSelection()) { confirmDelete.confirm(target, new StringResourceModel("folder.message.confirmDelete", this, null, new Object[] { selected }), selected); } else { if (hasIgnored) { msgWin.setInfoMessage(getString("folder.message.deleteNotAllowed")); msgWin.setColor("#FF0000"); } else { msgWin.setInfoMessage(getString("folder.message.noSelection")); msgWin.setColor(""); } msgWin.show(target); } } }; deleteBtn.add(new Image("deleteImg", ImageManager.IMAGE_FOLDER_DELETE) .add(new ImageSizeBehaviour("vertical-align: middle;"))); deleteBtn.add(new Label("deleteText", new ResourceModel("folder.deleteBtn.text")) .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle")))); form.add(deleteBtn); deleteBtn.add(new SecurityBehavior(getModuleName() + ":deleteButton")); AjaxFallbackButton moveBtn = new AjaxFallbackButton("moveBtn", form) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(final AjaxRequestTarget target, Form<?> form) { selected.update(false, viewport.getPatients(), StudyPermission.UPDATE_ACTION, true); log.debug("Selected Entities:{}", selected); if (selected.hasDicomSelection()) { modalWindow.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 1L; @Override public Page createPage() { return new MoveEntitiesPage(modalWindow, selected, viewport.getPatients()); } }); int[] winSize = WebCfgDelegate.getInstance().getWindowSize("move"); modalWindow.setInitialWidth(winSize[0]).setInitialHeight(winSize[1]); modalWindow.setTitle(""); modalWindow.show(target); } else msgWin.show(target, getString("folder.message.noSelection")); } }; moveBtn.add(new Image("moveImg", ImageManager.IMAGE_FOLDER_MOVE) .add(new ImageSizeBehaviour("vertical-align: middle;"))); moveBtn.add(new Label("moveText", new ResourceModel("folder.moveBtn.text")) .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle")))); form.add(moveBtn); moveBtn.add(new SecurityBehavior(getModuleName() + ":moveButton")); PopupLink exportBtn = new PopupLink("exportBtn", "exportPage") { private static final long serialVersionUID = 1L; @Override public void onClick() { this.setResponsePage(new ExportPage(viewport.getPatients())); } }; int[] winSize = WebCfgDelegate.getInstance().getWindowSize("export"); exportBtn.setPopupWidth(winSize[0]); exportBtn.setPopupHeight(winSize[1]); exportBtn.add(new Image("exportImg", ImageManager.IMAGE_FOLDER_EXPORT) .add(new ImageSizeBehaviour("vertical-align: middle;"))); exportBtn.add(new Label("exportText", new ResourceModel("folder.exportBtn.text")) .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle")))); form.add(exportBtn); exportBtn.add(new SecurityBehavior(getModuleName() + ":exportButton")); int index = -1; if (webviewerLinkProviders != null) { for (int i = 0; i < webviewerLinkProviders.length; i++) { if (webviewerLinkProviders[i].supportViewingAllSelection()) { index = i; break; } } } final WebviewerLinkProvider viewer = index >= 0 ? webviewerLinkProviders[index] : null; Link<Object> viewBtn = new Link<Object>("viewBtn") { private static final long serialVersionUID = 1L; @Override public void onClick() { if (viewer != null) { try { selected.update(false, viewport.getPatients(), StudyPermission.UPDATE_ACTION, true); selected.deselectChildsOfSelectedEntities(); selected.update(false, viewport.getPatients(), StudyPermission.UPDATE_ACTION, true); ExportDicomModel model = new ExportDicomModel(selected); HttpServletRequest request = ((WebRequestCycle) RequestCycle.get()).getWebRequest() .getHttpServletRequest(); HttpServletResponse response = ((WebResponse) getRequestCycle().getResponse()) .getHttpServletResponse(); String result = viewer.viewAllSelection(model.getPatients(), request, response); if (!viewer.notWebPageLinkTarget()) { ViewerPage page = new ViewerPage(); page.add(new Label("viewer", new Model<String>(result)).setEscapeModelStrings(false)); this.setResponsePage(page); } } catch (Exception e) { log.error("Cannot view all the selection!", e); if (viewer.notWebPageLinkTarget()) { setResponsePage(getPage()); } } } } @Override public boolean isVisible() { return viewer != null; } }; if (viewer != null && !viewer.notWebPageLinkTarget()) { ((Link) viewBtn).setPopupSettings(new PopupSettings(PageMap.forName("viewBtnPage"), PopupSettings.RESIZABLE | PopupSettings.SCROLLBARS)); } viewBtn.add(new Image("viewImg", ImageManager.IMAGE_FOLDER_VIEWER) .add(new ImageSizeBehaviour("vertical-align: middle;"))); viewBtn.add(new Label("viewText", new ResourceModel("folder.viewBtn.text")) .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle")))); form.add(viewBtn); viewBtn.add(new SecurityBehavior(getModuleName() + ":viewButton")); confirmLinkMpps = new ConfirmationWindow<PPSModel>("confirmLink") { private static final long serialVersionUID = 1L; @Override public void onConfirmation(AjaxRequestTarget target, final PPSModel ppsModel) { logSecurityAlert(ppsModel, true, StudyListPage.tooOldAuditMessageText); } }; confirmLinkMpps.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 1L; public void onClose(AjaxRequestTarget target) { if (confirmLinkMpps.getState() == ConfirmationWindow.CONFIRMED) { setMppsLinkWindow().show(target, confirmLinkMpps.getUserObject(), form); } } }); form.add(confirmLinkMpps.setInitialHeight(150).setInitialWidth(410)); confirmLinkMppsStudy = new ConfirmationWindow<StudyModel>("confirmLinkStudy") { private static final long serialVersionUID = 1L; @Override public void onConfirmation(AjaxRequestTarget target, final StudyModel studyModel) { logSecurityAlert(studyModel, true, StudyListPage.tooOldAuditMessageText); } }; confirmLinkMppsStudy.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 1L; public void onClose(AjaxRequestTarget target) { if (confirmLinkMppsStudy.getState() == ConfirmationWindow.CONFIRMED) { setMppsLinkWindow().show(target, confirmLinkMppsStudy.getUserObject(), form); } } }); form.add(confirmLinkMppsStudy.setInitialHeight(150).setInitialWidth(410)); confirmUnlinkMpps = new ConfirmationWindow<PPSModel>("confirmUnlink") { private static final long serialVersionUID = 1L; @Override public void onOk(AjaxRequestTarget target) { target.addComponent(form); } @Override public void close(AjaxRequestTarget target) { target.addComponent(form); super.close(target); } @Override public void onConfirmation(AjaxRequestTarget target, final PPSModel ppsModel) { logSecurityAlert(ppsModel, true, StudyListPage.tooOldAuditMessageText); this.setStatus(new StringResourceModel("folder.message.unlink.running", StudyListPage.this, null)); getMessageWindowPanel().getOkBtn().setVisible(false); try { if (ContentEditDelegate.getInstance().unlink(ppsModel)) { setStatus(new StringResourceModel("folder.message.unlinkDone", StudyListPage.this, null)); ppsModel.getStudy().expand(); ppsModel.getStudy().refresh(); } else setStatus(new StringResourceModel("folder.message.unlinkFailed", StudyListPage.this, null)); } catch (Throwable t) { log.error("Unlink of MPPS failed:" + ppsModel, t); } target.addComponent(getMessageWindowPanel().getMsgLabel()); target.addComponent(getMessageWindowPanel().getOkBtn()); } }; form.add(confirmUnlinkMpps.setInitialHeight(150)); confirmUnlinkMppsStudy = new ConfirmationWindow<StudyModel>("confirmUnlinkStudy") { private static final long serialVersionUID = 1L; @Override public void onOk(AjaxRequestTarget target) { target.addComponent(form); } @Override public void close(AjaxRequestTarget target) { target.addComponent(form); super.close(target); } @Override public void onConfirmation(AjaxRequestTarget target, final StudyModel studyModel) { logSecurityAlert(studyModel, true, StudyListPage.tooOldAuditMessageText); this.setStatus(new StringResourceModel("folder.message.unlink.running", StudyListPage.this, null)); getMessageWindowPanel().getOkBtn().setVisible(false); try { int failed = ContentEditDelegate.getInstance().unlink(studyModel); if (failed == 0) { setStatus(new StringResourceModel("folder.message.unlinkDone", StudyListPage.this, null)); } else setStatus(new StringResourceModel("folder.message.unlinkFailed", StudyListPage.this, null)); } catch (Throwable t) { log.error("Unlink of MPPS failed:" + studyModel, t); } target.addComponent(getMessageWindowPanel().getMsgLabel()); target.addComponent(getMessageWindowPanel().getOkBtn()); } }; form.add(confirmUnlinkMppsStudy.setInitialHeight(150)); confirmEmulateMpps = new ConfirmationWindow<PPSModel>("confirmEmulate") { private static final long serialVersionUID = 1L; @Override public void onOk(AjaxRequestTarget target) { target.addComponent(form); } @Override public void close(AjaxRequestTarget target) { target.addComponent(form); super.close(target); } @Override public void onConfirmation(AjaxRequestTarget target, final PPSModel ppsModel) { log.info("Emulate MPPS for Study:" + ppsModel.getStudy().getStudyInstanceUID()); int success = -1; try { if (ppsModel.hasForeignPpsInfo()) { ContentEditDelegate.getInstance().removeForeignPpsInfo(ppsModel.getStudy().getPk()); } success = MppsEmulateDelegate.getInstance().emulateMpps(ppsModel.getStudy().getPk()); } catch (Throwable t) { log.error("Emulate MPPS failed!", t); } setStatus(new StringResourceModel( success < 0 ? "folder.message.emulateFailed" : "folder.message.emulateDone", StudyListPage.this, null, new Object[] { new Integer(success) })); if (success > 0) { StudyModel st = ppsModel.getStudy(); st.collapse(); st.expand(); } } }; confirmEmulateMpps.setInitialHeight(150); form.add(confirmEmulateMpps); }
From source file:org.dcm4chee.web.war.folder.webviewer.Webviewer.java
License:LGPL
@SuppressWarnings("serial") public static AbstractLink getLink(final AbstractDicomModel model, final WebviewerLinkProvider[] providers, final StudyPermissionHelper studyPermissionHelper, TooltipBehaviour tooltip, ModalWindow modalWindow, final WebviewerLinkClickedCallback callback) { final WebviewerLinkProvider[] p = { null }; AbstractLink link = null;//from w ww .java 2s .c o m if (providers != null) for (int i = 0; i < providers.length; i++) { if (isLevelSupported(model, providers[i])) { if (p[0] == null) { p[0] = providers[i]; } else { link = getWebviewerSelectionPageLink(model, providers, modalWindow, callback); break; } } } if (p[0] == null) { link = new ExternalLink(WEBVIEW_ID, "http://dummy"); link.setVisible(false); } else { if (link == null) { if (p[0].hasOwnWindow()) { String url = getUrlForModel(model, p[0]); link = new ExternalLink(WEBVIEW_ID, url); ((ExternalLink) link).setPopupSettings(getPopupSettingsForDirectGET(url)); } else if (p[0].supportViewingAllSelection()) { link = new Link<Object>(WEBVIEW_ID) { private static final long serialVersionUID = 1L; @Override public void onClick() { try { ExportDicomModel dicomModel = new ExportDicomModel(model); RequestCycle.get().setRequestTarget(EmptyRequestTarget.getInstance()); HttpServletRequest request = ((WebRequestCycle) RequestCycle.get()).getWebRequest() .getHttpServletRequest(); HttpServletResponse response = ((WebResponse) getRequestCycle().getResponse()) .getHttpServletResponse(); String result = p[0].viewAllSelection(dicomModel.getPatients(), request, response); if (!p[0].notWebPageLinkTarget()) { ViewerPage page = new ViewerPage(); page.add(new Label("viewer", new Model<String>(result)) .setEscapeModelStrings(false)); this.setResponsePage(page); } } catch (Exception e) { log.error("Cannot view the selection!", e); if (p[0].notWebPageLinkTarget()) { setResponsePage(getPage()); } } } }; WebClientInfo clientInfo = (WebClientInfo) WebRequestCycle.get().getClientInfo(); String browser = clientInfo.getUserAgent(); if (!p[0].notWebPageLinkTarget() || (browser != null && browser.contains("Firefox"))) { ((Link) link).setPopupSettings(new PopupSettings(PageMap.forName("webviewPage"), PopupSettings.RESIZABLE | PopupSettings.SCROLLBARS)); } } else { link = new Link<Object>(WEBVIEW_ID) { private static final long serialVersionUID = 1L; @Override public void onClick() { setResponsePage(new WebviewerRedirectPage(model, p[0])); } }; ((Link) link).setPopupSettings(new PopupSettings(PageMap.forName("webviewPage"), PopupSettings.RESIZABLE | PopupSettings.SCROLLBARS)); } if (callback != null) { link.add(new AjaxEventBehavior("onclick") { @Override public void onEvent(AjaxRequestTarget target) { callback.linkClicked(target); } // just for the case, if the link is rendered as a <button> element @Override protected void onComponentTag(ComponentTag tag) { String current = tag.getAttribute("onclick"); super.onComponentTag(tag); if (current != null) { tag.put("onclick", new StringBuilder(tag.getAttribute("onclick")).append(";").append(current)); } } }); } } if (model instanceof PatientModel) { link.setVisible(studyPermissionHelper.checkPermission(model.getDicomModelsOfNextLevel(), StudyPermission.READ_ACTION, false)); } else { link.setVisible(studyPermissionHelper.checkPermission(model, StudyPermission.READ_ACTION)); } } Image image = new Image("webviewImg", ImageManager.IMAGE_FOLDER_VIEWER); image.add(new ImageSizeBehaviour("vertical-align: middle;")); if (tooltip != null) image.add(tooltip); link.add(image); return link; }
From source file:org.dcm4chee.web.war.folder.webviewer.Webviewer.java
License:LGPL
private static AbstractLink getWebviewerSelectionPageLink(final AbstractDicomModel model, final WebviewerLinkProvider[] providers, final ModalWindow modalWindow, final WebviewerLinkClickedCallback callback) { log.debug("Use SelectionLINK for model:{}", model); if (modalWindow == null) { Link<Object> link = new Link<Object>(WEBVIEW_ID) { private static final long serialVersionUID = 1L; @Override//from w w w. j av a2 s. co m public void onClick() { setResponsePage(new WebviewerSelectionPage(model, providers, null, callback)); } }; link.setPopupSettings(new PopupSettings(PageMap.forName("webviewPage"), PopupSettings.RESIZABLE | PopupSettings.SCROLLBARS)); return link; } else { int[] winSize = WebCfgDelegate.getInstance().getWindowSize("webviewer"); return new ModalWindowLink(WEBVIEW_ID, modalWindow, winSize[0], winSize[1]) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { modalWindow.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 1L; @Override public Page createPage() { return new WebviewerSelectionPage(model, providers, modalWindow, callback); } }); modalWindow.setTitle(""); modalWindow.show(target); } }; } }