Isis 3 Programmer Reference
Isis::FilterWidget Class Reference

This widget contains filtering capabilities for a single filter type. More...

#include <FilterWidget.h>

Inheritance diagram for Isis::FilterWidget:
Inheritance graph
Collaboration diagram for Isis::FilterWidget:
Collaboration graph

Signals

void filterChanged ()
 
void scrollToBottom ()
 

Public Member Functions

 FilterWidget (QString)
 
 FilterWidget (const FilterWidget &)
 
template<typename T >
bool evaluate (const T *t, bool(AbstractFilter::*meth)() const) const
 
bool evaluate (const QPair< QString, ControlNet * > *) const
 
bool evaluate (const ControlPoint *point) const
 
bool evaluate (const ControlMeasure *measure) const
 
bool hasFilter (bool(AbstractFilter::*)() const) const
 
FilterWidgetoperator= (FilterWidget other)
 

Private Slots

void addGroup ()
 
void deleteGroup (FilterGroup *)
 
void changeGroupCombinationLogic (int)
 
void updateDescription ()
 
void maybeScroll (FilterGroup *)
 

Private Member Functions

void nullify ()
 
void init ()
 
QList< FilterGroup * > groupsWithCondition (bool(FilterGroup::*)() const) const
 
void updateDescription (QLabel *label, bool(AbstractFilter::*)() const, QString(AbstractFilter::*)() const, QString)
 
void addGroup (FilterGroup *newGroup)
 

Private Attributes

QPushButton * m_addGroupButton
 
QButtonGroup * m_buttonGroup
 
QLabel * m_imageDescription
 
QLabel * m_imageDummy
 
QLabel * m_pointDescription
 
QLabel * m_pointDummy
 
QLabel * m_measureDescription
 
QLabel * m_measureDummy
 
QVBoxLayout * m_mainLayout
 
QWidgetm_logicWidget
 
bool m_andGroupsTogether
 
QList< FilterGroup * > * m_filterGroups
 
QString * m_filterType
 

Detailed Description

This widget contains filtering capabilities for a single filter type.

The filter types are (strings containing exactly): Connections Images and Points Points and Measures

Todo
Add type safety to filter types.

This class does the visualization and editing of the filter groups. An interface is provided for evaluating all of the contained filters.

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.

2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.

2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.

Definition at line 58 of file FilterWidget.h.

Constructor & Destructor Documentation

◆ FilterWidget() [1/2]

Isis::FilterWidget::FilterWidget ( QString type)
explicit

Definition at line 35 of file FilterWidget.cpp.

◆ FilterWidget() [2/2]

Isis::FilterWidget::FilterWidget ( const FilterWidget & other)

Definition at line 46 of file FilterWidget.cpp.

◆ ~FilterWidget()

Isis::FilterWidget::~FilterWidget ( )
virtual

Definition at line 63 of file FilterWidget.cpp.

Member Function Documentation

◆ addGroup [1/2]

void Isis::FilterWidget::addGroup ( )
privateslot

Definition at line 332 of file FilterWidget.cpp.

◆ addGroup() [2/2]

void Isis::FilterWidget::addGroup ( FilterGroup * newGroup)
private

Definition at line 338 of file FilterWidget.cpp.

◆ changeGroupCombinationLogic

void Isis::FilterWidget::changeGroupCombinationLogic ( int button)
privateslot

Definition at line 362 of file FilterWidget.cpp.

◆ deleteGroup

void Isis::FilterWidget::deleteGroup ( FilterGroup * filterGroup)
privateslot

Definition at line 353 of file FilterWidget.cpp.

◆ evaluate() [1/4]

bool Isis::FilterWidget::evaluate ( const ControlMeasure * measure) const

Definition at line 91 of file FilterWidget.cpp.

◆ evaluate() [2/4]

bool Isis::FilterWidget::evaluate ( const ControlPoint * point) const

Definition at line 86 of file FilterWidget.cpp.

◆ evaluate() [3/4]

bool Isis::FilterWidget::evaluate ( const QPair< QString, ControlNet * > * imageAndNet) const

Definition at line 81 of file FilterWidget.cpp.

◆ evaluate() [4/4]

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

Definition at line 67 of file FilterWidget.h.

◆ hasFilter()

bool Isis::FilterWidget::hasFilter ( bool(AbstractFilter::*)() const meth) const

Definition at line 96 of file FilterWidget.cpp.

◆ init()

void Isis::FilterWidget::init ( )
private

Definition at line 160 of file FilterWidget.cpp.

◆ maybeScroll

void Isis::FilterWidget::maybeScroll ( FilterGroup * group)
privateslot

Definition at line 324 of file FilterWidget.cpp.

◆ nullify()

void Isis::FilterWidget::nullify ( )
private

Definition at line 148 of file FilterWidget.cpp.

◆ operator=()

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

Definition at line 106 of file FilterWidget.cpp.

◆ updateDescription [1/2]

void Isis::FilterWidget::updateDescription ( )
privateslot

Definition at line 258 of file FilterWidget.cpp.

◆ updateDescription() [2/2]

void Isis::FilterWidget::updateDescription ( QLabel * label,
bool(AbstractFilter::*)() const hasFilterMeth,
QString(AbstractFilter::*)() const descriptionMeth,
QString title )
private

Definition at line 268 of file FilterWidget.cpp.

Member Data Documentation

◆ m_addGroupButton

QPushButton* Isis::FilterWidget::m_addGroupButton
private

Definition at line 125 of file FilterWidget.h.

◆ m_andGroupsTogether

bool Isis::FilterWidget::m_andGroupsTogether
private

Definition at line 136 of file FilterWidget.h.

◆ m_buttonGroup

QButtonGroup* Isis::FilterWidget::m_buttonGroup
private

Definition at line 126 of file FilterWidget.h.

◆ m_filterGroups

QList< FilterGroup * >* Isis::FilterWidget::m_filterGroups
private

Definition at line 138 of file FilterWidget.h.

◆ m_filterType

QString* Isis::FilterWidget::m_filterType
private

Definition at line 139 of file FilterWidget.h.

◆ m_imageDescription

QLabel* Isis::FilterWidget::m_imageDescription
private

Definition at line 127 of file FilterWidget.h.

◆ m_imageDummy

QLabel* Isis::FilterWidget::m_imageDummy
private

Definition at line 128 of file FilterWidget.h.

◆ m_logicWidget

QWidget* Isis::FilterWidget::m_logicWidget
private

Definition at line 134 of file FilterWidget.h.

◆ m_mainLayout

QVBoxLayout* Isis::FilterWidget::m_mainLayout
private

Definition at line 133 of file FilterWidget.h.

◆ m_measureDescription

QLabel* Isis::FilterWidget::m_measureDescription
private

Definition at line 131 of file FilterWidget.h.

◆ m_measureDummy

QLabel* Isis::FilterWidget::m_measureDummy
private

Definition at line 132 of file FilterWidget.h.

◆ m_pointDescription

QLabel* Isis::FilterWidget::m_pointDescription
private

Definition at line 129 of file FilterWidget.h.

◆ m_pointDummy

QLabel* Isis::FilterWidget::m_pointDummy
private

Definition at line 130 of file FilterWidget.h.


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