gt: 		Text header = new Text(name, true, false, false);
context: /*
   * $Id: IBAddModuleWindow.java,v 1.41.2.3 2007/01/12 19:32:23 idegaweb Exp $
   *
   * Copyright (C) 2001 Idega hf. All Rights Reserved.
   *
   * This software is the proprietary information of Idega hf.
   * Use is subject to license terms.
   *
   */
  package com.idega.builder.presentation;
  
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.Iterator;
  import java.util.List;
  import java.util.Locale;
  import java.util.Map;
  import com.idega.builder.business.BuilderConstants;
  import com.idega.builder.business.BuilderLogic;
  import com.idega.builder.business.ModuleComparator;
  import com.idega.core.component.data.ICObject;
  import com.idega.core.localisation.business.ICLocaleBusiness;
  import com.idega.core.localisation.data.ICLocale;
  import com.idega.data.EntityFinder;
  import com.idega.data.GenericEntity;
  import com.idega.exception.IWBundleDoesNotExist;
  import com.idega.idegaweb.IWBundle;
  import com.idega.idegaweb.IWConstants;
  import com.idega.idegaweb.IWMainApplication;
  import com.idega.idegaweb.IWResourceBundle;
  import com.idega.presentation.IWContext;
  import com.idega.presentation.Image;
  import com.idega.presentation.Table;
  import com.idega.presentation.text.Link;
  import com.idega.presentation.text.Text;
  import com.idega.presentation.ui.Window;
  
  /**
   * @author <a href="mailto:tryggvi@idega.is">Tryggvi Larusson</a>
   * @version 1.0
   */
  
  public class IBAddModuleWindow extends IBAdminWindow {
  	private static final String IC_OBJECT_INSTANCE_ID_PARAMETER = BuilderLogic.IC_OBJECT_INSTANCE_ID_PARAMETER;
  	private static final String IB_PARENT_PARAMETER = BuilderLogic.IB_PARENT_PARAMETER;
  	private static final String IB_PAGE_PARAMETER = BuilderConstants.IB_PAGE_PARAMETER;
  	private static final String IB_LABEL_PARAMETER = BuilderLogic.IB_LABEL_PARAMETER;
  	private static final String IW_BUNDLE_IDENTIFIER = BuilderLogic.IW_BUNDLE_IDENTIFIER;
  	private static final String INTERNAL_CONTROL_PARAMETER = "ib_adminwindow_par";
  
  	public static final String ELEMENT_LIST = "element_list";
  	public static final String BLOCK_LIST = "block_list";
  	final static String STYLE_NAME = "add_module";
  	
  	private Image elementImage;
  	private Image blockImage;
  	
  	private Map bundles;
  	private List failedBundles;
  	
  	//Image button;
  
  	public IBAddModuleWindow() {
  		setWidth(400);
  		setHeight(600);
  		setResizable(true);
  		setScrollbar(true);
  		this.failedBundles = new ArrayList();
  		this.bundles = new HashMap();
  	}
  
  	/**
  	 *
  	 */
  	public void main(IWContext iwc) throws Exception {
  		IWResourceBundle iwrb = iwc.getIWMainApplication().getBundle(BuilderLogic.IW_BUNDLE_IDENTIFIER).getResourceBundle(iwc);
  		super.addTitle(iwrb.getLocalizedString("ib_addmodule_window", "Add a new Module"), IWConstants.BUILDER_FONT_STYLE_TITLE);
  		setStyles();
  		//button = iwc.getApplication().getBundle(BuilderLogic.IW_BUNDLE_IDENTIFIER).getImage("shared/properties/button.gif");
  
  		/*String action = iwc.getParameter(IB_CONTROL_PARAMETER);
  		if (action.equals(ACTION_ADD)) {*/
  			addNewObject(iwc);
  		//}
  	}
  
  	/**
  	 *
  	 */
  	public void addNewObject(IWContext iwc) throws Exception {
  		String ib_parent_id = (String) iwc.getSessionAttribute(IB_PARENT_PARAMETER);
  		if (ib_parent_id == null) {
  			ib_parent_id = iwc.getParameter(IB_PARENT_PARAMETER);
  			if(ib_parent_id!=null) {
  				iwc.setSessionAttribute(IB_PARENT_PARAMETER, ib_parent_id);
  			}
  		}
  		
  		String ib_page_id = (String) iwc.getSessionAttribute(IB_PAGE_PARAMETER);
  		if (ib_page_id == null) {
  			ib_page_id = iwc.getParameter(IB_PAGE_PARAMETER);
  			if(ib_page_id!=null) {
  				iwc.setSessionAttribute(IB_PAGE_PARAMETER, ib_page_id);
  			}
  		}
  		
  		String label = (String) iwc.getSessionAttribute(IB_LABEL_PARAMETER);
  		if (label == null) {
  			label = iwc.getParameter(IB_LABEL_PARAMETER);
  			if( label!=null ) {
  				iwc.setSessionAttribute(IB_LABEL_PARAMETER, label);
  			}
  			else {
  				System.err.println("IBAddModuleWindow: Label is null  "+ IB_LABEL_PARAMETER);
  			}
  		}
  	
  		if (hasSubmitted(iwc)) {
  			Window window = this;
  			window.setParentToReload();
  			String ic_object_id = iwc.getParameter(IC_OBJECT_INSTANCE_ID_PARAMETER);
  			BuilderLogic.getInstance().addNewModule(ib_page_id, ib_parent_id, Integer.parseInt(ic_object_id), label);
  			iwc.removeSessionAttribute(IB_PARENT_PARAMETER);
  			iwc.removeSessionAttribute(IB_PAGE_PARAMETER);
  			iwc.removeSessionAttribute(IB_LABEL_PARAMETER);
  			window.close();
  		}
  		else {
  			/*Form form = getForm();
  			add(form);
  			Table table = new Table(1, 2);
  			table.setBorder(0);
  			form.add(getComponentList(iwc));*/
  			add(getComponentList(iwc));
  	
  			/*if (ib_parent_id == null) {
  				System.out.println("ib_parent_id==null");
  			}
  			else {
  				form.add(new Parameter(IB_PARENT_PARAMETER, ib_parent_id));
  			}
  			if (ib_page_id == null) {
  				System.out.println("ib_page_id==null");
  			}
  			else {
  				form.add(new Parameter(IB_PAGE_PARAMETER, ib_page_id));
  			}
  			if (control == null) {
  				System.out.println("control==null");
  			}
  			else {
  				form.add(new Parameter(IB_CONTROL_PARAMETER, control));
  			}
  			if (label != null) {
  				form.add(new Parameter(IB_LABEL_PARAMETER, label));
  			}*/
  		}
  	}
  
  	/**
  	 *
  	 */
  	private boolean hasSubmitted(IWContext iwc) {
  		return (iwc.isParameterSet(INTERNAL_CONTROL_PARAMETER));
  	}
  
  	/**
  	 *
  	 */
  	private Table getComponentList(IWContext iwc) {
  		IWResourceBundle iwrb = getBundle(iwc).getResourceBundle(iwc);
  		Table theReturn = new Table();
  		theReturn.setWidth("100%");
  		theReturn.setHeight("100%");
  		theReturn.setCellpadding(0);
  		theReturn.setCellspacing(1);
  		theReturn.setWidth(1, "50%");
  		theReturn.setWidth(2, "50%");
  		theReturn.setColor(1, 1, "#ECECEC");
  		theReturn.setColor(2, 1, "#ECECEC");
  
  		ICObject staticICO = (ICObject) GenericEntity.getStaticInstance(ICObject.class);
  		try {
  			List elements = null;
  			List blocks = null;
  
  			try {
  				elements = (List) iwc.getApplicationAttribute(ELEMENT_LIST + "_" + iwc.getCurrentLocaleId());
  				blocks = (List) iwc.getApplicationAttribute(BLOCK_LIST + "_" + iwc.getCurrentLocaleId());
  			}
  			catch (Exception e) {
  				elements = null;
  				blocks = null;
  			}
  
  			if (elements == null && blocks == null) {
  				elements = EntityFinder.findAllByColumnOrdered(staticICO, com.idega.core.component.data.ICObjectBMPBean.getObjectTypeColumnName(), com.idega.core.component.data.ICObjectBMPBean.COMPONENT_TYPE_ELEMENT, "OBJECT_NAME");
  				blocks = EntityFinder.findAllByColumnOrdered(staticICO, com.idega.core.component.data.ICObjectBMPBean.getObjectTypeColumnName(), com.idega.core.component.data.ICObjectBMPBean.COMPONENT_TYPE_BLOCK, "OBJECT_NAME");
  
  				ModuleComparator comparator = new ModuleComparator(iwc);
  				if (elements != null) {
  					java.util.Collections.sort(elements,comparator );
  				}
  				if (blocks != null) {
  					java.util.Collections.sort(blocks,comparator);
  				}
  				iwc.setApplicationAttribute(ELEMENT_LIST + "_" + iwc.getCurrentLocaleId(), elements);
  				iwc.setApplicationAttribute(BLOCK_LIST + "_" + iwc.getCurrentLocaleId(), blocks);
  				
  				this.failedBundles = comparator.getFailedBundles();
  				this.bundles = comparator.getBundles();
  				
  			}
  
  			String sElements = iwrb.getLocalizedString("elements_header", "Elements");
  			String sBlocks = iwrb.getLocalizedString("blocks_header", "Blocks");
  
  			addSubComponentList(sElements, elements, theReturn, 1, 1, iwc);
  			addSubComponentList(sBlocks, blocks, theReturn, 1, 2, iwc);
  
  			theReturn.setColumnVerticalAlignment(1, "top");
  			theReturn.setColumnVerticalAlignment(2, "top");
  		}
  		catch (Exception e) {
  			e.printStackTrace();
  		}
  		return (theReturn);
  	}
  
  	/**
  	 *
  	 */
  	private void addSubComponentList(String name, List list, Table table, int ypos, int xpos, IWContext iwc) {
  		//TODO set the final size
  		Table subComponentTable = new Table();
  		
  		table.add(subComponentTable, xpos, ypos);
  		
  		IWMainApplication iwma = iwc.getIWMainApplication();
  		Locale currentLocale = iwc.getCurrentLocale();
  
  