Example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow setTitle

List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow setTitle

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow setTitle.

Prototype

public ModalWindow setTitle(IModel<String> title) 

Source Link

Document

Sets the title of window.

Usage

From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java

License:Apache License

private void addBeginRoleSearchModal() {
    final ModalWindow beginRoleModalWindow;
    add(beginRoleModalWindow = new ModalWindow("beginrolesmodal"));
    final RoleSearchModalPanel beginRoleSearchModalPanel = new RoleSearchModalPanel(
            beginRoleModalWindow.getContentId(), beginRoleModalWindow, false);
    beginRoleModalWindow.setContent(beginRoleSearchModalPanel);
    beginRoleModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override//from   w w  w.  j a  va2s.c  o  m
        public void onClose(AjaxRequestTarget target) {
            UserRole userRole = beginRoleSearchModalPanel.getRoleSelection();
            if (userRole != null) {
                AdminRole adminRole = (AdminRole) getDefaultModelObject();
                adminRole.setBeginRange(userRole.getName());
                target.add(beginRangeTF);
            }
        }
    });

    add(new AjaxButton(GlobalIds.BEGIN_RANGE_SEARCH) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            AdminRole adminRole = (AdminRole) form.getModel().getObject();
            beginRoleSearchModalPanel.setRoleSearchVal(adminRole.getBeginRange());
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            beginRoleModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    beginRoleModalWindow.setTitle("Begin Range Role Selection Modal");
    beginRoleModalWindow.setInitialWidth(700);
    beginRoleModalWindow.setInitialHeight(450);
    beginRoleModalWindow.setCookieName(ROLE_ASSIGN_MODAL);
}

From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java

License:Apache License

private void addEndRoleSearchModal() {
    final ModalWindow endRoleModalWindow;
    add(endRoleModalWindow = new ModalWindow("endrolesmodal"));
    final RoleSearchModalPanel endRoleSearchModalPanel = new RoleSearchModalPanel(
            endRoleModalWindow.getContentId(), endRoleModalWindow, false);
    endRoleModalWindow.setContent(endRoleSearchModalPanel);
    endRoleModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override//from  w ww  .j a v a  2s. com
        public void onClose(AjaxRequestTarget target) {
            UserRole userRole = endRoleSearchModalPanel.getRoleSelection();
            if (userRole != null) {
                AdminRole adminRole = (AdminRole) getDefaultModelObject();
                adminRole.setEndRange(userRole.getName());
                target.add(endRangeTF);
            }
        }
    });

    add(new AjaxButton(GlobalIds.END_RANGE_SEARCH) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            AdminRole adminRole = (AdminRole) form.getModel().getObject();
            endRoleSearchModalPanel.setRoleSearchVal(adminRole.getBeginRange());
            endRoleSearchModalPanel.setParentSearch(true);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            endRoleModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    endRoleModalWindow.setTitle("End Range Role Selection Modal");
    endRoleModalWindow.setInitialWidth(700);
    endRoleModalWindow.setInitialHeight(450);
    endRoleModalWindow.setCookieName(ROLE_ASSIGN_MODAL);
}

From source file:org.apache.directory.fortress.web.panel.SDListPanel.java

License:Apache License

