You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pytde/sip/tdecore/kcompletion.sip

228 lines
6.7 KiB

//
// Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
// Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
// may also apply
// Generated by preSip
// module tdecore version KDE 3.5.3
// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class KCompletion : QObject
{
%TypeHeaderCode
#include <kcompletion.h>
%End
public:
enum CompOrder
{
Sorted,
Insertion,
Weighted
};
KCompletion ();
virtual QString makeCompletion (const QString&);
QStringList substringCompletion (const QString&) const;
QString previousMatch ();
QString nextMatch ();
virtual const QString& lastMatch () const;
QStringList items () const;
%If ( KDE_3_3_0 - )
bool isEmpty () const;
%End
virtual void setCompletionMode (KGlobalSettings::Completion);
KGlobalSettings::Completion completionMode () const;
virtual void setOrder (KCompletion::CompOrder);
CompOrder order () const;
virtual void setIgnoreCase (bool);
bool ignoreCase () const;
QStringList allMatches ();
QStringList allMatches (const QString&);
//ig KCompletionMatches allWeightedMatches ();
//ig KCompletionMatches allWeightedMatches (const QString&);
virtual void setEnableSounds (bool);
bool isSoundsEnabled () const;
bool hasMultipleMatches () const;
void enableSounds ();
void disableSounds ();
public slots:
void slotMakeCompletion (const QString&);
void slotPreviousMatch ();
void slotNextMatch ();
void insertItems (const QStringList&);
virtual void setItems (const QStringList&);
void addItem (const QString&);
void addItem (const QString&, uint);
void removeItem (const QString&);
virtual void clear ();
signals:
void match (const QString&);
void matches (const QStringList&);
void multipleMatches ();
protected:
virtual void postProcessMatch (QString*);
virtual void postProcessMatches (QStringList*);
//ig virtual void postProcessMatches (KCompletionMatches*) const;
protected:
//igx virtual void virtual_hook (int, void*);
}; // class KCompletion
//ig class KCompletionMatches : KCompletionMatchesList;
class KCompletionBase
{
%TypeHeaderCode
#include <kcompletion.h>
%End
public:
enum KeyBindingType
{
TextCompletion,
PrevCompletionMatch,
NextCompletionMatch,
SubstringCompletion
};
typedef QMap<KCompletionBase::KeyBindingType,KShortcut> KeyBindingMap;
KCompletionBase ();
KCompletion* completionObject (bool = 1);
virtual void setCompletionObject (KCompletion*, bool = 1);
virtual void setHandleSignals (bool);
bool isCompletionObjectAutoDeleted () const;
void setAutoDeleteCompletionObject (bool);
void setEnableSignals (bool);
bool handleSignals () const;
bool emitSignals () const;
virtual void setCompletionMode (KGlobalSettings::Completion);
KGlobalSettings::Completion completionMode () const;
bool setKeyBinding (KCompletionBase::KeyBindingType, const KShortcut&);
const KShortcut& getKeyBinding (KCompletionBase::KeyBindingType) const;
void useGlobalKeyBindings ();
virtual void setCompletedText (const QString&) = 0;
virtual void setCompletedItems (const QStringList&) = 0;
KCompletion* compObj () const;
protected:
KCompletionBase::KeyBindingMap getKeyBindings () const;
void setDelegate (KCompletionBase*);
KCompletionBase* delegate () const;
protected:
//igx virtual void virtual_hook (int, void*);
}; // class KCompletionBase
//ig typedef KSortableValueList<QString> KCompletionMatchesList;
%MappedType KCompletionBase::KeyBindingMap
//converts a Python dict of int:KShortcut
{
%TypeHeaderCode
#include <kcompletion.h>
%End
%ConvertFromTypeCode
if (!sipCpp)
return PyDict_New();
PyObject *dict;
// Create the dictionary.
if ((dict = PyDict_New()) == NULL)
return NULL;
// Get it.
const QMap<KCompletionBase::KeyBindingType,KShortcut> map = *sipCpp;
QMap<KCompletionBase::KeyBindingType,KShortcut>::ConstIterator it;
PyObject *key;
PyObject *value;
for (it = map.begin (); it != map.end (); ++it)
{
key = PyInt_FromLong ((int) it.key ());
value = sipConvertFromInstance ((void *)&(it.data ()), sipClass_KShortcut, sipTransferObj);
if ((value == NULL) || (PyDict_SetItem (dict, key, value) < 0))
{
Py_XDECREF (key);
Py_XDECREF (value);
Py_DECREF (dict);
return NULL;
}
}
return dict;
%End
%ConvertToTypeCode
// Convert a Python dictionary to a KeyBindingMap on the heap.
if (sipIsErr == NULL)
return PyDict_Check(sipPy);
QMap<KCompletionBase::KeyBindingType,KShortcut> *kbmap = new QMap<KCompletionBase::KeyBindingType,KShortcut>;
PyObject *key, *value;
SIP_SSIZE_T pos = 0;
KShortcut *cValue;
int iserr;
while (PyDict_Next(sipPy, &pos, &key, &value))
{
cValue = (KShortcut *)sipForceConvertToType(value, sipType_KShortcut, sipTransferObj, SIP_NOT_NONE|SIP_NO_CONVERTORS, NULL, &iserr);
if (iserr || !PyInt_Check (key))
{
*sipIsErr = 1;
delete kbmap;
return 0;
}
kbmap->insert ((KCompletionBase::KeyBindingType)PyInt_AS_LONG (key), *cValue);
}
*sipCppPtr = kbmap;
return 1;
%End
};