diff options
Diffstat (limited to 'sip/tdecore/kcompletion.sip')
-rw-r--r-- | sip/tdecore/kcompletion.sip | 227 |
1 files changed, 227 insertions, 0 deletions
diff --git a/sip/tdecore/kcompletion.sip b/sip/tdecore/kcompletion.sip new file mode 100644 index 0000000..268480d --- /dev/null +++ b/sip/tdecore/kcompletion.sip @@ -0,0 +1,227 @@ +// +// 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 +}; + + |