private void addRoleSearchModal(Radio roleRb) {
    final ModalWindow rolesModalWindow;
    listForm.add(rolesModalWindow = new ModalWindow("rolesearchmodal"));
    final RoleSearchModalPanel roleSearchModalPanel = new RoleSearchModalPanel(rolesModalWindow.getContentId(),
            rolesModalWindow, false);//from   w w  w  .  j a v  a 2  s .  com
    rolesModalWindow.setContent(roleSearchModalPanel);
    rolesModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            UserRole roleConstraint = roleSearchModalPanel.getRoleSelection();
            if (roleConstraint != null) {
                log.debug("modal selected:" + roleConstraint.getName());
                searchVal = roleConstraint.getName();
                selectedRadioButton = ROLES;
                target.add(radioGroup);
            }
        }
    });

    roleRb.add(new SecureIndicatingAjaxLink("roleAssignLinkLbl", GlobalIds.REVIEW_MGR, "findRoles") {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            String msg = "clicked on roles search";
            msg += "roleSelection: " + searchVal;
            roleSearchModalPanel.setRoleSearchVal(searchVal);
            log.debug(msg);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            rolesModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    rolesModalWindow.setTitle("Role Search Modal");
    rolesModalWindow.setInitialWidth(700);
    rolesModalWindow.setInitialHeight(450);
    rolesModalWindow.setCookieName("role-assign-modal");
}

From source file:org.apache.directory.fortress.web.panel.UserListPanel.java

License:Apache License

private void addRoleSearchModal(Radio roleRb) {
    final ModalWindow rolesModalWindow;
    userformsearchfields.add(rolesModalWindow = new ModalWindow("rolesearchmodal"));
    final RoleSearchModalPanel roleSearchModalPanel = new RoleSearchModalPanel(rolesModalWindow.getContentId(),
            rolesModalWindow, false);//from  w w  w  . j  a va 2 s. c om
    rolesModalWindow.setContent(roleSearchModalPanel);
    rolesModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            UserRole roleConstraint = roleSearchModalPanel.getRoleSelection();
            if (roleConstraint != null) {
                LOG.debug("modal selected:" + roleConstraint.getName());
                searchData.setField1(roleConstraint.getName());
                selectedRadioButton = ROLES;
                enableRoleSearch();
                target.add(searchFields);
                target.add(radioGroup);
            }
        }
    });

    roleRb.add(new SecureIndicatingAjaxLink("roleAssignLinkLbl", GlobalIds.REVIEW_MGR, GlobalIds.FIND_ROLES) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            roleSearchModalPanel.setRoleSearchVal(searchData.getField1());
            roleSearchModalPanel.setAdmin(false);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            rolesModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });
    rolesModalWindow.setTitle("RBAC Role Search Modal");
    rolesModalWindow.setInitialWidth(700);
    rolesModalWindow.setInitialHeight(450);
    rolesModalWindow.setCookieName("role-assign-modal");
}

From source file:org.apache.directory.fortress.web.panel.UserListPanel.java

License:Apache License

private void addAdminRoleSearchModal(Radio adminRoleRb) {
    final ModalWindow adminRolesModalWindow;
    userformsearchfields.add(adminRolesModalWindow = new ModalWindow("adminrolesearchmodal"));
    final RoleSearchModalPanel adminRoleSearchModalPanel = new RoleSearchModalPanel(
            adminRolesModalWindow.getContentId(), adminRolesModalWindow, true);
    adminRolesModalWindow.setContent(adminRoleSearchModalPanel);
    adminRolesModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override/*from ww  w.  j  a  v  a 2s.  c  o  m*/
        public void onClose(AjaxRequestTarget target) {
            UserRole roleConstraint = adminRoleSearchModalPanel.getRoleSelection();
            if (roleConstraint != null) {
                searchData.setField1(roleConstraint.getName());
                selectedRadioButton = ADMIN_ROLES;
                enableAdminSearch();
                target.add(searchFields);
                target.add(radioGroup);
            }
        }
    });

    adminRoleRb.add(new SecureIndicatingAjaxLink("adminRoleAssignLinkLbl", GlobalIds.DEL_REVIEW_MGR,
            GlobalIds.FIND_ROLES) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            String msg = "clicked on admin roles search";
            msg += "adminRoleSelection: " + searchData.getField1();
            adminRoleSearchModalPanel.setRoleSearchVal(searchData.getField1());
            adminRoleSearchModalPanel.setAdmin(true);
            LOG.debug(msg);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            adminRolesModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });
    adminRolesModalWindow.setTitle("Admin Role Search Modal");
    adminRolesModalWindow.setInitialWidth(700);
    adminRolesModalWindow.setInitialHeight(450);
    adminRolesModalWindow.setCookieName("role-assign-modal");
}

