/* * Created on Jul 7, 2003 * */ package com.idega.block.dataquery.presentation; import com.idega.core.file.data.ICFile; import com.idega.idegaweb.IWBundle; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.Block; import com.idega.presentation.IWContext; import com.idega.presentation.Image; import com.idega.presentation.PresentationObject; import com.idega.presentation.Table; import com.idega.presentation.ui.TreeViewerSelection; /** * The <code> QuerySelector </code> is used to choose * a query from a folder and fill in dynamic query fields if a * dynamic template is chosen * <p>Copyright: Copyright (c) 2003</p> * <p>Company: idega Software</p> * @author aron * @version 1.0 */ public class QuerySelector extends Block { private IWBundle iwb = null; private IWResourceBundle iwrb = null; private static final String IWBUNDLE_IDENTIFIER = "com.idega.block.dataquery"; private boolean hasPermission = false; private Image templateIcon = null; private Image staticIcon = null; private Image userIcon = null; private ICFile templateFolder = null; private ICFile staticFolder = null; private ICFile userFolder = null; private ParameterEngine pengine =null; private int queryID = -1; private static String PRM_QUERY_ID = "dqs_qid"; public QuerySelector(){ this.pengine = new ParameterEngine("qrysel"); } /* (non-Javadoc) * @see com.idega.presentation.PresentationObject#getBundleIdentifier() */ public String getBundleIdentifier() { return IWBUNDLE_IDENTIFIER; } /* (non-Javadoc) * @see com.idega.presentation.PresentationObject#main(com.idega.presentation.IWContext) */ public void main(IWContext iwc) throws Exception { this.iwb = getBundle(iwc); this.iwrb = getResourceBundle(iwc); this.hasPermission = hasEditPermission(); initiate(iwc); presentate(iwc); } public void initiate(IWContext iwc)throws Exception{ this.pengine.parse(iwc); } public PresentationObject presentFolderQueries(ICFile folder){ TreeViewerSelection tree = new TreeViewerSelection(); tree.setSelectionKey(PRM_QUERY_ID); tree.setSelectedNode(this.queryID); if(folder!=null){ tree.setRootNode(folder); tree.setDefaultOpenLevel(1); tree.setSelectionKey("fo_"+folder.getPrimaryKey().toString()); } return tree; } public PresentationObject presentFolders(IWContext iwc){ Table T = new Table(); int col = 1; if(this.userFolder!=null){ if(this.userIcon!=null) { T.add(this.userIcon,col,1); } T.add(this.iwrb.getLocalizedString("qsel.my_queries","My queries"),col,1); T.add(presentFolderQueries(this.userFolder),col,2); col++; } if(this.templateFolder!=null){ if(this.templateIcon!=null) { T.add(this.templateIcon,col,1); } T.add(this.iwrb.getLocalizedString("qsel.template_queries","Template queries"),col,1); T.add(presentFolderQueries(this.templateFolder),col,2); col++; } if(this.staticFolder!=null){ if(this.staticIcon!=null) { T.add(this.templateIcon,col,1); } T.add(this.iwrb.getLocalizedString("qsel.static_queries","Static queries"),col,1); T.add(presentFolderQueries(this.templateFolder),col,2); col++; } return T; } public void presentate(IWContext iwc){ add(presentFolders(iwc)); } public void proccess(IWContext iwc){ } /** * @return */ public ICFile getStaticFolder() { return this.staticFolder; } /** * @return */ public Image getStaticIcon() { return this.staticIcon; } /** * @return */ public ICFile getTemplateFolder() { return this.templateFolder; } /** * @return */ public Image getTemplateIcon() { return this.templateIcon; } /** * @return */ public ICFile getUserFolder() { return this.userFolder; } /** * @return */ public Image getUserIcon() { return this.userIcon; } /** * @param file */ public void setStaticFolder(ICFile file) { this.staticFolder = file; } /** * @param image */ public void setStaticIcon(Image image) { this.staticIcon = image; } /** * @param file */ public void setTemplateFolder(ICFile file) { this.templateFolder = file; } /** * @param image */ public void setTemplateIcon(Image image) { this.templateIcon = image; } /** * @param file */ public void setUserFolder(ICFile file) { this.userFolder = file; } /** * @param image */ public void setUserIcon(Image image) { this.userIcon = image; } }