- Added marker icon next to multilingual fields in property sheets i.e. title and description

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6198 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gavin Cornwell
2007-07-09 14:44:08 +00:00
parent 1aee1b369e
commit d533004036
10 changed files with 310 additions and 22 deletions

View File

@@ -0,0 +1,61 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.bean.generator;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.component.UIOutput;
import javax.faces.component.UISelectOne;
import javax.faces.context.FacesContext;
import org.alfresco.web.ui.repo.RepoConstants;
import org.alfresco.web.ui.repo.component.property.PropertySheetItem;
import org.alfresco.web.ui.repo.component.property.UIPropertySheet;
/**
* Generates a multilingual text area component.
*
* @author gavinc
*/
public class MultilingualTextAreaGenerator extends TextAreaGenerator
{
@Override
public UIComponent generateAndAdd(FacesContext context, UIPropertySheet propertySheet,
PropertySheetItem item)
{
UIComponent component = super.generateAndAdd(context, propertySheet, item);
if ((component instanceof UIInput) && (component instanceof UISelectOne) == false)
{
component.setRendererType(RepoConstants.ALFRESCO_FACES_MLTEXTAREA_RENDERER);
}
else if ((component instanceof UIOutput))
{
component.setRendererType(RepoConstants.ALFRESCO_FACES_MLTEXT_RENDERER);
}
return component;
}
}

View File

@@ -0,0 +1,55 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.bean.generator;
import javax.faces.component.UIComponent;
import javax.faces.component.UISelectOne;
import javax.faces.context.FacesContext;
import org.alfresco.web.ui.repo.RepoConstants;
import org.alfresco.web.ui.repo.component.property.PropertySheetItem;
import org.alfresco.web.ui.repo.component.property.UIPropertySheet;
/**
* Generates a multilingual text field component.
*
* @author gavinc
*/
public class MultilingualTextFieldGenerator extends TextFieldGenerator
{
@Override
public UIComponent generateAndAdd(FacesContext context, UIPropertySheet propertySheet,
PropertySheetItem item)
{
UIComponent component = super.generateAndAdd(context, propertySheet, item);
if ((component instanceof UISelectOne) == false)
{
component.setRendererType(RepoConstants.ALFRESCO_FACES_MLTEXT_RENDERER);
}
return component;
}
}

View File

@@ -49,9 +49,12 @@ public final class RepoConstants
public static final String ALFRESCO_FACES_XMLDATE_CONVERTER = "org.alfresco.faces.XMLDateConverter";
public static final String ALFRESCO_FACES_MULTIVALUE_CONVERTER = "org.alfresco.faces.MultiValueConverter";
public static final String ALFRESCO_FACES_BOOLEAN_CONVERTER = "org.alfresco.faces.BooleanLabelConverter";
public static final String ALFRESCO_FACES_MLTEXT_RENDERER = "org.alfresco.faces.MultilingualText";
public static final String ALFRESCO_FACES_MLTEXTAREA_RENDERER = "org.alfresco.faces.MultilingualTextArea";
public static final String GENERATOR_LABEL = "LabelGenerator";
public static final String GENERATOR_TEXT_FIELD = "TextFieldGenerator";
public static final String GENERATOR_MLTEXT_FIELD = "MultilingualTextFieldGenerator";
public static final String GENERATOR_TEXT_AREA = "TextAreaGenerator";
public static final String GENERATOR_CHECKBOX = "CheckboxGenerator";
public static final String GENERATOR_DATE_PICKER = "DatePickerGenerator";

View File

@@ -154,6 +154,10 @@ public class UIProperty extends PropertySheetItem
{
componentGeneratorName = RepoConstants.GENERATOR_TEXT_FIELD;
}
else if (typeName.equals(DataTypeDefinition.MLTEXT))
{
componentGeneratorName = RepoConstants.GENERATOR_MLTEXT_FIELD;
}
else if (typeName.equals(DataTypeDefinition.BOOLEAN))
{
componentGeneratorName = RepoConstants.GENERATOR_CHECKBOX;

View File

@@ -0,0 +1,56 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.ui.repo.renderer;
import java.io.IOException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.apache.myfaces.renderkit.html.HtmlTextareaRenderer;
/**
* Renders a multilingual text area.
* <p>
* Renders the default output followed by an icon
* to represent multilingual properties.
* </p>
*
* @author gavinc
*/
public class MultilingualTextAreaRenderer extends HtmlTextareaRenderer
{
@Override
public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
{
super.encodeEnd(facesContext, component);
ResponseWriter out = facesContext.getResponseWriter();
out.write("<img src='");
out.write(facesContext.getExternalContext().getRequestContextPath());
out.write("/images/icons/multilingual_marker.gif' style='margin-left: 6px; _vertical-align: -2px;' />");
}
}

View File

@@ -0,0 +1,56 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.ui.repo.renderer;
import java.io.IOException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.apache.myfaces.renderkit.html.HtmlTextRenderer;
/**
* Renders a multilingual text field.
* <p>
* Renders the default output followed by an icon
* to represent multilingual properties.
* </p>
*
* @author gavinc
*/
public class MultilingualTextRenderer extends HtmlTextRenderer
{
@Override
public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
{
super.encodeEnd(facesContext, component);
ResponseWriter out = facesContext.getResponseWriter();
out.write("<img src='");
out.write(facesContext.getExternalContext().getRequestContextPath());
out.write("/images/icons/multilingual_marker.gif' style='margin-left: 6px; vertical-align: -4px; _vertical-align: -2px;' />");
}
}