From source file:org.apache.directory.fortress.web.panel.UserListPanel.java

License:Apache License

private void addOUSearchModal(Radio ouRb) {
    final ModalWindow ousModalWindow;
    userformsearchfields.add(ousModalWindow = new ModalWindow("ousearchmodal"));
    final OUSearchModalPanel ouSearchModalPanel = new OUSearchModalPanel(ousModalWindow.getContentId(),
            ousModalWindow, true);//  w ww. ja  v  a 2 s.  c  o m
    ousModalWindow.setContent(ouSearchModalPanel);
    ousModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            OrgUnit ou = ouSearchModalPanel.getSelection();
            if (ou != null) {
                searchData.setField1(ou.getName());
            }
            selectedRadioButton = OUS;
            enableOuSearch();
            target.add(searchFields);
            target.add(radioGroup);
        }
    });
    ouRb.add(new SecureIndicatingAjaxLink("ouAssignLinkLbl", GlobalIds.DEL_REVIEW_MGR, "searchOU") {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            ouSearchModalPanel.setSearchVal(searchData.getField1());
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            ousModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    ousModalWindow.setTitle("User Organizational Unit Search Modal");
    ousModalWindow.setInitialWidth(450);
    ousModalWindow.setInitialHeight(450);
    ousModalWindow.setCookieName("userou-modal");
}

From source file:org.apache.directory.fortress.web.panel.UserListPanel.java

License:Apache License

private void addPermSearchModal(Radio permRb) {
    final ModalWindow permsModalWindow;
    userformsearchfields.add(permsModalWindow = new ModalWindow("permsearchmodal"));
    final PermSearchModalPanel permSearchModalPanel = new PermSearchModalPanel(permsModalWindow.getContentId(),
            permsModalWindow, false);//from w  w w .j  a  v a 2s  . c  om
    permsModalWindow.setContent(permSearchModalPanel);
    permsModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            Permission permSelection = permSearchModalPanel.getSelection();
            if (permSelection != null) {
                searchData.setField1(permSelection.getObjName());
                searchData.setField2(permSelection.getOpName());
            }
            selectedRadioButton = PERMS;
            enablePermSearch();
            target.add(searchFields);
            target.add(radioGroup);
        }
    });
    permRb.add(new SecureIndicatingAjaxLink("permLinkLbl", GlobalIds.REVIEW_MGR, GlobalIds.FIND_PERMISSIONS) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            String msg = "clicked on perms search";
            msg += "permSelection: " + permission;
            String objectSearchVal = "";
            if (StringUtils.isNotEmpty(searchData.getField1())) {
                objectSearchVal = searchData.getField1();
            }
            permSearchModalPanel.setSearchVal(objectSearchVal);
            LOG.debug(msg);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            permsModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });
    permsModalWindow.setTitle("Permission Search Modal");
    permsModalWindow.setInitialWidth(650);
    permsModalWindow.setInitialHeight(450);
    permsModalWindow.setCookieName("perm-search-modal");
}

From source file:org.brixcms.plugin.prototype.ManagePrototypesPanel.java

License:Apache License

