• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

KDEUI

  • kdeui
  • itemviews
ktreewidgetsearchline.h
Go to the documentation of this file.
1/* This file is part of the KDE libraries
2 Copyright (c) 2003 Scott Wheeler <wheeler@kde.org>
3 Copyright (c) 2005 Rafal Rzepecki <divide@users.sourceforge.net>
4 Copyright (c) 2006 Hamish Rodda <rodda@kde.org>
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License version 2 as published by the Free Software Foundation.
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#ifndef KTREEWIDGETSEARCHLINE_H
22#define KTREEWIDGETSEARCHLINE_H
23
24#include <klineedit.h>
25
26class QModelIndex;
27class QTreeWidget;
28class QTreeWidgetItem;
29
37
38class KDEUI_EXPORT KTreeWidgetSearchLine : public KLineEdit
39{
40 Q_OBJECT
41
42 Q_PROPERTY( Qt::CaseSensitivity caseSensitity READ caseSensitivity WRITE setCaseSensitivity )
43 Q_PROPERTY( bool keepParentsVisible READ keepParentsVisible WRITE setKeepParentsVisible )
44
45
46 public:
54 explicit KTreeWidgetSearchLine( QWidget *parent = 0, QTreeWidget *treeWidget = 0 );
55
63 KTreeWidgetSearchLine( QWidget *parent, const QList<QTreeWidget *> &treeWidgets );
64
65
69 virtual ~KTreeWidgetSearchLine();
70
76 Qt::CaseSensitivity caseSensitivity() const;
77
84 QList<int> searchColumns() const;
85
92 bool keepParentsVisible() const;
93
100 QTreeWidget *treeWidget() const;
101
108 QList<QTreeWidget *> treeWidgets() const;
109
110Q_SIGNALS:
115 void hiddenChanged(QTreeWidgetItem *, bool);
116
117 public Q_SLOTS:
124 void addTreeWidget( QTreeWidget *treeWidget );
125
133 void removeTreeWidget( QTreeWidget *treeWidget );
134
139 virtual void updateSearch( const QString &pattern = QString() );
140
146 void setCaseSensitivity( Qt::CaseSensitivity caseSensitivity );
147
162 void setKeepParentsVisible( bool value );
163
173 void setSearchColumns( const QList<int> &columns );
174
182 void setTreeWidget( QTreeWidget *treeWidget );
183
191 void setTreeWidgets( const QList<QTreeWidget *> &treeWidgets );
192
193
194 protected:
200 virtual bool itemMatches( const QTreeWidgetItem *item, const QString &pattern ) const;
201
205 virtual void contextMenuEvent( QContextMenuEvent* );
206
211 virtual void updateSearch( QTreeWidget *treeWidget );
212
217 virtual void connectTreeWidget( QTreeWidget* );
218
222 virtual void disconnectTreeWidget( QTreeWidget* );
223
238 virtual bool canChooseColumnsCheck();
239
243 virtual bool event(QEvent *event);
244 private:
245 class Private;
246 Private* const d;
247
248 Q_PRIVATE_SLOT(d, void _k_rowsInserted(const QModelIndex&, int, int) const)
249 Q_PRIVATE_SLOT(d, void _k_treeWidgetDeleted(QObject*))
250 Q_PRIVATE_SLOT(d, void _k_slotColumnActivated(QAction*))
251 Q_PRIVATE_SLOT(d, void _k_slotAllVisibleColumns())
252 Q_PRIVATE_SLOT(d, void _k_queueSearch(const QString&))
253 Q_PRIVATE_SLOT(d, void _k_activateSearch())
254};
255
260class KDEUI_EXPORT KTreeWidgetSearchLineWidget : public QWidget
261{
262 Q_OBJECT
263
264 public:
269 explicit KTreeWidgetSearchLineWidget( QWidget *parent = 0, QTreeWidget *treeWidget = 0 );
270
274 ~KTreeWidgetSearchLineWidget();
275
279 KTreeWidgetSearchLine *searchLine() const;
280
281 protected Q_SLOTS:
288 virtual void createWidgets();
289
290 protected:
298 virtual KTreeWidgetSearchLine *createSearchLine( QTreeWidget *treeWidget ) const;
299
300 private:
301 class Private;
302 Private* const d;
303};
304
305#endif
KLineEdit::KLineEdit
KLineEdit(const QString &string, QWidget *parent=0)
Constructs a KLineEdit object with a default text, a parent, and a name.
Definition klineedit.cpp:232
KTreeWidgetSearchLineWidget::KTreeWidgetSearchLineWidget
KTreeWidgetSearchLineWidget(QWidget *parent=0, QTreeWidget *treeWidget=0)
Creates a KTreeWidgetSearchLineWidget for treeWidget with parent as the parent.
Definition ktreewidgetsearchline.cpp:579
KTreeWidgetSearchLineWidget::createSearchLine
virtual KTreeWidgetSearchLine * createSearchLine(QTreeWidget *treeWidget) const
Creates the search line.
Definition ktreewidgetsearchline.cpp:594
KTreeWidgetSearchLineWidget::searchLine
KTreeWidgetSearchLine * searchLine() const
Returns a pointer to the search line.
Definition ktreewidgetsearchline.cpp:615
KTreeWidgetSearchLineWidget::createWidgets
virtual void createWidgets()
Creates the widgets inside of the widget.
Definition ktreewidgetsearchline.cpp:599
KTreeWidgetSearchLine
This class makes it easy to add a search line for filtering the items in listviews based on a simple ...
Definition ktreewidgetsearchline.h:39
KTreeWidgetSearchLine::event
virtual bool event(QEvent *event)
Re-implemented for internal reasons.
Definition ktreewidgetsearchline.cpp:522
KTreeWidgetSearchLine::disconnectTreeWidget
virtual void disconnectTreeWidget(QTreeWidget *)
Disconnects signals of a listviews from the search line.
Definition ktreewidgetsearchline.cpp:474
KTreeWidgetSearchLine::canChooseColumnsCheck
virtual bool canChooseColumnsCheck()
Checks columns in all listviews and decides whether choosing columns to filter on makes any sense.
Definition ktreewidgetsearchline.cpp:483
KTreeWidgetSearchLine::removeTreeWidget
void removeTreeWidget(QTreeWidget *treeWidget)
Removes a QTreeWidget from the list of listviews filtered by this search line.
Definition ktreewidgetsearchline.cpp:296
KTreeWidgetSearchLine::setTreeWidgets
void setTreeWidgets(const QList< QTreeWidget * > &treeWidgets)
Sets QTreeWidgets that are filtered by this search line, replacing any previously filtered listviews.
Definition ktreewidgetsearchline.cpp:369
KTreeWidgetSearchLine::caseSensitity
Qt::CaseSensitivity caseSensitity
Definition ktreewidgetsearchline.h:42
KTreeWidgetSearchLine::keepParentsVisible
bool keepParentsVisible
Definition ktreewidgetsearchline.h:43
KTreeWidgetSearchLine::updateSearch
virtual void updateSearch(const QString &pattern=QString())
Updates search to only make visible the items that match pattern.
Definition ktreewidgetsearchline.cpp:312
KTreeWidgetSearchLine::addTreeWidget
void addTreeWidget(QTreeWidget *treeWidget)
Adds a QTreeWidget to the list of listviews filtered by this search line.
Definition ktreewidgetsearchline.cpp:284
KTreeWidgetSearchLine::setCaseSensitivity
void setCaseSensitivity(Qt::CaseSensitivity caseSensitivity)
Make the search case sensitive or case insensitive.
Definition ktreewidgetsearchline.cpp:341
KTreeWidgetSearchLine::itemMatches
virtual bool itemMatches(const QTreeWidgetItem *item, const QString &pattern) const
Returns true if item matches the search pattern.
Definition ktreewidgetsearchline.cpp:388
KTreeWidgetSearchLine::treeWidgets
QList< QTreeWidget * > treeWidgets() const
Returns the list of pointers to listviews that are currently filtered by the search.
Definition ktreewidgetsearchline.cpp:274
KTreeWidgetSearchLine::searchColumns
QList< int > searchColumns() const
Returns the current list of columns that will be searched.
Definition ktreewidgetsearchline.cpp:253
KTreeWidgetSearchLine::contextMenuEvent
virtual void contextMenuEvent(QContextMenuEvent *)
Re-implemented for internal reasons.
Definition ktreewidgetsearchline.cpp:414
KTreeWidgetSearchLine::hiddenChanged
void hiddenChanged(QTreeWidgetItem *, bool)
This signal is emitted whenever an item gets hidden or unhidden due to it not matching or matching th...
KTreeWidgetSearchLine::connectTreeWidget
virtual void connectTreeWidget(QTreeWidget *)
Connects signals of this listview to the appropriate slots of the search line.
Definition ktreewidgetsearchline.cpp:465
KTreeWidgetSearchLine::setSearchColumns
void setSearchColumns(const QList< int > &columns)
Sets the list of columns to be searched.
Definition ktreewidgetsearchline.cpp:357
KTreeWidgetSearchLine::setTreeWidget
void setTreeWidget(QTreeWidget *treeWidget)
Sets the QTreeWidget that is filtered by this search line, replacing any previously filtered listview...
Definition ktreewidgetsearchline.cpp:363
KTreeWidgetSearchLine::setKeepParentsVisible
void setKeepParentsVisible(bool value)
When a search is active on a list that's organized into a tree view if a parent or ancesestor of an i...
Definition ktreewidgetsearchline.cpp:349
KTreeWidgetSearchLine::KTreeWidgetSearchLine
KTreeWidgetSearchLine(QWidget *parent=0, QTreeWidget *treeWidget=0)
Constructs a KTreeWidgetSearchLine with treeWidget being the QTreeWidget to be filtered.
Definition ktreewidgetsearchline.cpp:218
KTreeWidgetSearchLine::caseSensitivity
Qt::CaseSensitivity caseSensitivity() const
Returns true if the search is case sensitive.
Definition ktreewidgetsearchline.cpp:248
KTreeWidgetSearchLine::treeWidget
QTreeWidget * treeWidget() const
Returns the listview that is currently filtered by the search.
Definition ktreewidgetsearchline.cpp:266
QAction
QList
QObject
QTreeWidget
QWidget
klineedit.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Tue Mar 25 2025 00:00:00 by doxygen 1.14.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDEUI

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

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal