24 #include <tqptrlist.h>
27 #include <tqstringlist.h>
28 #include <tqguardedptr.h>
30 #include "kdelibs_export.h"
31 #include <kglobalsettings.h>
32 #include <ksortablevaluelist.h>
33 #include <kshortcut.h>
36 class KCompletionPrivate;
37 class KCompletionBasePrivate;
38 class KCompletionMatchesWrapper;
135 Q_PROPERTY(
CompOrder order READ order WRITE setOrder )
136 Q_PROPERTY(
bool ignoreCase READ ignoreCase WRITE setIgnoreCase )
137 Q_PROPERTY( TQStringList items READ items WRITE setItems )
184 virtual TQString makeCompletion(
const TQString&
string );
194 TQStringList substringCompletion(
const TQString&
string )
const;
205 TQString previousMatch();
216 TQString nextMatch();
224 virtual const TQString&
lastMatch()
const {
return myLastMatch; }
244 TQStringList items()
const;
249 bool isEmpty()
const;
270 return myCompletionMode;
293 virtual void setOrder( CompOrder order );
309 virtual void setIgnoreCase(
bool ignoreCase );
325 TQStringList allMatches();
332 TQStringList allMatches(
const TQString&
string );
386 #ifndef KDE_NO_COMPAT
408 (void) makeCompletion(
string );
417 (void) previousMatch();
436 void insertItems(
const TQStringList& items );
453 virtual void setItems(
const TQStringList& list);
461 void addItem(
const TQString& item);
474 void addItem(
const TQString& item, uint weight );
482 void removeItem(
const TQString& item);
487 virtual void clear();
497 void match(
const TQString& item);
505 void matches(
const TQStringList& matchlist);
512 void multipleMatches();
555 void addWeightedItem(
const TQString& );
556 TQString findCompletion(
const TQString&
string );
557 void findAllCompletions(
const TQString&,
558 KCompletionMatchesWrapper *matches,
559 bool& hasMultipleMatches )
const;
562 const TQString& beginning,
563 KCompletionMatchesWrapper *matches,
564 bool addWeight =
false )
const;
566 const TQString& beginning,
567 const TQString& restString,
568 KCompletionMatchesWrapper *matches)
const;
570 enum BeepMode { NoMatch, PartialMatch, Rotation };
571 void doBeep( BeepMode )
const;
576 TQString myLastString;
577 TQString myLastMatch;
578 TQString myCurrentMatch;
580 TQStringList myRotations;
583 bool myHasMultipleMatches;
584 uint myRotationIndex;
588 virtual void virtual_hook(
int id,
void* data );
590 KCompletionPrivate *d;
595 class KCompletionMatchesPrivate;
628 void removeDuplicates();
635 TQStringList list(
bool sort =
true )
const;
646 KCompletionMatchesPrivate* d;
692 typedef TQMap<KeyBindingType, KShortcut> KeyBindingMap;
737 virtual void setCompletionObject(
KCompletion* compObj,
bool hsig =
true );
751 virtual void setHandleSignals(
bool handle );
764 return m_delegate ? m_delegate->isCompletionObjectAutoDeleted() : m_bAutoDelCompObj;
778 m_delegate->setAutoDeleteCompletionObject( autoDelete );
780 m_bAutoDelCompObj = autoDelete;
805 m_delegate->setEnableSignals( enable );
807 m_bEmitSignals = enable;
815 bool handleSignals()
const {
return m_delegate ? m_delegate->handleSignals() : m_bHandleSignals; }
822 bool emitSignals()
const {
return m_delegate ? m_delegate->emitSignals() : m_bEmitSignals; }
855 return m_delegate ? m_delegate->completionMode() : m_iCompletionMode;
888 bool setKeyBinding( KeyBindingType item ,
const KShortcut& key );
903 return m_delegate ? m_delegate->getKeyBinding( item ) : m_keyMap[ item ];
917 void useGlobalKeyBindings();
933 virtual void setCompletedText(
const TQString& text ) = 0;
940 virtual void setCompletedItems(
const TQStringList& items ) = 0;
964 KeyBindingMap
getKeyBindings()
const {
return m_delegate ? m_delegate->getKeyBindings() : m_keyMap; }
984 void setup(
bool,
bool,
bool );
988 bool m_bAutoDelCompObj;
991 bool m_bHandleSignals;
997 TQGuardedPtr<KCompletion> m_pCompObj;
999 KeyBindingMap m_keyMap;
1005 virtual void virtual_hook(
int id,
void* data );
1007 KCompletionBasePrivate *d;
1010 #endif // KCOMPLETION_H