public ManagePrototypesPanel(String id, final IModel<Workspace> model) {
    super(id, model);
    setOutputMarkupId(true);//  www . jav a2s.c o  m

    IModel<List<Workspace>> prototypesModel = new LoadableDetachableModel<List<Workspace>>() {
        @Override
        protected List<Workspace> load() {
            List<Workspace> list = PrototypePlugin.get().getPrototypes();
            return getBrix().filterVisibleWorkspaces(list, Context.ADMINISTRATION);
        }
    };

    Form<Void> modalWindowForm = new Form<Void>("modalWindowForm");
    add(modalWindowForm);

    final ModalWindow modalWindow = new ModalWindow("modalWindow");
    modalWindow.setInitialWidth(64);
    modalWindow.setWidthUnit("em");
    modalWindow.setUseInitialHeight(false);
    modalWindow.setResizable(false);
    modalWindow.setTitle(new ResourceModel("selectItems"));
    modalWindowForm.add(modalWindow);

    add(new ListView<Workspace>("prototypes", prototypesModel) {
        @Override
        protected IModel<Workspace> getListItemModel(IModel<? extends List<Workspace>> listViewModel,
                int index) {
            return new WorkspaceModel(listViewModel.getObject().get(index));
        }

        @Override
        protected void populateItem(final ListItem<Workspace> item) {
            PrototypePlugin plugin = PrototypePlugin.get();
            final String name = plugin.getUserVisibleName(item.getModelObject(), false);

            item.add(new Label("label", name));
            item.add(new Link<Void>("browse") {
                @Override
                public void onClick() {
                    model.setObject(item.getModelObject());
                }
            });

            item.add(new AjaxLink<Void>("restoreItems") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    String prototypeId = item.getModelObject().getId();
                    String targetId = ManagePrototypesPanel.this.getModelObject().getId();
                    Panel panel = new RestoreItemsPanel(modalWindow.getContentId(), prototypeId, targetId);
                    modalWindow.setTitle(new ResourceModel("selectItems"));
                    modalWindow.setContent(panel);
                    modalWindow.show(target);
                }

                @Override
                public boolean isVisible() {
                    Workspace target = ManagePrototypesPanel.this.getModelObject();
                    Action action = new RestorePrototypeAction(Context.ADMINISTRATION, item.getModelObject(),
                            target);
                    return getBrix().getAuthorizationStrategy().isActionAuthorized(action);
                }
            });

            item.add(new Link<Void>("delete") {
                @Override
                public void onClick() {
                    Workspace prototype = item.getModelObject();
                    prototype.delete();
                }

                @Override
                public boolean isVisible() {
                    Action action = new DeletePrototypeAction(Context.ADMINISTRATION, item.getModelObject());
                    return getBrix().getAuthorizationStrategy().isActionAuthorized(action);
                }
            });
        }
    });

    Form<Object> form = new Form<Object>("form") {
        @Override
        public boolean isVisible() {
            Workspace current = ManagePrototypesPanel.this.getModelObject();
            Action action = new CreatePrototypeAction(Context.ADMINISTRATION, current);
            return getBrix().getAuthorizationStrategy().isActionAuthorized(action);
        }
    };

    TextField<String> prototypeName = new TextField<String>("prototypeName",
            new PropertyModel<String>(this, "prototypeName"));
    form.add(prototypeName);

    prototypeName.setRequired(true);
    prototypeName.add(new UniquePrototypeNameValidator());

    final FeedbackPanel feedback;

    add(feedback = new FeedbackPanel("feedback"));
    feedback.setOutputMarkupId(true);

    form.add(new AjaxButton("submit") {
        @Override
        public void onSubmit(AjaxRequestTarget target, Form<?> form) {
            String workspaceId = ManagePrototypesPanel.this.getModelObject().getId();
            CreatePrototypePanel panel = new CreatePrototypePanel(modalWindow.getContentId(), workspaceId,
                    ManagePrototypesPanel.this.prototypeName);
            modalWindow.setContent(panel);
            modalWindow.setTitle(new ResourceModel("selectItemsToCreate"));
            modalWindow.setWindowClosedCallback(new WindowClosedCallback() {
                public void onClose(AjaxRequestTarget target) {
                    target.addComponent(ManagePrototypesPanel.this);
                }
            });
            modalWindow.show(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    });

    add(form);
}

From source file:org.dcm4chee.web.war.folder.StudyListPage.java

License:LGPL

private Link<Object> getEditLink(final ModalWindow modalWindow, final AbstractEditableDicomModel model,
        TooltipBehaviour tooltip) {/*w  w w.  java 2s .c om*/

    final boolean tooOld = selected.tooOld(model);

    int[] winSize = WebCfgDelegate.getInstance().getWindowSize("dcmEdit");
    ModalWindowLink editLink = new ModalWindowLink("edit", modalWindow, winSize[0], winSize[1]) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (checkExists(model, target)) {
                if (tooOld) {
                    confirmEdit.confirm(target,
                            new StringResourceModel("folder.message.tooOld.edit", this, null), model);
                    confirmEdit.show(target);
                } else {
                    modalWindow.setContent(getEditDicomObjectPanel(model));
                    modalWindow.setTitle("");
                    modalWindow.show(target);
                    super.onClick(target);
                }
            }
        }

        @Override
        public boolean isVisible() {
            return model.getDataset() != null
                    && (!studyPermissionHelper.isUseStudyPermissions() || checkEditStudyPermission(model));
        }

        @Override
        public boolean isEnabled() {
            return StudyPermissionHelper.get().ignoreEditTimeLimit() || !tooOld;
        }
    };
    Image image = tooOld ? new Image("editImg", ImageManager.IMAGE_FOLDER_TIMELIMIT_EDIT)
            : new Image("editImg", ImageManager.IMAGE_COMMON_DICOM_EDIT);
    image.add(new ImageSizeBehaviour("vertical-align: middle;"));
    if (tooOld && !StudyPermissionHelper.get().ignoreEditTimeLimit())
        image.add(
                new AttributeModifier("title", true, new ResourceModel("folder.message.tooOld.edit.tooltip")));
    else if (tooltip != null)
        image.add(tooltip);
    editLink.add(image);
    return editLink;
}

