//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QRect;
import org.kde.qt.QMetaObject;
import org.kde.qt.QtSupport;
import org.kde.qt.QPaintEvent;
import org.kde.qt.QPainter;
import org.kde.qt.QMouseEvent;
import org.kde.qt.QWidget;
import org.kde.qt.QWheelEvent;
import org.kde.qt.QWidget;

/**

 KXYSelector is the base class for other widgets which
 provides the ability to choose from a two-dimensional
 range of values. The currently chosen value is indicated
 by a cross. An example is the KHSSelector which
 allows to choose from a range of colors, and which is
 used in KColorDialog.
 A custom drawing routine for the widget surface has
 to be provided by the subclass.
  See {@link KXYSelectorSignals} for signals emitted by KXYSelector
		@short    KXYSelector is the base class for other widgets which  provides the ability to choose from a two-dimensional  range of values.

*/
public class KXYSelector extends QWidget  {
	protected KXYSelector(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Constructs a two-dimensional selector widget which
		 has a value range of [0..100] in both directions.
		   		@short    Constructs a two-dimensional selector widget which  has a value range of [0.
	*/
	public KXYSelector(QWidget parent, String name) {
		super((Class) null);
		newKXYSelector(parent,name);
	}
	private native void newKXYSelector(QWidget parent, String name);
	public KXYSelector(QWidget parent) {
		super((Class) null);
		newKXYSelector(parent);
	}
	private native void newKXYSelector(QWidget parent);
	public KXYSelector() {
		super((Class) null);
		newKXYSelector();
	}
	private native void newKXYSelector();
	/**	
		 Sets the current values in horizontal and
		 vertical direction.
			@param xPos the horizontal value
			@param yPos the veritcal value
		   		@short    Sets the current values in horizontal and  vertical direction.
	*/
	public native void setValues(int xPos, int yPos);
	/**	
		 Sets the current horizontal value
			@param xPos the horizontal value
		   		@short    Sets the current horizontal value
	*/
	public native void setXValue(int xPos);
	/**	
		 Sets the current vertical value
			@param yPos the veritcal value
		   		@short    Sets the current vertical value
	*/
	public native void setYValue(int yPos);
	/**	
		 Sets the range of possible values.
		   		@short    Sets the range of possible values.
	*/
	public native void setRange(int minX, int minY, int maxX, int maxY);
	/**	
				@return the current value in horizontal direction.
   
		@short
	*/
	public native int xValue();
	/**	
				@return the current value in vertical direction.
   
		@short
	*/
	public native int yValue();
	/**	
				@return the rectangle on which subclasses should draw.
   
		@short
	*/
	public native QRect contentsRect();
	/**	
		 Override this function to draw the contents of the widget.
		 The default implementation does nothing.
			 Draw within contentsRect() only.
		   		@short    Override this function to draw the contents of the widget.
	*/
	protected native void drawContents(QPainter arg1);
	/**	
		 Override this function to draw the cursor which
		 indicates the currently selected value pair.
		   		@short    Override this function to draw the cursor which  indicates the currently selected value pair.
	*/
	protected native void drawCursor(QPainter p, int xp, int yp);
	protected native void paintEvent(QPaintEvent e);
	protected native void mousePressEvent(QMouseEvent e);
	protected native void mouseMoveEvent(QMouseEvent e);
	protected native void wheelEvent(QWheelEvent arg1);
	/**	
		 Converts a pixel position to its corresponding values.
		   		@short    Converts a pixel position to its corresponding values.
	*/
	protected native void valuesFromPosition(int x, int y, int[] xVal, int[] yVal);
	/** Deletes the wrapped C++ instance */
	protected native void finalize() throws InternalError;
	/** Delete the wrapped C++ instance ahead of finalize() */
	public native void dispose();
	/** Has the wrapped C++ instance been deleted? */
	public native boolean isDisposed();
}
