package com.idega.core.localisation.presentation; import com.idega.idegaweb.IWBundle; import com.idega.idegaweb.IWMainApplication; import com.idega.presentation.IWContext; import com.idega.presentation.Layer; import com.idega.presentation.Span; import com.idega.presentation.text.Text; import com.idega.presentation.ui.DropdownMenu; import com.idega.presentation.ui.FieldSet; import com.idega.presentation.ui.Form; import com.idega.presentation.ui.Label; import com.idega.util.PresentationUtil; /** * Title: idega Framework * Description: * Copyright: Copyright (c) 2001 * Company: idega * @author <a href=mailto:"tryggvi@idega.is">Tryggvi Larusson</a> * @version 1.0 */ public class LocaleSwitcher extends com.idega.idegaweb.presentation.LocaleChanger { public final static String IW_BUNDLE_IDENTIFIER = "com.idega.core"; @Override public void make(IWContext iwc) { if (this.showLinks) { doLinkView(iwc); } else { doDeveloperView(iwc); } } private void doDeveloperView(IWContext iwc) { IWMainApplication iwma = iwc.getIWMainApplication(); IWBundle iwb = iwma.getBundle("com.idega.developer"); PresentationUtil.addStyleSheetToHeader(iwc, iwb.getVirtualPathWithFileNameString("style/developer.css")); Layer topLayer = new Layer(Layer.DIV); topLayer.setStyleClass("developer"); topLayer.setID("localeSwitcher"); add(topLayer); FieldSet fieldSet = new FieldSet("Locale Switcher"); topLayer.add(fieldSet); Form form = new Form(); fieldSet.add(form); DropdownMenu localesDrop = LocalePresentationUtil.getAvailableLocalesDropdown(iwma, com.idega.core.localisation.business.LocaleSwitcher.languageParameterString); localesDrop.setToSubmit(); if (!iwc.isParameterSet(com.idega.core.localisation.business.LocaleSwitcher.languageParameterString)) { localesDrop.setSelectedElement(iwc.getCurrentLocale().toString()); } else { localesDrop.setSelectedElement(iwc.getParameter(com.idega.core.localisation.business.LocaleSwitcher.languageParameterString)); } Layer formItem = new Layer(Layer.DIV); formItem.setStyleClass("formItem"); Label label = new Label("Select language", localesDrop); formItem.add(label); formItem.add(localesDrop); form.add(formItem); formItem = new Layer(Layer.DIV); formItem.setStyleClass("formItem"); label = new Label(); label.setLabel("Current Locale"); formItem.add(label); formItem.add(new Span(new Text(iwc.getCurrentLocale().getDisplayName() + " (" + iwc.getCurrentLocale().toString() + ")"))); form.add(formItem); } protected Text getText(String text){ return new Text(text); } @Override public String getBundleIdentifier() { return IW_BUNDLE_IDENTIFIER; } }