KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > riotfamily > forms > element > ColorPicker


1 /* ***** BEGIN LICENSE BLOCK *****
2  * Version: MPL 1.1
3  * The contents of this file are subject to the Mozilla Public License Version
4  * 1.1 (the "License"); you may not use this file except in compliance with
5  * the License. You may obtain a copy of the License at
6  * http://www.mozilla.org/MPL/
7  *
8  * Software distributed under the License is distributed on an "AS IS" basis,
9  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
10  * for the specific language governing rights and limitations under the
11  * License.
12  *
13  * The Original Code is Riot.
14  *
15  * The Initial Developer of the Original Code is
16  * Neteye GmbH.
17  * Portions created by the Initial Developer are Copyright (C) 2007
18  * the Initial Developer. All Rights Reserved.
19  *
20  * Contributor(s):
21  * Felix Gnass [fgnass at neteye dot de]
22  *
23  * ***** END LICENSE BLOCK ***** */

24 package org.riotfamily.forms.element;
25
26 import java.io.PrintWriter JavaDoc;
27
28 import org.riotfamily.common.markup.Html;
29 import org.riotfamily.common.markup.TagWriter;
30 import org.riotfamily.forms.DHTMLElement;
31 import org.riotfamily.forms.resource.FormResource;
32 import org.riotfamily.forms.resource.ResourceElement;
33 import org.riotfamily.forms.resource.Resources;
34 import org.riotfamily.forms.resource.ScriptResource;
35 import org.riotfamily.forms.resource.StylesheetResource;
36
37 /**
38  * @author Felix Gnass [fgnass at neteye dot de]
39  * @since 6.5
40  */

41 public class ColorPicker extends AbstractTextElement
42         implements ResourceElement, DHTMLElement {
43
44     public ColorPicker() {
45         setStyleClass("text color-input");
46         setMaxLength(new Integer JavaDoc(6));
47     }
48
49     public void renderInternal(PrintWriter JavaDoc writer) {
50         super.renderInternal(writer);
51         TagWriter tag = new TagWriter(writer);
52         tag.start(Html.BUTTON).attribute(Html.COMMON_ID, getId() + "-swatch")
53                 .attribute(Html.COMMON_CLASS, "color-swatch");
54     }
55     public FormResource getResource() {
56         return new ScriptResource(
57             "form/colorPicker/colorPicker.js", "Control.ColorPicker",
58             new FormResource[] {
59                 Resources.SCRIPTACULOUS_SLIDER,
60                 Resources.SCRIPTACULOUS_DRAG_DROP,
61                 new ScriptResource("form/colorPicker/yahoo.color.js", "YAHOO.util.Color"),
62                 new StylesheetResource("form/colorPicker/colorPicker.css")
63             }
64         );
65     }
66
67     public String JavaDoc getInitScript() {
68         StringBuffer JavaDoc sb = new StringBuffer JavaDoc("new Control.ColorPicker('")
69                 .append(getId()).append("', {IMAGE_BASE: '")
70                 .append(getFormContext().getContextPath())
71                 .append(getFormContext().getResourcePath())
72                 .append("form/colorPicker/").append("', swatch: '")
73                 .append(getId() + "-swatch").append("'});");
74
75         return sb.toString();
76     }
77
78 }
79
Popular Tags