001: /*
002: * Copyright 2005 Joe Walker
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016: package jsx3.chart;
017:
018: import org.directwebremoting.ScriptBuffer;
019: import org.directwebremoting.proxy.ScriptProxy;
020: import org.directwebremoting.proxy.io.Context;
021:
022: /**
023: * An area chart.
024:
025: Series: AreaSeries only.
026: Axes: Y axis must be value axis, X axis can be value or category axis
027:
028: The 'type' my be 'overlay', 'stacked', or 'stacked100', which correspond to the basic Excel-like
029: variations of an area chart.
030: * @author Joe Walker [joe at getahead dot org]
031: * @author DRAPGEN - Dwr Reverse Ajax Proxy GENerator
032: */
033: public class AreaChart extends jsx3.chart.CartesianChart {
034: /**
035: * All reverse ajax proxies need context to work from
036: * @param scriptProxy The place we are writing scripts to
037: * @param context The script that got us to where we are now
038: */
039: public AreaChart(Context context, String extension,
040: ScriptProxy scriptProxy) {
041: super (context, extension, scriptProxy);
042: }
043:
044: /**
045: * The instance initializer.
046: * @param name the GI name of the instance
047: * @param left left position (in pixels) of the chart relative to its parent container
048: * @param top top position (in pixels) of the chart relative to its parent container
049: * @param width width (in pixels) of the chart
050: * @param height height (in pixels) of the chart
051: */
052: public AreaChart(String name, int left, int top, int width,
053: int height) {
054: super ((Context) null, (String) null, (ScriptProxy) null);
055: ScriptBuffer script = new ScriptBuffer();
056: script.appendCall("new AreaChart", name, left, top, width,
057: height);
058: setInitScript(script);
059: }
060:
061: /**
062: *
063: */
064: public static final String TYPE_OVERLAY = "overlay";
065:
066: /**
067: *
068: */
069: public static final String TYPE_STACKED = "stacked";
070:
071: /**
072: *
073: */
074: public static final String TYPE_STACKED100 = "stacked100";
075:
076: /**
077: * Returns the type field, corresponds to the variation of area chart, one of {'overlay','stacked','stacked100'}.
078: * @param callback type
079: */
080: @SuppressWarnings("unchecked")
081: public void getType(
082: org.directwebremoting.proxy.Callback<String> callback) {
083: ScriptBuffer script = new ScriptBuffer();
084: String callbackPrefix = "";
085:
086: if (callback != null) {
087: callbackPrefix = "var reply = ";
088: }
089:
090: script
091: .appendCall(callbackPrefix + getContextPath()
092: + "getType");
093:
094: if (callback != null) {
095: String key = org.directwebremoting.extend.CallbackHelper
096: .saveCallback(callback, String.class);
097: script
098: .appendCall("__System.activateCallback", key,
099: "reply");
100: }
101:
102: getScriptProxy().addScript(script);
103: }
104:
105: /**
106: * Sets the type field.
107: * @param type the new value for type, one of {'overlay','stacked','stacked100'}
108: */
109: public void setType(String type) {
110: ScriptBuffer script = new ScriptBuffer();
111: script.appendCall(getContextPath() + "setType", type);
112: getScriptProxy().addScript(script);
113: }
114:
115: }
|