/* * This library is part of OpenCms - * the Open Source Content Management System * * Copyright (c) Alkacon Software GmbH (http://www.alkacon.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * For further information about Alkacon Software GmbH, please see the * company website: http://www.alkacon.com * * For further information about OpenCms, please see the * project website: http://www.opencms.org * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.opencms.workplace.list; import org.opencms.i18n.CmsMessageContainer; /** * For adding detail information to the list items add an instance * of this class to the list metadata and fill the data like an * additional column.<p> * * For detail contents you may use HTML code.<p> * * @since 6.0.0 */ public class CmsListItemDetails extends CmsListColumnDefinition { /** Id of the first column to include. */ private String m_atColumn; /** Action for hidding the details. */ private I_CmsListAction m_hideAction; /** Action for showing the details. */ private I_CmsListAction m_showAction; /** * Default constructor.<p> * * @param id the unique id */ public CmsListItemDetails(String id) { super(id); // set default actions setAlign(CmsListColumnAlignEnum.ALIGN_LEFT); m_hideAction = new CmsListIndependentAction(id); m_hideAction.setIconPath(A_CmsListDialog.ICON_DETAILS_HIDE); m_showAction = new CmsListIndependentAction(id); m_showAction.setIconPath(A_CmsListDialog.ICON_DETAILS_SHOW); } /** * @see org.opencms.workplace.list.CmsListColumnDefinition#setWp(org.opencms.workplace.list.A_CmsListDialog) */ public void setWp(A_CmsListDialog wp) { super.setWp(wp); m_hideAction.setWp(wp); m_showAction.setWp(wp); } /** * Returns the current active action.<p> * * @return the current active action */ public I_CmsListAction getAction() { return isVisible() ? m_hideAction : m_showAction; } /** * Returns the id of the first column to include.<p> * * @return the id of the first column to include */ public String getAtColumn() { return m_atColumn; } /** * Sets the id of the first column to include.<p> * * @param atColumn the id of the first column to set */ public void setAtColumn(String atColumn) { m_atColumn = atColumn; } /** * Sets the hide details Action.<p> * * @param hideAction the hide details Action to set */ public void setHideAction(I_CmsListAction hideAction) { m_hideAction = hideAction; } /** * Sets the help text of the hide action.<p> * * @param hideActionHelp the help text of the hide action */ public void setHideActionHelpText(CmsMessageContainer hideActionHelp) { m_hideAction.setHelpText(hideActionHelp); } /** * Sets the name of the hide action.<p> * * @param hideActionName the name of the hide action */ public void setHideActionName(CmsMessageContainer hideActionName) { m_hideAction.setName(hideActionName); } /** * Sets the id of the list.<p> * * @param listId the id of the list */ public void setListId(String listId) { m_hideAction.setListId(listId); m_showAction.setListId(listId); } /** * Sets the show details Action.<p> * * @param showAction the showdetails Action to set */ public void setShowAction(I_CmsListAction showAction) { m_showAction = showAction; } /** * Sets the help text of the show action.<p> * * @param showActionHelp the help text of the show action */ public void setShowActionHelpText(CmsMessageContainer showActionHelp) { m_showAction.setHelpText(showActionHelp); } /** * Sets the name of the show action.<p> * * @param showActionName the name of the show action */ public void setShowActionName(CmsMessageContainer showActionName) { m_showAction.setName(showActionName); } }