001: /*
002: * File : $Source: /usr/local/cvs/opencms/src/org/opencms/widgets/I_CmsWidgetDialog.java,v $
003: * Date : $Date: 2008-02-27 12:05:44 $
004: * Version: $Revision: 1.14 $
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.widgets;
033:
034: import org.opencms.i18n.CmsMessages;
035:
036: import java.util.Locale;
037: import java.util.Set;
038:
039: /**
040: * Describes a widget enabled dialog.<p>
041: *
042: * @author Alexander Kandzior
043: * @author Andreas Zahner
044: *
045: * @version $Revision: 1.14 $
046: *
047: * @since 6.0.0
048: */
049: public interface I_CmsWidgetDialog {
050:
051: /**
052: * Generates a button for the widget dialog.<p>
053: *
054: * @param href the href link for the button, if none is given the button will be disabled
055: * @param target the href link target for the button, if none is given the target will be same window
056: * @param image the image name for the button, skin path will be automattically added as prefix
057: * @param label the label for the text of the button
058: * @param type 0: image only (default), 1: image and text, 2: text only
059: *
060: * @return a button for the OpenCms workplace
061: *
062: * @see org.opencms.workplace.CmsWorkplace#button(String, String, String, String, int)
063: */
064: String button(String href, String target, String image,
065: String label, int type);
066:
067: /**
068: * Returns the html for a button bar.<p>
069: *
070: * @param segment the HTML segment (START / END)
071: *
072: * @return a button bar html start / end segment
073: */
074: String buttonBar(int segment);
075:
076: /**
077: * Generates a horizontal button bar separator line with maximum width.<p>
078: *
079: * @return a horizontal button bar separator line
080: */
081: String buttonBarHorizontalLine();
082:
083: /**
084: * Generates a button bar separator.<p>
085: *
086: * @param leftPixel the amount of pixel left to the separator
087: * @param rightPixel the amount of pixel right to the separator
088: *
089: * @return a button bar separator
090: */
091: String buttonBarSeparator(int leftPixel, int rightPixel);
092:
093: /**
094: * Returns the html for an invisible spacer between button bar contents like buttons, labels, etc.<p>
095: *
096: * @param width the width of the invisible spacer
097: * @return the html for the invisible spacer
098: *
099: * @see org.opencms.workplace.CmsWorkplace#buttonBarSpacer(int)
100: */
101: String buttonBarSpacer(int width);
102:
103: /**
104: * Generates a button bar starter tab.<p>
105: *
106: * @param leftPixel the amount of pixel left to the starter
107: * @param rightPixel the amount of pixel right to the starter
108: *
109: * @return a button bar starter tab
110: */
111: String buttonBarStartTab(int leftPixel, int rightPixel);
112:
113: /**
114: * Builds an invisible horiziontal spacer with the specified width.<p>
115: *
116: * @param width the width of the spacer in pixels
117: * @return an invisible horiziontal spacer with the specified width
118: *
119: * @see org.opencms.workplace.CmsDialog#dialogHorizontalSpacer(int)
120: */
121: String dialogHorizontalSpacer(int width);
122:
123: /**
124: * Returns the style setting to use when generating buttons for this widget dialog.<p>
125: *
126: * @return the style setting to use when generating buttons for this widget dialog
127: *
128: * @see org.opencms.db.CmsUserSettings#getEditorButtonStyle()
129: */
130: int getButtonStyle();
131:
132: /**
133: * Returns a set of help messages ids that are already included on the widget dialog.<p>
134: *
135: * This is used to prevent the occurence of multiple html <code>div</code> id's with the same
136: * value when generating the help texts. For valid html, each id can be used only once.<p>
137: *
138: * @return a set of help messages ids that are already included on the widget dialog
139: */
140: Set getHelpMessageIds();
141:
142: /**
143: * Returns the current users locale setting.<p>
144: *
145: * @return the current users locale setting
146: *
147: * @see org.opencms.workplace.CmsWorkplace#getLocale()
148: * @see org.opencms.file.CmsRequestContext#getLocale()
149: */
150: Locale getLocale();
151:
152: /**
153: * Returns a messages object used to render localized keys for the widget dialog.<p>
154: *
155: * @return a messages object used to render localized keys for the widget dialog
156: */
157: CmsMessages getMessages();
158:
159: /**
160: * Returns the "user-agent" of the current request, or <code>null</code> in case no
161: * request is available.<p>
162: *
163: * @return the "user-agent" of the current request
164: */
165: String getUserAgent();
166:
167: /**
168: * Tests if we are working with the new administration dialog style.<p>
169: *
170: * This param is not intended for external use.<p>
171: *
172: * @return <code>true</code> if using the new style
173: */
174: boolean useNewStyle();
175: }
|