/***************************************************************************
                            KSelectAction.m -  description
                             -------------------
    begin                : Fri Mar  8 13:55:08 2002
    copyright            : (C) 2000-2002 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Fri Mar  8 13:55:08 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.                       *
 *                                                                         *
 ***************************************************************************/

#include <qtc/qt_QString.h>
#include <qtc/qt_QCString.h>
#include <kdec/kde_KSelectAction.h>
#include <kdec/kde_KShortcut.h>
#include <kdeobjc/KDESupport.h>
#include <kdeobjc/KSelectAction.h>
#include <kdeobjc/KShortcut.h>

#include <qtobjc/QKeySequence.h>

#include <qtobjc/QIconSet.h>
#include <qtobjc/QWidget.h>


@implementation  KSelectAction


- initWithText: (NSString *)text cut: (KShortcut*)cut parent: (QObject *)parent name: (NSString *)name
{
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction((qt_QString *) [text toQString: &_qstring_text], (kde_KShortcut*) [cut qt], (qt_QObject *) [parent qt], (char*) [name cString])];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text 
{
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction((qt_QString *) [text toQString: &_qstring_text], kde_new_KShortcut(), 0, 0)];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text cut: (KShortcut*)cut receiver: (QObject *)receiver slot: (NSString *)slot parent: (QObject *)parent name: (NSString *)name
{
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction1((qt_QString *) [text toQString: &_qstring_text], (kde_KShortcut*) [cut qt], (qt_QObject *) [receiver qt], (char*) [slot cString], (qt_QObject *) [parent qt], (char*) [name cString])];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text cut: (KShortcut*)cut receiver: (QObject *)receiver slot: (NSString *)slot parent: (QObject *)parent 
{
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction1((qt_QString *) [text toQString: &_qstring_text], (kde_KShortcut*) [cut qt], (qt_QObject *) [receiver qt], (char*) [slot cString], (qt_QObject *) [parent qt], 0)];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text pixmap: (QIconSet*)pix cut: (KShortcut*)cut parent: (QObject *)parent name: (NSString *)name
{
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction2((qt_QString *) [text toQString: &_qstring_text], (qt_QIconSet*) [pix qt], (kde_KShortcut*) [cut qt], (qt_QObject *) [parent qt], (char*) [name cString])];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text pixmap: (QIconSet*)pix
{
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction2((qt_QString *) [text toQString: &_qstring_text], (qt_QIconSet*) [pix qt], kde_new_KShortcut(), 0, 0)];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text pixmapFor: (NSString *)pix cut: (KShortcut*)cut parent: (QObject *)parent name: (NSString *)name
{
static qt_QString * _qstring_pix = 0L;
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction3((qt_QString *) [text toQString: &_qstring_text], (qt_QString *) [pix toQString: &_qstring_pix], (kde_KShortcut*) [cut qt], (qt_QObject *) [parent qt], (char*) [name cString])];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text pixmapFor: (NSString *)pix
{
static qt_QString * _qstring_pix = 0L;
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction3((qt_QString *) [text toQString: &_qstring_text], (qt_QString *) [pix toQString: &_qstring_pix], kde_new_KShortcut(), 0, 0)];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text pixmap: (QIconSet*)pix cut: (KShortcut*)cut receiver: (QObject *)receiver slot: (NSString *)slot parent: (QObject *)parent name: (NSString *)name
{
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction4((qt_QString *) [text toQString: &_qstring_text], (qt_QIconSet*) [pix qt], (kde_KShortcut*) [cut qt], (qt_QObject *) [receiver qt], (char*) [slot cString], (qt_QObject *) [parent qt], (char*) [name cString])];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text pixmap: (QIconSet*)pix cut: (KShortcut*)cut receiver: (QObject *)receiver slot: (NSString *)slot parent: (QObject *)parent
{
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction4((qt_QString *) [text toQString: &_qstring_text], (qt_QIconSet*) [pix qt], (kde_KShortcut*) [cut qt], (qt_QObject *) [receiver qt], (char*) [slot cString], (qt_QObject *) [parent qt], 0)];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text pixmapFor: (NSString *)pix cut: (KShortcut*)cut receiver: (QObject *)receiver slot: (NSString *)slot parent: (QObject *)parent name: (NSString *)name
{
static qt_QString * _qstring_pix = 0L;
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction5((qt_QString *) [text toQString: &_qstring_text], (qt_QString *) [pix toQString: &_qstring_pix], (kde_KShortcut*) [cut qt], (qt_QObject *) [receiver qt], (char*) [slot cString], (qt_QObject *) [parent qt], (char*) [name cString])];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithText: (NSString *)text pixmapFor: (NSString *)pix cut: (KShortcut*)cut receiver: (QObject *)receiver slot: (NSString *)slot parent: (QObject *)parent
{
static qt_QString * _qstring_pix = 0L;
static qt_QString * _qstring_text = 0L;
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction5((qt_QString *) [text toQString: &_qstring_text], (qt_QString *) [pix toQString: &_qstring_pix], (kde_KShortcut*) [cut qt], (qt_QObject *) [receiver qt], (char*) [slot cString], (qt_QObject *) [parent qt], 0)];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- initWithObject: (QObject *)parent name: (NSString *)name
{
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction6((qt_QObject *) [parent qt], (char*) [name cString])];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- init
{
	if ([self qt] == 0L) {
		[self setQt: kde_new_KSelectAction6(0, 0)];
		[self setAllocatedInObjcWorld: YES];
		[QtSupport setObject: self forQtKey: [self qt]];
	}
	[super init];
	return self;
}

