KCompletion

kcompletionmatches.h
1/*
2 This file is part of the KDE libraries
3 SPDX-FileCopyrightText: 1999, 2000 Carsten Pfeiffer <pfeiffer@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.0-or-later
6*/
7
8#ifndef KCOMPLETIONMATCHES_H
9#define KCOMPLETIONMATCHES_H
10
11#include <kcompletion_export.h>
12#include <ksortablelist.h>
13
14#include <QStringList>
15#include <memory>
16
17class KCompletionMatchesWrapper;
18class KCompletionMatchesPrivate;
19
21
22/**
23 * @class KCompletionMatches kcompletionmatches.h KCompletionMatches
24 *
25 * This structure is returned by KCompletion::allWeightedMatches().
26 * It also keeps the weight of the matches, allowing
27 * you to modify some matches or merge them with matches
28 * from another call to allWeightedMatches(), and sort the matches
29 * after that in order to have the matches ordered correctly.
30 *
31 * Example (a simplified example of what Konqueror's completion does):
32 * \code
33 * KCompletionMatches matches = completion->allWeightedMatches(location);
34 * if(!location.startsWith("www."))
35 matches += completion->allWeightedmatches("www." + location");
36 * matches.removeDuplicates();
37 * QStringList list = matches.list();
38 * \endcode
39 *
40 * @short List for keeping matches returned from KCompletion
41 */
42class KCOMPLETION_EXPORT KCompletionMatches : public KCompletionMatchesList
43{
44public:
45 Q_DECLARE_PRIVATE(KCompletionMatches)
46 /**
47 * Default constructor.
48 * @param sort if false, the matches won't be sorted before the conversion,
49 * use only if you're sure the sorting is not needed
50 */
51 KCompletionMatches(bool sort);
52
53 /**
54 * copy constructor.
55 */
57
58 /**
59 * assignment operator.
60 */
62
63 /**
64 * @internal
65 */
66 KCompletionMatches(const KCompletionMatchesWrapper &matches);
67
68 /**
69 * default destructor.
70 */
72 /**
73 * Removes duplicate matches. Needed only when you merged several matches
74 * results and there's a possibility of duplicates.
75 */
76 void removeDuplicates();
77 /**
78 * Returns the matches as a QStringList.
79 * @param sort if false, the matches won't be sorted before the conversion,
80 * use only if you're sure the sorting is not needed
81 * @return the list of matches
82 */
83 QStringList list(bool sort = true) const;
84 /**
85 * If sorting() returns false, the matches aren't sorted by their weight,
86 * even if true is passed to list().
87 * @return true if the matches won't be sorted
88 */
89 bool sorting() const;
90
91private:
92 std::unique_ptr<KCompletionMatchesPrivate> const d_ptr;
93};
94
95#endif // KCOMPLETIONMATCHES_H
This structure is returned by KCompletion::allWeightedMatches().
KSortableList is a QList which associates a key with each item in the list.
QList< T > & operator=(QList< T > &&other)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:01:30 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.