util
KDevelop Namespace Reference
This file implements algorithms that allow managing a sorted list of items, and managing "free" items for reuse efficiently in that list. More...
Classes | |
| class | ActiveToolTip |
| This class implements a tooltip that can contain arbitrary widgets that the user can interact with. More... | |
| class | ActiveToolTipManager |
| Internal. More... | |
| class | CommandExecutor |
| Simplifying the exeuction of a Command through (QK)Process. More... | |
| class | ConstantConvenientEmbeddedSet |
| A convenience-class for accessing the data in a set managed by the EmbeddedFreeTree algorithms. More... | |
| class | ConvenientEmbeddedSetFilterIterator |
| An iterator that allows efficient matching between two lists with different data type. More... | |
| class | ConvenientEmbeddedSetIterator |
| Convenient iterator that automatically skips invalid/free items in the array. More... | |
| class | ConvenientEmbeddedSetTreeFilterIterator |
| Filters a list-embedded set by a binary tree set as managed by the SetRepository data structures. More... | |
| class | ConvenientEmbeddedSetTreeFilterVisitor |
| Same as above, except that it visits all filtered items with a visitor, instead of iterating over them. More... | |
| class | ConvenientFreeListSet |
| This is a simple set implementation based on the embedded free tree algorithms. More... | |
| class | EmbeddedTreeAddItem |
| Use this to add items. More... | |
| class | EmbeddedTreeAlgorithms |
| Responsible for handling the items in the list This is an example. More... | |
| class | EmbeddedTreeRemoveItem |
| Use this to add items. More... | |
| class | EnvironmentGroupList |
| This class manages a list of environment groups, each group containing a number of environment variables and their values. More... | |
| class | EnvironmentSelectionWidget |
| Simple compobox which allows each plugin to decide which environment variable group to use. More... | |
| class | FocusedTreeView |
| Specialized version of QTreeView, that allows efficiently managing an extremely long list of items, by focusing the size of the horizontal scroll-bars only on the currently visible items. More... | |
Functions | |
| void | decode (KConfigGroup cfg, EnvironmentGroupListPrivate *d) |
| void | encode (KConfigGroup cfg, EnvironmentGroupListPrivate *d) |
| QString | joinWithEscaping (const QStringList &input, const QChar &joinchar, const QChar &escapechar) |
| QString | qvariantToString (const QVariant &variant) |
| QStringList | splitWithEscaping (const QString &input, const QChar &splitchar, const QChar &escapechar) |
| QVariant | stringToQVariant (const QString &s) |
Variables | |
| static const QString | defaultEnvGroupKey = "Default Environment Group" |
| static const QString | envGroup = "Environment Settings" |
| static const QString | groupListKey = "Group List" |
Detailed Description
This file implements algorithms that allow managing a sorted list of items, and managing "free" items for reuse efficiently in that list.
Convenience class to catch output of QProcess.
Wrapper around KShared for use with KSharedPtr when the object is based on QObject as well.
Among those free items a tree is built, and they are traversed on insertion/removal to manage free items in the tree.
There is specific needs on the embedded items:
- They must be markable "invalid", so after they are deleted they can stay in their place as invalid items.
- While they are invalid, they still must be able to hold 2 integers, needed for managing the tree of free items.
- One integer is needed for each list to hold a pointer to the central free item.
Only these functions must be used to manipulate the lists, from the beginning up. First create an empty list and initialize centralFreeItem with -1, and then you start adding items.
Since the list is sorted, and each item can be contained only once, these lists actually represent a set.
EmbeddedTreeAlgorithms implements an efficient "contains" function that uses binary search within the list.
Instead of deleting the object once the reference-count reaches zero, QObject::deleteLater() is called. This prevents a possible crash when the reference-count reaches zero during event-processing while the queue contains events to be delivered to that object.
Notice however that the object will not be deleted immediately, which may lead to unintended behavior.
Function Documentation
convert the variant into a string which can then be stored easily in a KConfig entry.
This supports any QVariant type (including custom types) for which there is a QDataStream operator defined
KDE 4.4 API Reference