GNU Octave  3.8.0
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
Public Member Functions | List of all members
FilterChain Class Reference

A chain which allows a group of filters to be processed as one. More...

#include "Filter.h"

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

Public Member Functions

virtual ~FilterChain ()
void addFilter (Filter *filter)
 Adds a new filter to the chain.
void clear ()
 Removes all filters from the chain.
bool containsFilter (Filter *filter)
 Returns true if the chain contains filter.
Filter::HotSpothotSpotAt (int line, int column) const
 Returns the first hotspot which occurs at line, column or 0 if no hotspot was found.
QList< Filter::HotSpot * > hotSpots () const
 Returns a list of all the hotspots in all the chain's filters.
QList< Filter::HotSpothotSpotsAtLine (int line) const
 Returns a list of all hotspots at the given line in all the chain's filters.
void process ()
 Processes each filter in the chain.
void removeFilter (Filter *filter)
 Removes a filter from the chain.
void reset ()
 Resets each filter in the chain.
void setBuffer (const QString *buffer, const QList< int > *linePositions)
 Sets the buffer for each filter in the chain to process.

Detailed Description

A chain which allows a group of filters to be processed as one.

The chain owns the filters added to it and deletes them when the chain itself is destroyed.

Use addFilter() to add a new filter to the chain. When new text to be filtered arrives, use addLine() to add each additional line of text which needs to be processed and then after adding the last line, use process() to cause each filter in the chain to process the text.

After processing a block of text, the reset() method can be used to set the filter chain's internal cursor back to the first line.

The hotSpotAt() method will return the first hotspot which covers a given position.

The hotSpots() and hotSpotsAtLine() method return all of the hotspots in the text and on a given line respectively.

Definition at line 324 of file Filter.h.

Constructor & Destructor Documentation

FilterChain::~FilterChain ( )
virtual

Definition at line 40 of file Filter.cpp.

References filter().

Member Function Documentation

void FilterChain::addFilter ( Filter filter)

Adds a new filter to the chain.

The chain will delete this filter when it is destroyed

Definition at line 52 of file Filter.cpp.

void FilterChain::clear ( void  )

Removes all filters from the chain.

Definition at line 82 of file Filter.cpp.

bool FilterChain::containsFilter ( Filter filter)

Returns true if the chain contains filter.

Definition at line 60 of file Filter.cpp.

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

Returns the first hotspot which occurs at line, column or 0 if no hotspot was found.

Definition at line 86 of file Filter.cpp.

References filter(), and Filter::hotSpotAt().

Referenced by TerminalView::filterActions(), and TerminalView::mouseMoveEvent().

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

Returns a list of all the hotspots in all the chain's filters.

Definition at line 102 of file Filter.cpp.

References filter(), and Filter::hotSpots().

Referenced by TerminalView::hotSpotRegion(), and TerminalView::paintFilters().

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

Returns a list of all hotspots at the given line in all the chain's filters.

void FilterChain::process ( )

Processes each filter in the chain.

Definition at line 76 of file Filter.cpp.

Referenced by TerminalView::processFilters().

void FilterChain::removeFilter ( Filter filter)

Removes a filter from the chain.

The chain will no longer delete the filter when destroyed

Definition at line 56 of file Filter.cpp.

void FilterChain::reset ( void  )

Resets each filter in the chain.

Definition at line 64 of file Filter.cpp.

Referenced by TerminalImageFilterChain::setImage().

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

Sets the buffer for each filter in the chain to process.

Definition at line 70 of file Filter.cpp.

Referenced by TerminalImageFilterChain::setImage().


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