001 // GraphLab Project: http://graphlab.sharif.edu 002 // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology 003 // Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/ 004 package graphlab.ui.components.gpropertyeditor.editors.inplace; 005 006 import graphlab.platform.lang.BoundedInteger; 007 import graphlab.ui.components.gpropertyeditor.EditingFinishedListener; 008 import graphlab.ui.components.gpropertyeditor.GBasicCellEditor; 009 import graphlab.ui.components.utils.LabledSlider; 010 011 import javax.swing.*; 012 import java.awt.*; 013 014 /** 015 * @author azin azadi 016 */ 017 public class BoundedIntegerEditor implements GBasicCellEditor<BoundedInteger> { 018 private EditingFinishedListener listener; 019 private JSlider s; 020 private BoundedInteger value; 021 022 public void setEditingFinishedListener(EditingFinishedListener listener) { 023 this.listener = listener; 024 } 025 026 public Component getEditorComponent(BoundedInteger value) { 027 this.value = value; 028 LabledSlider labledSlider = new LabledSlider(value); 029 s = labledSlider.getSlider(); 030 return labledSlider; 031 } 032 033 034 public void cancelEditing() { 035 listener.editingFinished(getEditorValue()); 036 } 037 038 public Object getEditorValue() { 039 value.setValue(s.getValue()); 040 return value; 041 } 042 }