/* * � Copyright IBM Corp. 2010, 2011 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.ibm.xsp.extlib.component.dojo.form; import javax.faces.context.FacesContext; import javax.faces.el.ValueBinding; /** * Dojo slider base class. * * @author Philippe Riand */ public abstract class UIDojoSliderBase extends UIDojoFormWidgetBase { public static final String COMPONENT_TYPE = "com.ibm.xsp.extlib.dojo.form.SliderBase"; //$NON-NLS-1$ // Horizontal & Vertical Sliders private Boolean showButtons; private Integer minimum; private Integer maximum; private Integer discreteValues; private Integer pageIncrement; private Boolean clickSelect; private Double slideDuration; public UIDojoSliderBase() { } public boolean isShowButtons() { if (null != this.showButtons) { return this.showButtons; } ValueBinding _vb = getValueBinding("showButtons"); //$NON-NLS-1$ if (_vb != null) { Boolean val = (Boolean) _vb.getValue(FacesContext.getCurrentInstance()); if(val!=null) { return val; } } return true; } public void setShowButtons(boolean showButtons) { this.showButtons = showButtons; } public int getMinimum() { if (null != this.minimum) { return this.minimum; } ValueBinding _vb = getValueBinding("minimum"); //$NON-NLS-1$ if (_vb != null) { Number val = (Number) _vb.getValue(FacesContext.getCurrentInstance()); if(val!=null) { return val.intValue(); } } return 0; } public void setMinimum(int minimum) { this.minimum = minimum; } public int getMaximum() { if (null != this.maximum) { return this.maximum; } ValueBinding _vb = getValueBinding("maximum"); //$NON-NLS-1$ if (_vb != null) { Number val = (Number) _vb.getValue(FacesContext.getCurrentInstance()); if(val!=null) { return val.intValue(); } } return 0; } public void setMaximum(int maximum) { this.maximum = maximum; } public int getDiscreteValues() { if (null != this.discreteValues) { return this.discreteValues; } ValueBinding _vb = getValueBinding("discreteValues"); //$NON-NLS-1$ if (_vb != null) { Number val = (Number) _vb.getValue(FacesContext.getCurrentInstance()); if(val!=null) { return val.intValue(); } } return 0; } public void setDiscreteValues(int discreteValues) { this.discreteValues = discreteValues; } public int getPageIncrement() { if (null != this.pageIncrement) { return this.pageIncrement; } ValueBinding _vb = getValueBinding("pageIncrement"); //$NON-NLS-1$ if (_vb != null) { Number val = (Number) _vb.getValue(FacesContext.getCurrentInstance()); if(val!=null) { return val.intValue(); } } return 0; } public void setPageIncrement(int pageIncrement) { this.pageIncrement = pageIncrement; } public boolean isClickSelect() { if (null != this.clickSelect) { return this.clickSelect; } ValueBinding _vb = getValueBinding("clickSelect"); //$NON-NLS-1$ if (_vb != null) { Boolean val = (Boolean) _vb.getValue(FacesContext.getCurrentInstance()); if(val!=null) { return val; } } return true; } public void setClickSelect(boolean clickSelect) { this.clickSelect = clickSelect; } public double getSlideDuration() { if (null != this.slideDuration) { return this.slideDuration; } ValueBinding _vb = getValueBinding("slideDuration"); //$NON-NLS-1$ if (_vb != null) { Number val = (Number) _vb.getValue(FacesContext.getCurrentInstance()); if(val!=null) { return val.doubleValue(); } } return Double.NaN; } public void setSlideDuration(double slideDuration) { this.slideDuration = slideDuration; } // State management @Override public void restoreState(FacesContext _context, Object _state) { Object _values[] = (Object[]) _state; super.restoreState(_context, _values[0]); this.showButtons = (Boolean)_values[1]; this.minimum = (Integer)_values[2]; this.maximum = (Integer)_values[3]; this.discreteValues = (Integer)_values[4]; this.pageIncrement = (Integer)_values[5]; this.clickSelect = (Boolean)_values[6]; this.slideDuration = (Double)_values[7]; } @Override public Object saveState(FacesContext _context) { Object _values[] = new Object[8]; _values[0] = super.saveState(_context); _values[1] = showButtons; _values[2] = minimum; _values[3] = maximum; _values[4] = discreteValues; _values[5] = pageIncrement; _values[6] = clickSelect; _values[7] = slideDuration; return _values; } }