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

import org.kde.qt.Qt;
import org.kde.qt.QColor;
import org.kde.qt.QRect;
import org.kde.qt.QFont;
import org.kde.qt.QtSupport;
import org.kde.qt.QPoint;
import org.kde.qt.QWidget;

/**

 Access the KDE global configuration.
		@author David Faure <faure@kde.org>
 
		@short    Access the KDE global configuration.

*/
public class KGlobalSettings implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected KGlobalSettings(Class dummy){}

	/**	
		 This enum describes the return type for insertTearOffHandle() whether to insert
		 a handle or not. Applications who independently want to use handles in their popup menus
		 should test for Application level before calling the appropriate function in KPopupMenu.
				@short    This enum describes the return type for insertTearOffHandle() whether to insert  a handle or not.
	*/
	public static final int Disable = 0;
	public static final int ApplicationLevel = 1;
	public static final int Enable = 2;

	/**	
		 This enum describes the completion mode used for by the KCompletion class.
		 See <a href="http://developer.kde.org/documentation/standards/kde/style/keys/completion.html">
		 the styleguide</a>.
				@short    This enum describes the completion mode used for by the KCompletion class.
	*/
	public static final int CompletionNone = 1;
	public static final int CompletionAuto = 2;
	public static final int CompletionMan = 3;
	public static final int CompletionShell = 4;
	public static final int CompletionPopup = 5;
	public static final int CompletionPopupAuto = 6;

	public KGlobalSettings() {
		newKGlobalSettings();
	}
	private native void newKGlobalSettings();
	/**	
		 Returns a threshold in pixels for drag & drop operations.
		 As long as the mouse movement has not exceeded this number
		 of pixels in either X or Y direction no drag operation may
		 be started. This prevents spurious drags when the user intended
		 to click on something but moved the mouse a bit while doing so.
			 For this to work you must save the position of the mouse (oldPos)
		 in the QWidget.mousePressEvent().
		 When the position of the mouse (newPos)
		 in a QWidget.mouseMoveEvent() exceeds this threshold
		 you may start a drag
		 which should originate from oldPos.
			 Example code:
		 <pre>
		 void KColorCells.mousePressEvent( QMouseEvent e )
		 {
		    mOldPos = e.pos();
		 }
			 void KColorCells.mouseMoveEvent( QMouseEvent e )
		 {
		    if( !(e.state() && LeftButton)) return;
			    int delay = KGlobalSettings.dndEventDelay();
		    QPoint newPos = e.pos();
		    if(newPos.x() > mOldPos.x()+delay || newPos.x() < mOldPos.x()-delay ||
		       newPos.y() > mOldPos.y()+delay || newPos.y() < mOldPos.y()-delay)
		    {
		       // Drag color object
		       int cell = posToCell(mOldPos); // Find color at mOldPos
		       if ((cell != -1) && colors[cell].isValid())
		       {
		          KColorDrag d = KColorDrag.makeDrag( colors[cell], this);
		          d.dragCopy();
		       }
		    }
		 }
		 </pre>
				@return the threshold for drag & drop in pixels
     
		@short    Returns a threshold in pixels for drag & drop operations.
	*/
	public static native int dndEventDelay();
	/**	
		 Returns whether KDE runs in single (default) or double click
		 mode.
		 see http://developer.kde.org/documentation/standards/kde/style/mouse/index.html
				@return true if single click mode, or false if double click mode.

		@short    Returns whether KDE runs in single (default) or double click  mode.
	*/
	public static native boolean singleClick();
	/**	
		 Returns whether tear-off handles are inserted in KPopupMenus.
				@return whether tear-off handles are inserted in KPopupMenus.

		@short    Returns whether tear-off handles are inserted in KPopupMenus.
	*/
	public static native int insertTearOffHandle();
	/**	
		 Checks whether the cursor changes over icons.
				@return the KDE setting for "change cursor over icon"
     
		@short    Checks whether the cursor changes over icons.
	*/
	public static native boolean changeCursorOverIcon();
	/**	
		 Checks whether to show feedback when in item (specifically an
		 icon) is activated.
				@return whether to show some feedback when an item is activated.
     
		@short    Checks whether to show feedback when in item (specifically an  icon) is activated.
	*/
	public static native boolean visualActivate();
	/**	
		 Returns the speed of the visual activation feedback.
				@return the speed of the visual activation feedback, between
         0 for minimum and 100 for maximum speed
     
		@short    Returns the speed of the visual activation feedback.
	*/
	public static native int visualActivateSpeed();
	/**	
		 Returns the KDE setting for the auto-select option.
				@return the auto-select delay or -1 if auto-select is disabled.
     
		@short    Returns the KDE setting for the auto-select option.
	*/
	public static native int autoSelectDelay();
	/**	
		 Returns the KDE setting for the shortcut key to open
		 context menus.
				@return the key that pops up context menus.
     
		@short    Returns the KDE setting for the shortcut key to open  context menus.
	*/
	public static native int contextMenuKey();
	/**	
		 Returns the KDE setting for context menus.
				@return whether context menus should be shown on button press
 or button release (click).
     
		@short    Returns the KDE setting for context menus.
	*/
	public static native boolean showContextMenusOnPress();
	/**	
		 Returns the preferred completion mode setting.
				@return Completion.  Default is <code>CompletionPopup.</code>
     
		@short    Returns the preferred completion mode setting.
	*/
	public static native int completionMode();
	/**	
		 This returns the current mouse settings.
		 On Windows, settings are retrieved from the system.
				@return the current mouse settings
     
		@short    This returns the current mouse settings.
	*/
	// KGlobalSettings::KMouseSettings& mouseSettings(); >>>> NOT CONVERTED
	/**	
		 The path to the desktop directory of the current user.
				@return the user's desktop directory
     
		@short    The path to the desktop directory of the current user.
	*/
	public static native String desktopPath();
	/**	
		 The path to the autostart directory of the current user.
				@return the path of the autostart directory
     
		@short    The path to the autostart directory of the current user.
	*/
	public static native String autostartPath();
	/**	
		 DEPRECATED (starting from kde-3.4).
		 This isn't where the trash contents is, anymore.
		 Use KIO.trash() to trash files, "trash:/" to list the trash contents.
		     		@short    DEPRECATED (starting from kde-3.
	*/
	public static native String trashPath();
	/**	
		 The path where documents are stored of the current user.
				@return the path of the document directory
     
		@short    The path where documents are stored of the current user.
	*/
	public static native String documentPath();
	/**	
		 The default color to use when highlighting toolbar buttons.
				@return the toolbar highlight color
     
		@short    The default color to use when highlighting toolbar buttons.
	*/
	public static native QColor toolBarHighlightColor();
	/**	
		 The default color to use for inactive titles.
				@return the inactive title color
     
		@short    The default color to use for inactive titles.
	*/
	public static native QColor inactiveTitleColor();
	/**	
		 The default color to use for inactive texts.
				@return the inactive text color
     
		@short    The default color to use for inactive texts.
	*/
	public static native QColor inactiveTextColor();
	/**	
		 The default color to use for active titles.
				@return the active title color
     
		@short    The default color to use for active titles.
	*/
	public static native QColor activeTitleColor();
	/**	
		 The default color to use for active texts.
				@return the active text color
     
		@short    The default color to use for active texts.
	*/
	public static native QColor activeTextColor();
	/**	
		 Returns the contrast for borders.
				@return the contrast (between 0 for minimum and 10 for maximum
         contrast)
     
		@short    Returns the contrast for borders.
	*/
	public static native int contrast();
	/**	
		 Returns the button background color
				@return the button background color

		@short    Returns the button background color
	*/
	public static native QColor buttonBackground();
	/**	
		 Returns the button text color
				@return the button text color

		@short    Returns the button text color
	*/
	public static native QColor buttonTextColor();
	/**	
		 Returns the default base (background) color.
				@return the default base (background) color

		@short    Returns the default base (background) color.
		@see org.kde.qt.QColorGroup#base
	*/
	public static native QColor baseColor();
	/**	
		 Returns the default text color.
				@return the default text color

		@short    Returns the default text color.
		@see org.kde.qt.QColorGroup#text
	*/
	public static native QColor textColor();
	/**	
		 Returns the default link color.
				@return the default link color
     
		@short    Returns the default link color.
	*/
	public static native QColor linkColor();
	/**	
		 Returns the default color for visited links.
				@return the default color for visited links
     
		@short    Returns the default color for visited links.
	*/
	public static native QColor visitedLinkColor();
	/**	
		 Returns the default color for highlighted text.
				@return the default color for highlighted text

		@short    Returns the default color for highlighted text.
		@see org.kde.qt.QColorGroup#hightlightedText
	*/
	public static native QColor highlightedTextColor();
	/**	
		 Returns the default color for text highlights.
				@return the default color for text highlights

		@short    Returns the default color for text highlights.
		@see org.kde.qt.QColorGroup#hightlight
	*/
	public static native QColor highlightColor();
	/**	
		 Returns the alternate background color used by KListView with
		 KListViewItem. Any other list that uses alternating background
		 colors should use this too, to obey to the user's preferences. Returns
		 an invalid color if the user doesn't want alternating backgrounds.
				@return the alternate background color

		@short    Returns the alternate background color used by KListView with  KListViewItem.
		@see #calculateAlternateBackgroundColor
	*/
	public static native QColor alternateBackgroundColor();
	/**	
		 Calculates a color based on <code>base</code> to be used as alternating
		 color for e.g. listviews.
			@param base the base for the calculation
				@return the calculated color

		@short    Calculates a color based on <code>base</code> to be used as alternating  color for e.
		@see #alternateBackgroundColor
	*/
	public static native QColor calculateAlternateBackgroundColor(QColor base);
	/**	
		 Returns if the sorted column in a KListView shall be drawn with a
		 shaded background color.
				@return true if the sorted column shall be shaded

		@short    Returns if the sorted column in a KListView shall be drawn with a  shaded background color.
	*/
	public static native boolean shadeSortColumn();
	/**	
		 Returns the default general font.
				@return the default general font.
     
		@short    Returns the default general font.
	*/
	public static native QFont generalFont();
	/**	
		 Returns the default fixed font.
				@return the default fixed font.
     
		@short    Returns the default fixed font.
	*/
	public static native QFont fixedFont();
	/**	
		 Returns the default toolbar font.
				@return the default toolbar font.
     
		@short    Returns the default toolbar font.
	*/
	public static native QFont toolBarFont();
	/**	
		 Returns the default menu font.
				@return the default menu font.
     
		@short    Returns the default menu font.
	*/
	public static native QFont menuFont();
	/**	
		 Returns the default window title font.
				@return the default window title font.
     
		@short    Returns the default window title font.
	*/
	public static native QFont windowTitleFont();
	/**	
		 Returns the default taskbar font.
				@return the default taskbar font.
     
		@short    Returns the default taskbar font.
	*/
	public static native QFont taskbarFont();
	/**	
		 Returns a font of approx. 48 pt. capable of showing <code>text.</code>
			@param text the text to test
				@return the font that is capable to show the text with 48 pt

		@short    Returns a font of approx.
	*/
	public static native QFont largeFont(String text);
	public static native QFont largeFont();
	/**	
		 Returns if the user specified multihead. In case the display
		 has multiple screens, the return value of this function specifies
		 if the user wants KDE to run on all of them or just on the primary
		 On Windows, settings are retrieved from the system.
				@return true if the user chose multi head
     
		@short    Returns if the user specified multihead.
	*/
	public static native boolean isMultiHead();
	/**	
		 Typically, QScrollView derived classes can be scrolled fast by
		 holding down the Ctrl-button during wheel-scrolling.
		 But QTextEdit and derived classes perform zooming instead of fast
		 scrolling.
			 This value determines whether the user wants to zoom or scroll fast
		 with Ctrl-wheelscroll.
				@return true if the user wishes to zoom with the mouse wheel,
         false for scrolling

		@short    Typically, QScrollView derived classes can be scrolled fast by  holding down the Ctrl-button during wheel-scrolling.
	*/
	public static native boolean wheelMouseZooms();
	/**	
		 This function returns the desktop geometry for an application's splash
		 screen.  It takes into account the user's display settings (number of
		 screens, Xinerama, etc), and the user's preferences (if KDE should be
		 Xinerama aware).
				@return the geometry to use for the desktop.  Note that it might not
         start at (0,0).

		@short    This function returns the desktop geometry for an application's splash  screen.
	*/
	public static native QRect splashScreenDesktopGeometry();
	/**	
		 This function returns the desktop geometry for an application that needs
		 to set the geometry of a widget on the screen manually.  It takes into
		 account the user's display settings (number of screens, Xinerama, etc),
		 and the user's preferences (if KDE should be Xinerama aware).
			 Note that this can break in multi-head (not Xinerama) mode because this
		 point could be on multiple screens.  Use with care.
			@param point a reference point for the widget, for instance one that the
		              widget should be adjacent or on top of.
				@return the geometry to use for the desktop.  Note that it might not
         start at (0,0).

		@short    This function returns the desktop geometry for an application that needs  to set the geometry of a widget on the screen manually.
	*/
	public static native QRect desktopGeometry(QPoint point);
	/**	
		 This function returns the desktop geometry for an application that needs
		 to set the geometry of a widget on the screen manually.  It takes into
		 account the user's display settings (number of screens, Xinerama, etc),
		 and the user's preferences (if KDE should be Xinerama aware).
			@param w the widget in question.  This is used to determine which screen
		          to use in Xinerama or multi-head mode.
				@return the geometry to use for the desktop.  Note that it might not
         start at (0,0).

		@short    This function returns the desktop geometry for an application that needs  to set the geometry of a widget on the screen manually.
	*/
	public static native QRect desktopGeometry(QWidget w);
	/**	
		 This function determines if the user wishes to see icons on the
		 push buttons.
				@return Returns true if user wants to show icons.

		@short    This function determines if the user wishes to see icons on the  push buttons.
	*/
	public static native boolean showIconsOnPushButtons();
	/**	
		 This function determines if the user wishes to see previews
		 for the selected url
				@return Returns true if user wants to show previews.

		@short    This function determines if the user wishes to see previews  for the selected url
	*/
	public static native boolean showFilePreview(KURL arg1);
	/**	
		 Whether the user wishes to use opaque resizing. Primarily
		 intended for QSplitter.setOpaqueResize()
				@return Returns true if user wants to use opaque resizing.

		@short    Whether the user wishes to use opaque resizing.
	*/
	public static native boolean opaqueResize();
	/**	
		 The layout scheme to use for dialog buttons
				@return Returns the number of the scheme to use.

		@short    The layout scheme to use for dialog buttons 
		@see KDialogBase#setButtonStyle
	*/
	public static native int buttonLayout();
	/** 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();
}
