• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdecore
 

tdecore

  • tdecore
kcompletionbase.cpp
1/* This file is part of the KDE libraries
2
3 Copyright (c) 2000 Dawit Alemayehu <adawit@kde.org>
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License (LGPL) as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20
21#include <tqobject.h>
22
23#include <kcompletion.h>
24
25TDECompletionBase::TDECompletionBase()
26{
27 m_delegate = 0L;
28 // Assign the default completion type to use.
29 m_iCompletionMode = TDEGlobalSettings::completionMode();
30
31 // Initialize all key-bindings to 0 by default so that
32 // the event filter will use the global settings.
33 useGlobalKeyBindings();
34
35 // By default we initialize everything to false.
36 // All the variables would be setup properly when
37 // the appropriate member functions are called.
38 setup( false, false, false );
39}
40
41TDECompletionBase::~TDECompletionBase()
42{
43 if( m_bAutoDelCompObj && m_pCompObj )
44 {
45 delete m_pCompObj;
46 }
47}
48
49void TDECompletionBase::setDelegate( TDECompletionBase *delegate )
50{
51 m_delegate = delegate;
52
53 if ( m_delegate ) {
54 m_delegate->m_bAutoDelCompObj = m_bAutoDelCompObj;
55 m_delegate->m_bHandleSignals = m_bHandleSignals;
56 m_delegate->m_bEmitSignals = m_bEmitSignals;
57 m_delegate->m_iCompletionMode = m_iCompletionMode;
58 m_delegate->m_keyMap = m_keyMap;
59 }
60}
61
62TDECompletion* TDECompletionBase::completionObject( bool hsig )
63{
64 if ( m_delegate )
65 return m_delegate->completionObject( hsig );
66
67 if ( !m_pCompObj )
68 {
69 setCompletionObject( new TDECompletion(), hsig );
70 m_bAutoDelCompObj = true;
71 }
72 return m_pCompObj;
73}
74
75void TDECompletionBase::setCompletionObject( TDECompletion* compObj, bool hsig )
76{
77 if ( m_delegate ) {
78 m_delegate->setCompletionObject( compObj, hsig );
79 return;
80 }
81
82 if ( m_bAutoDelCompObj && compObj != m_pCompObj )
83 delete m_pCompObj;
84
85 m_pCompObj = compObj;
86
87 // We emit rotation and completion signals
88 // if completion object is not NULL.
89 setup( false, hsig, !m_pCompObj.isNull() );
90}
91
92// BC: Inline this function and possibly rename it to setHandleEvents??? (DA)
93void TDECompletionBase::setHandleSignals( bool handle )
94{
95 if ( m_delegate )
96 m_delegate->setHandleSignals( handle );
97 else
98 m_bHandleSignals = handle;
99}
100
101void TDECompletionBase::setCompletionMode( TDEGlobalSettings::Completion mode )
102{
103 if ( m_delegate ) {
104 m_delegate->setCompletionMode( mode );
105 return;
106 }
107
108 m_iCompletionMode = mode;
109 // Always sync up TDECompletion mode with ours as long as we
110 // are performing completions.
111 if( m_pCompObj && m_iCompletionMode != TDEGlobalSettings::CompletionNone )
112 m_pCompObj->setCompletionMode( m_iCompletionMode );
113}
114
115bool TDECompletionBase::setKeyBinding( KeyBindingType item, const TDEShortcut& cut )
116{
117 if ( m_delegate )
118 return m_delegate->setKeyBinding( item, cut );
119
120
121 if( !cut.isNull() )
122 {
123 for( KeyBindingMap::Iterator it = m_keyMap.begin(); it != m_keyMap.end(); ++it )
124 if( it.data() == cut ) return false;
125 }
126 m_keyMap.replace( item, cut );
127 return true;
128}
129
130void TDECompletionBase::useGlobalKeyBindings()
131{
132 if ( m_delegate ) {
133 m_delegate->useGlobalKeyBindings();
134 return;
135 }
136
137 m_keyMap.clear();
138 m_keyMap.insert( TextCompletion, 0 );
139 m_keyMap.insert( PrevCompletionMatch, 0 );
140 m_keyMap.insert( NextCompletionMatch, 0 );
141 m_keyMap.insert( SubstringCompletion, 0 );
142}
143
144void TDECompletionBase::setup( bool autodel, bool hsig, bool esig )
145{
146 if ( m_delegate ) {
147 m_delegate->setup( autodel, hsig, esig );
148 return;
149 }
150
151 m_bAutoDelCompObj = autodel;
152 m_bHandleSignals = hsig;
153 m_bEmitSignals = esig;
154}
TDECompletionBase
An abstract base class for adding a completion feature into widgets.
Definition: kcompletion.h:664
TDECompletionBase::compObj
TDECompletion * compObj() const
Returns a pointer to the completion object.
Definition: kcompletion.h:953
TDECompletionBase::setHandleSignals
virtual void setHandleSignals(bool handle)
Enables this object to handle completion and rotation events internally.
Definition: kcompletionbase.cpp:93
TDECompletionBase::setCompletionMode
virtual void setCompletionMode(TDEGlobalSettings::Completion mode)
Sets the type of completion to be used.
Definition: kcompletionbase.cpp:101
TDECompletionBase::useGlobalKeyBindings
void useGlobalKeyBindings()
Sets this object to use global values for key-bindings.
Definition: kcompletionbase.cpp:130
TDECompletionBase::~TDECompletionBase
virtual ~TDECompletionBase()
Destructor.
Definition: kcompletionbase.cpp:41
TDECompletionBase::setKeyBinding
bool setKeyBinding(KeyBindingType item, const TDEShortcut &key)
Sets the key-binding to be used for manual text completion, text rotation in a history list as well a...
Definition: kcompletionbase.cpp:115
TDECompletionBase::TDECompletionBase
TDECompletionBase()
Default constructor.
Definition: kcompletionbase.cpp:25
TDECompletionBase::setCompletionObject
virtual void setCompletionObject(TDECompletion *compObj, bool hsig=true)
Sets up the completion object to be used.
Definition: kcompletionbase.cpp:75
TDECompletionBase::delegate
TDECompletionBase * delegate() const
Returns the delegation object.
Definition: kcompletion.h:978
TDECompletionBase::setDelegate
void setDelegate(TDECompletionBase *delegate)
Sets or removes the delegation object.
Definition: kcompletionbase.cpp:49
TDECompletionBase::completionObject
TDECompletion * completionObject(bool hsig=true)
Returns a pointer to the current completion object.
Definition: kcompletionbase.cpp:62
TDECompletionBase::KeyBindingType
KeyBindingType
Constants that represent the items whose short-cut key-binding is programmable.
Definition: kcompletion.h:671
TDECompletionBase::TextCompletion
@ TextCompletion
Text completion (by default Ctrl-E).
Definition: kcompletion.h:675
TDECompletionBase::SubstringCompletion
@ SubstringCompletion
Substring completion (by default Ctrl-T).
Definition: kcompletion.h:687
TDECompletionBase::PrevCompletionMatch
@ PrevCompletionMatch
Switch to previous completion (by default Ctrl-Up).
Definition: kcompletion.h:679
TDECompletionBase::NextCompletionMatch
@ NextCompletionMatch
Switch to next completion (by default Ctrl-Down).
Definition: kcompletion.h:683
TDECompletion
A generic class for completing QStrings.
Definition: kcompletion.h:133
TDEGlobalSettings::Completion
Completion
This enum describes the completion mode used for by the TDECompletion class.
Definition: tdeglobalsettings.h:178
TDEGlobalSettings::CompletionNone
@ CompletionNone
No completion is used.
Definition: tdeglobalsettings.h:182
TDEGlobalSettings::completionMode
static Completion completionMode()
Returns the preferred completion mode setting.
Definition: tdeglobalsettings.cpp:283
TDEShortcut
The TDEShortcut class is used to represent a keyboard shortcut to an action.
Definition: tdeshortcut.h:544

tdecore

Skip menu "tdecore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdecore

Skip menu "tdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdecore by doxygen 1.9.4
This website is maintained by Timothy Pearson.