/***************************************************************************
                            kde_KToggleAction.h -  description
                             -------------------
    begin                : Wed Feb  6 15:12:26 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Feb  6 15:12:26 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This library is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Library General Public License as       *
 *   published by the Free Software Foundation; either version 2 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 ***************************************************************************/

#ifndef KDE_KTOGGLEACTION
#define KDE_KTOGGLEACTION

#include <qtc/qtc_types.h>

#include <kdec/kde_types.h>

/**

  Checkbox like action.

  This action provides two states: checked or not.

 @short Checkbox like action.
 
*/

/** 
 Constructs a toggle action with text and potential keyboard
 accelerator but nothing else. Use this only if you really
 know what you are doing.

*/
kde_KToggleAction * kde_new_KToggleAction(qt_QString * text, kde_KShortcut* cut, qt_QObject * parent, char* name);

/** 

*/
kde_KToggleAction * kde_new_KToggleAction1(qt_QString * text, kde_KShortcut* cut, qt_QObject * receiver, char* slot, qt_QObject * parent, char* name);

/** 

*/
kde_KToggleAction * kde_new_KToggleAction2(qt_QString * text, qt_QIconSet* pix, kde_KShortcut* cut, qt_QObject * parent, char* name);

/** 

*/
kde_KToggleAction * kde_new_KToggleAction3(qt_QString * text, qt_QString * pix, kde_KShortcut* cut, qt_QObject * parent, char* name);

/** 

*/
kde_KToggleAction * kde_new_KToggleAction4(qt_QString * text, qt_QIconSet* pix, kde_KShortcut* cut, qt_QObject * receiver, char* slot, qt_QObject * parent, char* name);

/** 

*/
kde_KToggleAction * kde_new_KToggleAction5(qt_QString * text, qt_QString * pix, kde_KShortcut* cut, qt_QObject * receiver, char* slot, qt_QObject * parent, char* name);

/** 

*/
kde_KToggleAction * kde_new_KToggleAction6(qt_QObject * parent, char* name);

/** 
 Destructor
     
*/
void kde_del_KToggleAction( kde_KToggleAction* p );

/** 
  "Plug" or insert this action into a given widget.

  This will typically be a menu or a toolbar.  From this point
  on, you will never need to directly manipulate the item in the
  menu or toolbar.  You do all enabling/disabling/manipulation
  directly with your KToggleAction object.

*/
int kde_KToggleAction_plug(kde_KToggleAction* instPointer,qt_QWidget * arg1, int index);

/** 
  Returns the actual state of the action.
     
*/
int kde_KToggleAction_isChecked(kde_KToggleAction* instPointer);

/** 

*/
qt_QString * kde_KToggleAction_exclusiveGroup(kde_KToggleAction* instPointer);

/** 
 Defines which "exclusive group" this action is part of.
 In a given exclusive group, only one toggle action can be checked
 at a any moment. Checking an action unchecks the other actions
 of the group.
     
*/
void kde_KToggleAction_setExclusiveGroup(kde_KToggleAction* instPointer,qt_QString * name);

/** 
  Setss the state of the action.
     
*/
void kde_KToggleAction_setChecked(kde_KToggleAction* instPointer,int arg1);
void kde_KToggleAction_setChecked1(kde_KToggleAction* instPointer,int identifier, int checked);
void kde_KToggleAction_slotActivated(kde_KToggleAction* instPointer);

#endif
