• 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 
25 TDECompletionBase::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 
41 TDECompletionBase::~TDECompletionBase()
42 {
43  if( m_bAutoDelCompObj && m_pCompObj )
44  {
45  delete m_pCompObj;
46  }
47 }
48 
49 void 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 
62 TDECompletion* 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 
75 void 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)
93 void TDECompletionBase::setHandleSignals( bool handle )
94 {
95  if ( m_delegate )
96  m_delegate->setHandleSignals( handle );
97  else
98  m_bHandleSignals = handle;
99 }
100 
101 void 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 
115 bool 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 
130 void 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 
144 void 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::useGlobalKeyBindings
void useGlobalKeyBindings()
Sets this object to use global values for key-bindings.
Definition: kcompletionbase.cpp:130
TDECompletionBase::setDelegate
void setDelegate(TDECompletionBase *delegate)
Sets or removes the delegation object.
Definition: kcompletionbase.cpp:49
TDECompletionBase::setHandleSignals
virtual void setHandleSignals(bool handle)
Enables this object to handle completion and rotation events internally.
Definition: kcompletionbase.cpp:93
TDECompletion
A generic class for completing QStrings.
Definition: kcompletion.h:132
TDEGlobalSettings::Completion
Completion
This enum describes the completion mode used for by the TDECompletion class.
Definition: tdeglobalsettings.h:178
TDECompletionBase::setCompletionObject
virtual void setCompletionObject(TDECompletion *compObj, bool hsig=true)
Sets up the completion object to be used.
Definition: kcompletionbase.cpp:75
TDECompletionBase
An abstract base class for adding a completion feature into widgets.
Definition: kcompletion.h:663
TDEShortcut::isNull
bool isNull() const
Returns true if the shortcut is null (after clear() or empty constructor).
Definition: tdeshortcut.cpp:517
TDECompletionBase::setCompletionMode
virtual void setCompletionMode(TDEGlobalSettings::Completion mode)
Sets the type of completion to be used.
Definition: kcompletionbase.cpp:101
TDECompletionBase::TDECompletionBase
TDECompletionBase()
Default constructor.
Definition: kcompletionbase.cpp:25
TDEGlobalSettings::completionMode
static Completion completionMode()
Returns the preferred completion mode setting.
Definition: tdeglobalsettings.cpp:283
TDEGlobalSettings::CompletionNone
No completion is used.
Definition: tdeglobalsettings.h:182
TDECompletionBase::delegate
TDECompletionBase * delegate() const
Returns the delegation object.
Definition: kcompletion.h:978
TDECompletionBase::KeyBindingType
KeyBindingType
Constants that represent the items whose short-cut key-binding is programmable.
Definition: kcompletion.h:671
TDEShortcut
The TDEShortcut class is used to represent a keyboard shortcut to an action.
Definition: tdeshortcut.h:543
TDECompletionBase::compObj
TDECompletion * compObj() const
Returns a pointer to the completion object.
Definition: kcompletion.h:953
TDECompletionBase::TextCompletion
Text completion (by default Ctrl-E).
Definition: kcompletion.h:675
TDECompletionBase::completionObject
TDECompletion * completionObject(bool hsig=true)
Returns a pointer to the current completion object.
Definition: kcompletionbase.cpp:62
TDECompletionBase::~TDECompletionBase
virtual ~TDECompletionBase()
Destructor.
Definition: kcompletionbase.cpp:41
TDECompletionBase::NextCompletionMatch
Switch to next completion (by default Ctrl-Down).
Definition: kcompletion.h:683
TDECompletionBase::SubstringCompletion
Substring completion (by default Ctrl-T).
Definition: kcompletion.h:687
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::PrevCompletionMatch
Switch to previous completion (by default Ctrl-Up).
Definition: kcompletion.h:679

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
  •     tdecore
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  • tdeioslave
  •   http
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdecore by doxygen 1.8.8
This website is maintained by Timothy Pearson.