package com.idega.block.image.presentation; import com.idega.block.image.business.SimpleImage; import com.idega.block.media.servlet.MediaServlet; import com.idega.idegaweb.IWBundle; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObject; import com.idega.presentation.PresentationObjectContainer; import com.idega.presentation.Table; import com.idega.presentation.text.Link; import com.idega.presentation.text.Text; import com.idega.presentation.ui.IFrame; /** * Title: * Description: * Copyright: Copyright (c) 2000-2001 idega.is All Rights Reserved * Company: idega *@author <a href="mailto:aron@idega.is">Aron Birkir</a> * @version 1.1 */ public class SimpleChooser extends PresentationObjectContainer implements SimpleImage{ private String sessImageParameter = "image_id"; private final static String IW_BUNDLE_IDENTIFIER="com.idega.block.image"; private boolean includeLinks; private boolean usesOld = false; public void setToIncludeLinks(boolean includeLinks){ this.includeLinks = includeLinks; } public String getBundleIdentifier(){ return IW_BUNDLE_IDENTIFIER ; } public static String getSaveImageFunctionName(){ return "saveImageId()"; } public static String getSaveImageFunction(String imagename){ StringBuffer function = new StringBuffer(""); function.append(" var iImageId = -1 ; \n"); function.append("function "+getSaveImageFunctionName()+" {\n \t"); function.append("top.window.opener.setImageId(iImageId,'"+imagename+"') ; \n \t"); function.append("top.window.close(); \n }"); return function.toString(); } public void main(IWContext iwc){ IWBundle iwb = getBundle(iwc); checkParameterName(iwc); if(iwc.getIWMainApplication().getSettings().getProperty(MediaServlet.USES_OLD_TABLES)!=null) { this.usesOld = true; } getParentPage().getAssociatedScript().addFunction("callbim",getSaveImageFunction(this.sessImageParameter) ); //add("block.media"); Table Frame = new Table(); Frame.setCellpadding(0); Frame.setCellspacing(0); IFrame ifList = new IFrame(target1,SimpleLister.class); IFrame ifViewer = new IFrame(target2, SimpleViewer.class); /* if(usesOld){ ifList = new IFrame(target1,com.idega.jmodule.image.presentation.SimpleLister.class); ifViewer = new IFrame(target2, com.idega.jmodule.image.presentation.SimpleViewer.class); } */ ifList.setWidth(210); ifList.setHeight(410); ifViewer.setWidth(500); ifViewer.setHeight(410); ifList.setBorder(1); ifViewer.setBorder(1); Frame.add(ifList,1,1); Frame.add(ifViewer,2,1); Frame.setBorderColor("#00FF00"); if(this.includeLinks) { Frame.add(getLinkTable(iwb),2,2); } add(Frame); } public void setSessionSaveParameterName(String prmName){ this.sessImageParameter = prmName; } public String getSessionSaveParameterName(){ return this.sessImageParameter; } public void checkParameterName(IWContext iwc){ if(iwc.getParameter(sessImageParameterName)!=null){ this.sessImageParameter = iwc.getParameter(sessImageParameterName); //add(sessImageParameter); iwc.setSessionAttribute(sessImageParameterName,this.sessImageParameter); } else if(iwc.getSessionAttribute(sessImageParameterName)!=null) { this.sessImageParameter = (String) iwc.getSessionAttribute(sessImageParameterName); } } public PresentationObject getLinkTable(IWBundle iwb){ Table T = new Table(); Text add = new Text("add"); add.setFontStyle("text-decoration: none"); add.setFontColor("#FFFFFF"); add.setBold(); Link btnAdd = getNewImageLink(add); Text del = new Text("delete"); del.setFontStyle("text-decoration: none"); del.setFontColor("#FFFFFF"); del.setBold(); Link btnDelete = getDeleteLink(del); Text save = new Text("use"); save.setFontStyle("text-decoration: none"); save.setFontColor("#FFFFFF"); save.setBold(); Link btnSave = getSaveLink(save); Text reload = new Text("reload"); reload.setFontStyle("text-decoration: none"); reload.setFontColor("#FFFFFF"); reload.setBold(); Link btnReload = getReloadLink(reload); T.add(btnAdd,1,1); T.add(btnSave,2,1); T.add(btnDelete,3,1); T.add(btnReload,4,1); return T; } public Link getNewImageLink(PresentationObject mo){ //Class C = usesOld ? com.idega.jmodule.image.presentation.SimpleUploaderWindow.class :SimpleUploaderWindow.class; Class C = SimpleUploaderWindow.class; Link L = new Link(mo,C); L.addParameter("action","upload"); L.addParameter("submit","new"); L.setTarget(target2); return L; } public Link getSaveLink(PresentationObject mo){ //Class C = usesOld ? com.idega.jmodule.image.presentation.SimpleViewer.class :SimpleViewer.class; Class C = SimpleViewer.class; Link L = new Link(mo,C); L.addParameter(prmAction,actSave); L.setOnClick(getSaveImageFunctionName()); L.setTarget(target2); return L; } public Link getDeleteLink(PresentationObject mo){ //Class C = usesOld ? com.idega.jmodule.image.presentation.SimpleViewer.class :SimpleViewer.class; Class C = SimpleViewer.class; Link L = new Link(mo,C); L.addParameter(prmAction,actDelete); L.setOnClick("top.setTimeout('top.frames.lister.location.reload()',150)"); L.setTarget(target2); return L; } public Link getReloadLink(PresentationObject mo){ //Class C = usesOld ? com.idega.jmodule.image.presentation.SimpleLister.class :SimpleLister.class; Class C = SimpleLister.class; Link L = new Link(mo,C); L.setTarget(target1); return L; } }