Isis 3 Programmer Reference
Isis::FilterGroup Class Reference

This class provides an interface for a group of filters. More...

#include <FilterGroup.h>

Inheritance diagram for Isis::FilterGroup:
Inheritance graph
Collaboration diagram for Isis::FilterGroup:
Collaboration graph

Signals

void close (FilterGroup *)
 
void filterChanged ()
 
void sizeChanged (FilterGroup *)
 

Public Member Functions

 FilterGroup (QString type)
 
 FilterGroup (const FilterGroup &other)
 
template<typename T >
bool evaluate (const T *t, bool(AbstractFilter::*meth)() const) const
 
bool hasFilter (bool(AbstractFilter::*)() const =NULL) const
 
QString getDescription (bool(AbstractFilter::*)() const, QString(AbstractFilter::*)() const) const
 
bool filtersAreAndedTogether () const
 
FilterGroupoperator= (FilterGroup other)
 

Private Slots

void addSelector ()
 
void deleteSelector (AbstractFilterSelector *)
 
void sendClose ()
 
void sendSizeChanged ()
 
void changeFilterCombinationLogic (int)
 

Private Member Functions

bool hasSelectorWithCondition (bool(AbstractFilterSelector::*)() const) const
 
void nullify ()
 
void init ()
 
void addSelector (AbstractFilterSelector *newSelector)
 

Private Attributes

QButtonGroup * m_buttonGroup
 
QPushButton * m_closeButton
 
QPushButton * m_newSelectorButton
 
QVBoxLayout * m_groupBoxLayout
 
QWidgetm_logicWidget
 
QList< AbstractFilterSelector * > * m_selectors
 
bool m_andFiltersTogether
 
QString * m_filterType
 

Detailed Description

This class provides an interface for a group of filters.

Filters within a group are logically connected (AND/OR operations). An interface is provided for evaluating all of the filters in the group.

Author
????-??-?? Eric Hyer
History

2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".

2015-11-16 Ian Humphrey - Removed embedded icons. References #1041.

2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.

Definition at line 40 of file FilterGroup.h.

Constructor & Destructor Documentation

◆ FilterGroup() [1/2]

Isis::FilterGroup::FilterGroup ( QString type)
explicit

Definition at line 35 of file FilterGroup.cpp.

◆ FilterGroup() [2/2]

Isis::FilterGroup::FilterGroup ( const FilterGroup & other)

Definition at line 45 of file FilterGroup.cpp.

◆ ~FilterGroup()

Isis::FilterGroup::~FilterGroup ( )
virtual

Definition at line 78 of file FilterGroup.cpp.

Member Function Documentation

◆ addSelector [1/2]

void Isis::FilterGroup::addSelector ( )
privateslot

Definition at line 179 of file FilterGroup.cpp.

◆ addSelector() [2/2]

void Isis::FilterGroup::addSelector ( AbstractFilterSelector * newSelector)
private

Definition at line 192 of file FilterGroup.cpp.

◆ changeFilterCombinationLogic

void Isis::FilterGroup::changeFilterCombinationLogic ( int button)
privateslot

Definition at line 234 of file FilterGroup.cpp.

◆ deleteSelector

void Isis::FilterGroup::deleteSelector ( AbstractFilterSelector * filterSelector)
privateslot

Definition at line 210 of file FilterGroup.cpp.

◆ evaluate()

template<typename T >
bool Isis::FilterGroup::evaluate ( const T * t,
bool(AbstractFilter::*)() const meth ) const
inline

Definition at line 49 of file FilterGroup.h.

◆ filtersAreAndedTogether()

bool Isis::FilterGroup::filtersAreAndedTogether ( ) const

Definition at line 240 of file FilterGroup.cpp.

◆ getDescription()

QString Isis::FilterGroup::getDescription ( bool(AbstractFilter::*)() const hasFilterMeth,
QString(AbstractFilter::*)() const descriptionMeth ) const

Definition at line 304 of file FilterGroup.cpp.

◆ hasFilter()

bool Isis::FilterGroup::hasFilter ( bool(AbstractFilter::*)() const meth = NULL) const

Definition at line 96 of file FilterGroup.cpp.

◆ init()

void Isis::FilterGroup::init ( )
private

Definition at line 117 of file FilterGroup.cpp.

◆ nullify()

void Isis::FilterGroup::nullify ( )
private

Definition at line 109 of file FilterGroup.cpp.

◆ operator=()

FilterGroup & Isis::FilterGroup::operator= ( FilterGroup other)

Definition at line 245 of file FilterGroup.cpp.

◆ sendClose

void Isis::FilterGroup::sendClose ( )
privateslot

Definition at line 224 of file FilterGroup.cpp.

◆ sendSizeChanged

void Isis::FilterGroup::sendSizeChanged ( )
privateslot

Definition at line 229 of file FilterGroup.cpp.

Member Data Documentation

◆ m_andFiltersTogether

bool Isis::FilterGroup::m_andFiltersTogether
private

Definition at line 110 of file FilterGroup.h.

◆ m_buttonGroup

QButtonGroup* Isis::FilterGroup::m_buttonGroup
private

Definition at line 101 of file FilterGroup.h.

◆ m_closeButton

QPushButton* Isis::FilterGroup::m_closeButton
private

Definition at line 102 of file FilterGroup.h.

◆ m_filterType

QString* Isis::FilterGroup::m_filterType
private

Definition at line 111 of file FilterGroup.h.

◆ m_groupBoxLayout

QVBoxLayout* Isis::FilterGroup::m_groupBoxLayout
private

Definition at line 104 of file FilterGroup.h.

◆ m_logicWidget

QWidget* Isis::FilterGroup::m_logicWidget
private

Definition at line 105 of file FilterGroup.h.

◆ m_newSelectorButton

QPushButton* Isis::FilterGroup::m_newSelectorButton
private

Definition at line 103 of file FilterGroup.h.

◆ m_selectors

QList< AbstractFilterSelector * >* Isis::FilterGroup::m_selectors
private

Definition at line 109 of file FilterGroup.h.


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