- (void) dealloc
{
	if ([self qt] != 0L) {
		if ([self allocatedInObjcWorld] && [self parent] == nil) {
			kde_del_KSelectAction((kde_KSelectAction *)[self qt]);
		}
		[QtSupport removeQtKey: [self qt]];
		[self setQt: 0L];
	}
	[super dealloc];
}

- (int) plug: (QWidget *)widget index: (int)index
{
	return (int) kde_KSelectAction_plug((kde_KSelectAction *)[self qt], (qt_QWidget *) [widget qt], (int)index);
}

- (int) plug: (QWidget *)widget 
{
	return (int) kde_KSelectAction_plug((kde_KSelectAction *)[self qt], (qt_QWidget *) [widget qt], -1);
}

- (BOOL) isEditable
{
	return (BOOL) kde_KSelectAction_isEditable((kde_KSelectAction *)[self qt]);
}

- (NSArray *) items
{
static qt_QStringList * _qlist = 0L;
	_qlist = kde_KSelectAction_items((kde_KSelectAction *)[self qt]);
	return (NSArray *) [NSMutableArray arrayWithQStringList: _qlist];
}

- changeIntItem: (int)index text: (NSString *)text
{
static qt_QString * _qstring_text = 0L;
	kde_KSelectAction_changeItem((kde_KSelectAction *)[self qt], (int)index, (qt_QString *) [text toQString: &_qstring_text]);
	return self;
}

- (NSString *) currentText
{
static qt_QString * _qstring = 0L;
	_qstring = kde_KSelectAction_currentText((kde_KSelectAction *)[self qt]);
	return [NSString fromQString: _qstring];
}

- (int) currentItem
{
	return (int) kde_KSelectAction_currentItem((kde_KSelectAction *)[self qt]);
}

- (int) comboWidth
{
	return (int) kde_KSelectAction_comboWidth((kde_KSelectAction *)[self qt]);
}

- (QPopupMenu*) popupMenu
{
	return (QPopupMenu*) [QtSupport objectForQtKey: kde_KSelectAction_popupMenu((kde_KSelectAction *)[self qt]) withClass: [QPopupMenu class] allocatedInObjcWorld: YES];
}

- setCurrentItem: (int)index
{
	kde_KSelectAction_setCurrentItem((kde_KSelectAction *)[self qt], (int)index);
	return self;
}

- setItems: (NSArray *)lst
{
static qt_QStringList * _qlist_lst = 0L;
	kde_KSelectAction_setItems((kde_KSelectAction *)[self qt], (qt_QStringList*) [lst toQStringList: (void *)&_qlist_lst]);
	return self;
}

- clear
{
	kde_KSelectAction_clear((kde_KSelectAction *)[self qt]);
	return self;
}

- setEditable: (BOOL)arg1
{
	kde_KSelectAction_setEditable((kde_KSelectAction *)[self qt], (int)arg1);
	return self;
}

- setComboWidth: (int)width
{
	kde_KSelectAction_setComboWidth((kde_KSelectAction *)[self qt], (int)width);
	return self;
}

- changeIntItem: (int)identifier index: (int)index text: (NSString *)text
{
static qt_QString * _qstring_text = 0L;
	kde_KSelectAction_changeItem1((kde_KSelectAction *)[self qt], (int)identifier, (int)index, (qt_QString *) [text toQString: &_qstring_text]);
	return self;
}

//- setCurrentItem: (int)identifier index: (int)index
//{
//	kde_KSelectAction_setCurrentItem1((kde_KSelectAction *)[self qt], (int)identifier, (int)index);
//	return self;
//}

//- setComboWidth: (int)identifier width: (int)width
//{
//	kde_KSelectAction_setComboWidth1((kde_KSelectAction *)[self qt], (int)identifier, (int)width);
//	return self;
//}

//- setItems: (int)identifier lst: (NSArray *)lst
//{
//static qt_QStringList * _qlist_lst = 0L;
//	kde_KSelectAction_setItems1((kde_KSelectAction *)[self qt], (int)identifier, (qt_QStringList*) [lst toQStringList: (void *)&_qlist_lst]);
//	return self;
//}

//- clear: (int)identifier
//{
//	kde_KSelectAction_clear1((kde_KSelectAction *)[self qt], (int)identifier);
//	return self;
//}

- slotActivatedWithId: (int)identifier
{
	kde_KSelectAction_slotActivated((kde_KSelectAction *)[self qt], (int)identifier);
	return self;
}

- slotActivated: (NSString *)text
{
static qt_QString * _qstring_text = 0L;
	kde_KSelectAction_slotActivated1((kde_KSelectAction *)[self qt], (qt_QString *) [text toQString: &_qstring_text]);
	return self;
}

- slotActivated
{
	kde_KSelectAction_slotActivated2((kde_KSelectAction *)[self qt]);
	return self;
}

@end
