• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

Konsole

Konsole::Filter

Konsole::Filter Class Reference

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'. More...

#include <Filter.h>

Inheritance diagram for Konsole::Filter:

Inheritance graph
[legend]

List of all members.


Classes

class  HotSpot
 Represents an area of text which matched the pattern a particular filter has been looking for. More...

Public Member Functions

 Filter ()
HotSpot * hotSpotAt (int line, int column) const
QList< HotSpot * > hotSpots () const
QList< HotSpot * > hotSpotsAtLine (int line) const
virtual void process ()=0
void reset ()
void setBuffer (const QString *buffer, const QList< int > *linePositions)
virtual ~Filter ()

Protected Member Functions

void addHotSpot (HotSpot *)
const QString * buffer ()
void getLineColumn (int position, int &startLine, int &startColumn)

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()

Definition at line 55 of file Filter.h.


Constructor & Destructor Documentation

Filter::Filter (  ) 

Constructs a new filter.

Definition at line 179 of file Filter.cpp.

Filter::~Filter (  )  [virtual]

Definition at line 185 of file Filter.cpp.


Member Function Documentation

void Filter::addHotSpot ( HotSpot *  spot  )  [protected]

Adds a new hotspot to the list.

Definition at line 243 of file Filter.cpp.

const QString * Filter::buffer (  )  [protected]

Returns the internal buffer.

Definition at line 236 of file Filter.cpp.

void Filter::getLineColumn ( int  position,
int &  startLine,
int &  startColumn 
) [protected]

Converts a character position within buffer() to a line and column.

Definition at line 205 of file Filter.cpp.

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 261 of file Filter.cpp.

QList< Filter::HotSpot * > Filter::hotSpots (  )  const

Returns the list of hotspots identified by the filter.

Definition at line 252 of file Filter.cpp.

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 256 of file Filter.cpp.

virtual void Konsole::Filter::process (  )  [pure virtual]

Causes the filter to process the block of text currently in its internal buffer.

Implemented in Konsole::RegExpFilter.

void Filter::reset (  ) 

Empties the filters internal buffer and resets the line count back to 0.

All hotspots are deleted.

Definition at line 193 of file Filter.cpp.

void Filter::setBuffer ( const QString *  buffer,
const QList< int > *  linePositions 
)

TODO: Document me.

Definition at line 199 of file Filter.cpp.


The documentation for this class was generated from the following files:
  • Filter.h
  • Filter.cpp

Konsole

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

API Reference

Skip menu "API Reference"
  • Konsole
  • Libraries
  •   libkonq
Generated for API Reference by doxygen 1.5.7
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal