GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Public Member Functions | Protected Member Functions | Static Private Attributes | List of all members
UrlFilter Class Reference

A filter which matches URLs in blocks of text. More...

#include "Filter.h"

Inheritance diagram for UrlFilter:
Inheritance graph
[legend]
Collaboration diagram for UrlFilter:
Collaboration graph
[legend]

Classes

class  HotSpot
 Hotspot type created by UrlFilter instances. More...
 

Public Member Functions

 UrlFilter ()
 
HotSpothotSpotAt (int line, int column) const
 Adds a new line of text to the filter and increments the line count. More...
 
QList< HotSpot * > hotSpots () const
 Returns the list of hotspots identified by the filter. More...
 
QList< HotSpot * > hotSpotsAtLine (int line) const
 Returns the list of hotspots identified by the filter which occur on a given line. More...
 
virtual void process ()
 Reimplemented to search the filter's text buffer for text matching regExp() More...
 
QRegExp regExp () const
 Returns the regular expression which the filter searches for in blocks of text. More...
 
void reset ()
 Empties the filters internal buffer and resets the line count back to 0. More...
 
void setBuffer (const QString *buffer, const QList< int > *linePositions)
 TODO: Document me. More...
 
void setRegExp (const QRegExp &text)
 Sets the regular expression which the filter searches for in blocks of text. More...
 

Protected Member Functions

void addHotSpot (HotSpot *)
 Adds a new hotspot to the list. More...
 
const QString * buffer ()
 Returns the internal buffer. More...
 
void getLineColumn (int position, int &startLine, int &startColumn)
 Converts a character position within buffer() to a line and column. More...
 
virtual RegExpFilter::HotSpotnewHotSpot (int, int, int, int)
 Called when a match for the regular expression is encountered. More...
 

Static Private Attributes

static const QRegExp CompleteUrlRegExp
 
static const QRegExp EmailAddressRegExp
 
static const QRegExp FullUrlRegExp
 

Detailed Description

A filter which matches URLs in blocks of text.

Definition at line 248 of file Filter.h.

Constructor & Destructor Documentation

UrlFilter::UrlFilter ( )

Definition at line 506 of file Filter.cpp.

References CompleteUrlRegExp, and RegExpFilter::setRegExp().

Member Function Documentation

void Filter::addHotSpot ( HotSpot spot)
protectedinherited

Adds a new hotspot to the list.

Definition at line 250 of file Filter.cpp.

References Filter::_hotspotList, and Filter::_hotspots.

Referenced by RegExpFilter::process().

const QString * Filter::buffer ( )
protectedinherited

Returns the internal buffer.

Definition at line 243 of file Filter.cpp.

References Filter::_buffer.

Referenced by RegExpFilter::process(), and Filter::setBuffer().

void Filter::getLineColumn ( int  position,
int startLine,
int startColumn 
)
protectedinherited

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

Definition at line 204 of file Filter.cpp.

References Filter::_buffer, and Filter::_linePositions.

Referenced by RegExpFilter::process().

Filter::HotSpot * Filter::hotSpotAt ( int  line,
int  column 
) const
inherited

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

References Filter::_hotspots, column, Filter::HotSpot::endColumn(), Filter::HotSpot::endLine(), Filter::HotSpot::startColumn(), and Filter::HotSpot::startLine().

Referenced by FilterChain::hotSpotAt().

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

Returns the list of hotspots identified by the filter.

Definition at line 259 of file Filter.cpp.

References Filter::_hotspotList.

Referenced by FilterChain::hotSpots().

QList< Filter::HotSpot * > Filter::hotSpotsAtLine ( int  line) const
inherited

Returns the list of hotspots identified by the filter which occur on a given line.

Definition at line 263 of file Filter.cpp.

References Filter::_hotspots.

RegExpFilter::HotSpot * UrlFilter::newHotSpot ( int  startLine,
int  startColumn,
int  endLine,
int  endColumn 
)
protectedvirtual

Called when a match for the regular expression is encountered.

Subclasses should reimplement this to return custom hotspot types

Reimplemented from RegExpFilter.

Definition at line 416 of file Filter.cpp.

void RegExpFilter::process ( )
virtualinherited

Reimplemented to search the filter's text buffer for text matching regExp()

If regexp matches the empty string, then process() will return immediately without finding results.

Implements Filter.

Definition at line 363 of file Filter.cpp.

References RegExpFilter::_searchText, Filter::addHotSpot(), Filter::buffer(), Filter::getLineColumn(), and RegExpFilter::newHotSpot().

QRegExp RegExpFilter::regExp ( ) const
inherited

Returns the regular expression which the filter searches for in blocks of text.

Definition at line 355 of file Filter.cpp.

References RegExpFilter::_searchText.

Referenced by RegExpFilter::setRegExp().

void Filter::reset ( void  )
inherited

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

All hotspots are deleted.

Definition at line 192 of file Filter.cpp.

References Filter::_hotspotList, and Filter::_hotspots.

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

TODO: Document me.

Definition at line 198 of file Filter.cpp.

References Filter::_buffer, Filter::_linePositions, and Filter::buffer().

void RegExpFilter::setRegExp ( const QRegExp &  text)
inherited

Sets the regular expression which the filter searches for in blocks of text.

Regular expressions which match the empty string are treated as not matching anything.

Definition at line 351 of file Filter.cpp.

References RegExpFilter::_searchText, and RegExpFilter::regExp().

Referenced by UrlFilter().

Member Data Documentation

const QRegExp UrlFilter::CompleteUrlRegExp
staticprivate

Definition at line 293 of file Filter.h.

Referenced by UrlFilter().

const QRegExp UrlFilter::EmailAddressRegExp
staticprivate

Definition at line 290 of file Filter.h.

Referenced by UrlFilter::HotSpot::urlType().

const QRegExp UrlFilter::FullUrlRegExp
staticprivate

Definition at line 289 of file Filter.h.

Referenced by UrlFilter::HotSpot::urlType().


The documentation for this class was generated from the following files: