001: /*
002: * File : $Source: /usr/local/cvs/opencms/src/org/opencms/workplace/list/CmsListItemDetails.java,v $
003: * Date : $Date: 2008-02-27 12:05:28 $
004: * Version: $Revision: 1.12 $
005: *
006: * This library is part of OpenCms -
007: * the Open Source Content Management System
008: *
009: * Copyright (c) 2002 - 2008 Alkacon Software GmbH (http://www.alkacon.com)
010: *
011: * This library is free software; you can redistribute it and/or
012: * modify it under the terms of the GNU Lesser General Public
013: * License as published by the Free Software Foundation; either
014: * version 2.1 of the License, or (at your option) any later version.
015: *
016: * This library is distributed in the hope that it will be useful,
017: * but WITHOUT ANY WARRANTY; without even the implied warranty of
018: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
019: * Lesser General Public License for more details.
020: *
021: * For further information about Alkacon Software GmbH, please see the
022: * company website: http://www.alkacon.com
023: *
024: * For further information about OpenCms, please see the
025: * project website: http://www.opencms.org
026: *
027: * You should have received a copy of the GNU Lesser General Public
028: * License along with this library; if not, write to the Free Software
029: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
030: */
031:
032: package org.opencms.workplace.list;
033:
034: import org.opencms.i18n.CmsMessageContainer;
035:
036: /**
037: * For adding detail information to the list items add an instance
038: * of this class to the list metadata and fill the data like an
039: * additional column.<p>
040: *
041: * For detail contents you may use HTML code.<p>
042: *
043: * @author Michael Moossen
044: *
045: * @version $Revision: 1.12 $
046: *
047: * @since 6.0.0
048: */
049: public class CmsListItemDetails extends CmsListColumnDefinition {
050:
051: /** Id of the first column to include. */
052: private String m_atColumn;
053:
054: /** Action for hidding the details. */
055: private I_CmsListAction m_hideAction;
056:
057: /** Action for showing the details. */
058: private I_CmsListAction m_showAction;
059:
060: /**
061: * Default constructor.<p>
062: *
063: * @param id the unique id
064: */
065: public CmsListItemDetails(String id) {
066:
067: super (id);
068: // set default actions
069: setAlign(CmsListColumnAlignEnum.ALIGN_LEFT);
070: m_hideAction = new CmsListIndependentAction(id);
071: m_hideAction.setIconPath(A_CmsListDialog.ICON_DETAILS_HIDE);
072: m_showAction = new CmsListIndependentAction(id);
073: m_showAction.setIconPath(A_CmsListDialog.ICON_DETAILS_SHOW);
074: }
075:
076: /**
077: * @see org.opencms.workplace.list.CmsListColumnDefinition#setWp(org.opencms.workplace.list.A_CmsListDialog)
078: */
079: public void setWp(A_CmsListDialog wp) {
080:
081: super .setWp(wp);
082: m_hideAction.setWp(wp);
083: m_showAction.setWp(wp);
084: }
085:
086: /**
087: * Returns the current active action.<p>
088: *
089: * @return the current active action
090: */
091: public I_CmsListAction getAction() {
092:
093: return isVisible() ? m_hideAction : m_showAction;
094: }
095:
096: /**
097: * Returns the id of the first column to include.<p>
098: *
099: * @return the id of the first column to include
100: */
101: public String getAtColumn() {
102:
103: return m_atColumn;
104: }
105:
106: /**
107: * Sets the id of the first column to include.<p>
108: *
109: * @param atColumn the id of the first column to set
110: */
111: public void setAtColumn(String atColumn) {
112:
113: m_atColumn = atColumn;
114: }
115:
116: /**
117: * Sets the hide details Action.<p>
118: *
119: * @param hideAction the hide details Action to set
120: */
121: public void setHideAction(I_CmsListAction hideAction) {
122:
123: m_hideAction = hideAction;
124: }
125:
126: /**
127: * Sets the help text of the hide action.<p>
128: *
129: * @param hideActionHelp the help text of the hide action
130: */
131: public void setHideActionHelpText(CmsMessageContainer hideActionHelp) {
132:
133: m_hideAction.setHelpText(hideActionHelp);
134: }
135:
136: /**
137: * Sets the name of the hide action.<p>
138: *
139: * @param hideActionName the name of the hide action
140: */
141: public void setHideActionName(CmsMessageContainer hideActionName) {
142:
143: m_hideAction.setName(hideActionName);
144: }
145:
146: /**
147: * Sets the id of the list.<p>
148: *
149: * @param listId the id of the list
150: */
151: public void setListId(String listId) {
152:
153: m_hideAction.setListId(listId);
154: m_showAction.setListId(listId);
155: }
156:
157: /**
158: * Sets the show details Action.<p>
159: *
160: * @param showAction the showdetails Action to set
161: */
162: public void setShowAction(I_CmsListAction showAction) {
163:
164: m_showAction = showAction;
165: }
166:
167: /**
168: * Sets the help text of the show action.<p>
169: *
170: * @param showActionHelp the help text of the show action
171: */
172: public void setShowActionHelpText(CmsMessageContainer showActionHelp) {
173:
174: m_showAction.setHelpText(showActionHelp);
175: }
176:
177: /**
178: * Sets the name of the show action.<p>
179: *
180: * @param showActionName the name of the show action
181: */
182: public void setShowActionName(CmsMessageContainer showActionName) {
183:
184: m_showAction.setName(showActionName);
185: }
186: }
|