Source Code (Use browser search to find items of interest.)
Class Index
kikbd'KConfigComboObject (./kdebase/kikbd/kconfobjs.h:197)
class KConfigComboObject: public KConfigObject {
Q_OBJECT
protected:
QStrList list, *labels;
QString *pstring;
int *pindex;
unsigned num;
short type;
/** KConfigObject reimplemented write data method
*/
virtual void readObject(KObjectConfig*);
/** KConfigObject reimplemented write data method
*/
virtual void writeObject(KObjectConfig*);
virtual void setWidget(QWidget*);
int getIndex(const QString&) const;
public:
enum {Combo, ButtonGroup};
/**
Construct new object with list of available values given by array
of NULL terminated character strings.
@param val index of selected string
@param list array of NULL terminated strings. Strings not copied.
@param num size of the list array
@param labels labels used for widget, can be NULL. Strings not copied.
@param type type of widget
*/
KConfigComboObject(const char* key, int& val, const char** list,
unsigned num, const char** labels=0L, int type=Combo);
/** Same as above differ only in arguments accepted
*/
KConfigComboObject(const char* key, int& val, const QStrList& list,
unsigned num, const QStrList* labels=0L, int type=Combo);
/**
Construct new object with list of available values given by array
of NULL terminated character strings.
@param val selected string
@param list array of NULL terminated strings. Strings not copied.
@param num size of the list array
@param labels labels used for widget, can be NULL. Strings not copied.
@param type type of widget
*/
KConfigComboObject(const char* key, QString& val, const char** list,
unsigned num, const char** labels=0L, int type=Combo);
/** Same as above differ only in arguments accepted
*/
KConfigComboObject(const char* key, QString& val, const QStrList& list,
unsigned num, const QStrList* labels=0L, int type=Combo);
~KConfigComboObject();
/**
Create widget to change value of the KConfigComboObject data.
If type==Combo, QComboWidget will be created with locale
translated labels.
If type==ButtonGroup, QButtonGroup will be created with locale
translated labels.
@param name optional name of button group.
*/
virtual QWidget* createWidget(QWidget* parent=0L,
//CT 11Jun1999 Unicode
QString name=QString::null);
int getIndex() const;
void setIndex(int i);
QString getString();
public slots:
void setData(int);
};
/** QColor Object
*/
kikbd'KConfigComboObject::KConfigComboObject() (./kdebase/kikbd/kconfobjs.cpp:197)
KConfigComboObject::KConfigComboObject(const char* key, int& val,
const char** vlist,
unsigned num, const char** vlabels,
int type)
:KConfigObject(&val, FALSE, key),
labels(vlabels ? new QStrList() : 0L),
pstring(0L), pindex(&val), num(num), type(type)
{
for(unsigned i=0; i<num; i++) {
if(vlist ) list.append(vlist[i]);
if(vlabels) labels->append(vlabels[i]);
}
}
kikbd'KConfigComboObject::KConfigComboObject() (./kdebase/kikbd/kconfobjs.cpp:212)
KConfigComboObject::KConfigComboObject(const char* key, int& val,
const QStrList& vlist,
unsigned num, const QStrList* vlabels,
int type)
:KConfigObject(&val, FALSE, key), list(vlist),
labels(vlabels ? new QStrList(*vlabels) : 0L),
pstring(0L), pindex(&val), num(num), type(type)
{
}
kikbd'KConfigComboObject::KConfigComboObject() (./kdebase/kikbd/kconfobjs.cpp:222)
KConfigComboObject::KConfigComboObject(const char* key, QString& val,
const char** vlist,
unsigned num, const char** vlabels,
int type)
:KConfigObject(&val, FALSE, key),
labels(vlabels ? new QStrList() : 0L),
pstring(&val), pindex(0L), num(num), type(type)
{
for(unsigned i=0; i<num; i++) {
if(vlist ) list.append(vlist[i]);
if(vlabels) labels->append(vlabels[i]);
}
}
kikbd'KConfigComboObject::KConfigComboObject() (./kdebase/kikbd/kconfobjs.cpp:236)
KConfigComboObject::KConfigComboObject(const char* key, QString& val,
const QStrList& vlist,
unsigned num, const QStrList* vlabels,
int type)
:KConfigObject(&val, FALSE, key), list(vlist),
labels(vlabels ? new QStrList(*vlabels) : 0L),
pstring(&val), pindex(0L), num(num), type(type)
{
}
kikbd'KConfigComboObject::~KConfigComboObject() (./kdebase/kikbd/kconfobjs.cpp:246)
KConfigComboObject::~KConfigComboObject()
{
if(labels) delete labels;
}
kikbd'KConfigComboObject::getIndex() (./kdebase/kikbd/kconfobjs.cpp:251)
int KConfigComboObject::getIndex(const QString& string) const
{
return ((QStrList*)&list)->find(string);
}
kikbd'KConfigComboObject::readObject() (./kdebase/kikbd/kconfobjs.cpp:256)
void KConfigComboObject::readObject(KObjectConfig* config)
{
QString tmp = config->getConfig()->readEntry(keys.current(), getString());
if(pindex) *pindex = getIndex(tmp); else *pstring = tmp;
}
kikbd'KConfigComboObject::writeObject() (./kdebase/kikbd/kconfobjs.cpp:262)
void KConfigComboObject::writeObject(KObjectConfig* config)
{
config->getConfig()->writeEntry(keys.current(), getString());
}
kikbd'KConfigComboObject::createWidget() (./kdebase/kikbd/kconfobjs.cpp:267)
QWidget* KConfigComboObject::createWidget(QWidget* parent,
QString name)
{
QWidget *wid = 0L;
unsigned int i;
switch(type) {
case Combo :
wid = new QComboBox(parent);
for(i=0; i<num; i++)
((QComboBox*)wid)->
insertItem(i18n(labels?labels->at(i):list.at(i)));
wid->setMinimumSize(wid->sizeHint());
connect(wid, SIGNAL(activated(int)), SLOT(setData(int)));
break;
case ButtonGroup :
wid = new QButtonGroup(i18n(name), parent);
int height = 0;
unsigned i;for(i=0; i<num; i++) {
QRadioButton *but =
new QRadioButton(i18n(labels?labels->at(i):list.at(i)),
(QButtonGroup*)wid);
but->setMinimumSize(but->sizeHint());
height = but->height();
}
wid->setMinimumHeight(2*height);
connect(wid, SIGNAL(clicked(int)), SLOT(setData(int)));
break;
}
return controlWidget(wid), wid;
}
kikbd'KConfigComboObject::setWidget() (./kdebase/kikbd/kconfobjs.cpp:298)
void KConfigComboObject::setWidget(QWidget* wid)
{
switch(type) {
case Combo :
((QComboBox*)wid)->setCurrentItem(getIndex());
break;
case ButtonGroup :
((QButtonGroup*)wid)->setButton(getIndex());
break;
}
}
kikbd'KConfigComboObject::setData() (./kdebase/kikbd/kconfobjs.cpp:310)
void KConfigComboObject::setData(int i)
{
setIndex(i);
emit dataChanged();
}
kikbd'KConfigComboObject::setIndex() (./kdebase/kikbd/kconfobjs.cpp:316)
void KConfigComboObject::setIndex(int i)
{
if(pstring)
*pstring = list.at(i);
else
*pindex = i;
}
kikbd'KConfigComboObject::getIndex() (./kdebase/kikbd/kconfobjs.cpp:324)
int KConfigComboObject::getIndex() const
{
return pindex ? *pindex : getIndex(*pstring);
}
kikbd'KConfigComboObject::getString() (./kdebase/kikbd/kconfobjs.cpp:329)
QString KConfigComboObject::getString()
{
QString retval;
if (pindex)
retval=((QStrList*)&list)->at(*pindex);
else
retval=*pstring;
return retval;
//QString(pindex?((QStrList*)&list)->at(*pindex):(const char*)*pstring);
}
/***********************************************************************
* Color List Object
*/