Konsole::Filter
#include <Filter.h>
Classes | |
class | HotSpot |
Public Member Functions | |
Filter () | |
HotSpot * | hotSpotAt (int line, int column) const |
const std::vector< std::unique_ptr< HotSpot > > & | hotSpots () const |
QList< HotSpot * > | hotSpotsAtLine (int line) const |
virtual void | process ()=0 |
void | reset () |
void | setBuffer (const QString *buffer, const QList< int > *linePositions) |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QBindable< QString > | bindableObjectName () |
bool | blockSignals (bool block) |
const QObjectList & | children () const const |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectInfo () const const |
void | dumpObjectTree () const const |
QList< QByteArray > | dynamicPropertyNames () const const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (Qt::FindChildOptions options) const const |
bool | inherits (const char *className) const const |
void | installEventFilter (QObject *filterObj) |
bool | isQuickItemType () const const |
bool | isWidgetType () const const |
bool | isWindowType () const const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const const |
void | moveToThread (QThread *targetThread) |
QString | objectName () const const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
QVariant | property (const char *name) const const |
Q_CLASSINFO (Name, Value) | |
Q_EMIT Q_EMIT | |
Q_ENUM (...) | |
Q_ENUM_NS (...) | |
Q_ENUMS (...) | |
Q_FLAG (...) | |
Q_FLAG_NS (...) | |
Q_FLAGS (...) | |
Q_GADGET Q_GADGET | |
Q_GADGET_EXPORT (EXPORT_MACRO) | |
Q_INTERFACES (...) | |
Q_INVOKABLE Q_INVOKABLE | |
Q_MOC_INCLUDE Q_MOC_INCLUDE | |
Q_NAMESPACE Q_NAMESPACE | |
Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
Q_OBJECT Q_OBJECT | |
Q_PROPERTY (...) | |
Q_REVISION Q_REVISION | |
Q_SET_OBJECT_NAME (Object) | |
Q_SIGNAL Q_SIGNAL | |
Q_SIGNALS Q_SIGNALS | |
Q_SLOT Q_SLOT | |
Q_SLOTS Q_SLOTS | |
T | qobject_cast (const QObject *object) |
T | qobject_cast (QObject *object) |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
void | removeEventFilter (QObject *obj) |
void | setObjectName (const QString &name) |
void | setObjectName (QAnyStringView name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | setProperty (const char *name, QVariant &&value) |
bool | signalsBlocked () const const |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType) |
QThread * | thread () const const |
Protected Member Functions | |
void | addHotSpot (std::unique_ptr< HotSpot > &&) |
const QString * | buffer () |
void | getLineColumn (int position, int &startLine, int &startColumn) |
Protected Member Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
bool | isSignalConnected (const QMetaMethod &signal) const const |
int | receivers (const char *signal) const const |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Additional Inherited Members | |
Public Types inherited from QObject | |
typedef | QObjectList |
Properties inherited from QObject | |
objectName | |
Static Public Member Functions inherited from QObject | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
Detailed Description
A filter processes blocks of text looking for certain patterns (such as URLs or keywords from a list) and marks the areas which match the filter's patterns as 'hotspots'.
Each hotspot has a type identifier associated with it ( such as a link or a highlighted section ), and an action. When the user performs some activity such as a mouse-click in a hotspot area ( the exact action will depend on what is displaying the block of text which the filter is processing ), the hotspot's activate() method should be called. Depending on the type of hotspot this will trigger a suitable response.
For example, if a hotspot represents a URL then a suitable action would be opening that URL in a web browser. Hotspots may have more than one action, in which case the list of actions can be obtained using the actions() method.
Different subclasses of filter will return different types of hotspot. Subclasses must reimplement the process() method to examine a block of text and identify sections of interest. When processing the text they should create instances of Filter::HotSpot subclasses for sections of interest and add them to the filter's list of hotspots using addHotSpot()
Constructor & Destructor Documentation
◆ Filter()
Filter::Filter | ( | ) |
Constructs a new filter.
Definition at line 172 of file Filter.cpp.
◆ ~Filter()
|
override |
Definition at line 178 of file Filter.cpp.
Member Function Documentation
◆ addHotSpot()
|
protected |
Adds a new hotspot to the list.
Definition at line 228 of file Filter.cpp.
◆ buffer()
|
protected |
Returns the internal buffer.
Definition at line 221 of file Filter.cpp.
◆ getLineColumn()
|
protected |
Converts a character position within buffer() to a line and column.
Definition at line 194 of file Filter.cpp.
◆ hotSpotAt()
Filter::HotSpot * Filter::hotSpotAt | ( | int | line, |
int | column ) const |
Adds a new line of text to the filter and increments the line count.
Returns the hotspot which covers the given line
and column
, or 0 if no hotspot covers that area
Definition at line 251 of file Filter.cpp.
◆ hotSpots()
const std::vector< std::unique_ptr< Filter::HotSpot > > & Filter::hotSpots | ( | ) | const |
Returns the list of hotspots identified by the filter.
Definition at line 237 of file Filter.cpp.
◆ hotSpotsAtLine()
QList< Filter::HotSpot * > Filter::hotSpotsAtLine | ( | int | line | ) | const |
Returns the list of hotspots identified by the filter which occur on a given line.
Definition at line 242 of file Filter.cpp.
◆ process()
|
pure virtual |
Causes the filter to process the block of text currently in its internal buffer.
Implemented in Konsole::RegExpFilter.
◆ reset()
void Filter::reset | ( | ) |
Empties the filters internal buffer and resets the line count back to 0.
All hotspots are deleted.
Definition at line 182 of file Filter.cpp.
◆ setBuffer()
TODO: Document me.
Definition at line 188 of file Filter.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Dec 6 2024 12:04:23 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.