From source file:org.dcm4chee.web.war.folder.StudyListPage.java

License:LGPL

private Link<Object> getFileDisplayLink(final ModalWindow modalWindow, final FileModel fileModel,
        TooltipBehaviour tooltip) {/*from w w  w .j  a va 2s . co m*/

    int[] winSize = WebCfgDelegate.getInstance().getWindowSize("dcmFileDisplay");
    final String fsID = fileModel.getFileObject().getFileSystem().getDirectoryPath();
    final String fileID = fileModel.getFileObject().getFilePath();
    ModalWindowLink displayLink = new ModalWindowLink("displayFile", modalWindow, winSize[0], winSize[1]) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            DicomInputStream dis = null;
            try {
                final File file = fsID.startsWith("tar:")
                        ? TarRetrieveDelegate.getInstance().retrieveFileFromTar(fsID, fileID)
                        : FileUtils.resolve(new File(fsID, fileID));
                dis = new DicomInputStream(file);
                final DicomObject obj = dis.readDicomObject();
                //modalWindow.setContent(new DicomObjectPanel("content", dis.readDicomObject(), true));
                modalWindow.setPageCreator(new ModalWindow.PageCreator() {
                    @Override
                    public Page createPage() {
                        return new DicomObjectPage(new DicomObjectPanel("content", obj, true));
                    }

                });
                modalWindow.setTitle(new ResourceModel("folder.dcmfileview.title"));
                modalWindow.show(target);
                super.onClick(target);
            } catch (Exception e) {
                log.error("Error requesting dicom object from file: ", e);
                msgWin.show(target, getString("folder.message.dcmFileError"));
            } finally {
                if (dis != null)
                    try {
                        dis.close();
                    } catch (IOException ignore) {
                    }
            }
        }
    };
    Image image = new Image("displayFileImg", ImageManager.IMAGE_FOLDER_DICOM_FILE);
    image.add(new ImageSizeBehaviour("vertical-align: middle;"));
    if (tooltip != null)
        image.add(tooltip);
    displayLink.add(image);
    displayLink.setVisible(fsID.startsWith("tar:") || FileUtils.resolve(new File(fsID, fileID)).exists());
    return displayLink;
}