GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
FilterChain Class Reference

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

#include "Filter.h"

Inheritance diagram for FilterChain:
Collaboration diagram for FilterChain:

Public Member Functions

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

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 361 of file Filter.h.

Constructor & Destructor Documentation

◆ ~FilterChain()

FilterChain::~FilterChain ( )
virtual

Definition at line 39 of file Filter.cpp.

References filter().

Member Function Documentation

◆ addFilter()

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

References filter().

Referenced by QUnixTerminalImpl::initialize().

◆ clear()

void FilterChain::clear ( void  )

Removes all filters from the chain.

Definition at line 81 of file Filter.cpp.

◆ containsFilter()

bool FilterChain::containsFilter ( Filter filter)

Returns true if the chain contains filter.

Definition at line 59 of file Filter.cpp.

References filter().

◆ hotSpotAt()

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

References filter().

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

◆ hotSpots()

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

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

Definition at line 101 of file Filter.cpp.

References filter().

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

◆ hotSpotsAtLine()

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

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

◆ process()

void FilterChain::process ( )

Processes each filter in the chain.

Definition at line 75 of file Filter.cpp.

Referenced by TerminalView::processFilters().

◆ removeFilter()

void FilterChain::removeFilter ( Filter filter)

Removes a filter from the chain.

The chain will no longer delete the filter when destroyed

Definition at line 55 of file Filter.cpp.

References filter().

◆ reset()

void FilterChain::reset ( void  )

Resets each filter in the chain.

Definition at line 63 of file Filter.cpp.

Referenced by TerminalImageFilterChain::setImage().

◆ setBuffer()

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

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

Definition at line 69 of file Filter.cpp.

Referenced by TerminalImageFilterChain::setImage().


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