Isis 3.0 Object Programmers' Reference |
Home |
This handles arbitrary user-input stretches. More...
#include <ManualStretchType.h>
Signals | |
void | stretchChanged () |
Emitted when a new Stretch object is available. | |
Public Member Functions | |
ManualStretchType (const Histogram &, const Stretch &, const QString &name, const QColor &color) | |
This constructs a manual stretch type. | |
~ManualStretchType () | |
Destructor. | |
virtual void | setStretch (Stretch) |
Given an arbitrary stretch, this will re-interpret it, as best as possible, into a manual stretch. | |
virtual Stretch | getStretch () |
Returns the current stretch object. | |
virtual void | setHistogram (const Histogram &) |
This should be called when the visible area changes. | |
Protected Slots | |
void | updateGraph () |
This updates the graph with the current stretch object. | |
void | updateTable () |
This updates the table with the current stretch pairs. | |
Protected Member Functions | |
QTableWidget * | createStretchTable () |
This creates the stretch pairs table. | |
Protected Attributes | |
QGridLayout * | p_mainLayout |
Main layout. | |
Histogram * | p_cubeHist |
Visible area histogram. | |
QTableWidget * | p_table |
Pairs table. | |
HistogramWidget * | p_graph |
Histogram graph. | |
Stretch * | p_stretch |
Current stretch pairs stored here. | |
Private Slots | |
void | addButtonPressed (bool) |
This is called when a user clicks "Add / Edit" and is responsible for adding the pair into the correct location or editing the pair at that location (input value). | |
void | deleteButtonPressed (bool) |
This is called when a user clicks "Delete" and is responsible for removing the pair with the given input value. | |
void | readTable () |
Private Member Functions | |
Stretch | convertTableToStretch () |
Private Attributes | |
QLabel * | p_errorMessage |
This handles arbitrary user-input stretches.
This is designed to take any stretch pairs the user wants that we can handle.
Definition at line 31 of file ManualStretchType.h.
Isis::ManualStretchType::ManualStretchType | ( | const Histogram & | hist, |
const Stretch & | stretch, | ||
const QString & | name, | ||
const QColor & | color | ||
) |
This constructs a manual stretch type.
hist | |
stretch | |
name | |
color |
Definition at line 24 of file ManualStretchType.cpp.
References addButtonPressed(), deleteButtonPressed(), Isis::StretchType::p_mainLayout, Isis::StretchType::p_table, setStretch(), Isis::StretchType::stretchChanged(), and Isis::StretchType::updateTable().
Isis::ManualStretchType::~ManualStretchType | ( | ) |
Destructor.
Definition at line 66 of file ManualStretchType.cpp.
|
privateslot |
This is called when a user clicks "Add / Edit" and is responsible for adding the pair into the correct location or editing the pair at that location (input value).
Definition at line 98 of file ManualStretchType.cpp.
References Isis::StretchType::p_table.
Referenced by ManualStretchType().
|
protectedinherited |
This creates the stretch pairs table.
Definition at line 103 of file StretchType.cpp.
Referenced by Isis::StretchType::StretchType().
|
privateslot |
This is called when a user clicks "Delete" and is responsible for removing the pair with the given input value.
Definition at line 107 of file ManualStretchType.cpp.
References _FILEINFO_, Isis::StretchType::p_table, and Isis::IException::User.
Referenced by ManualStretchType().
|
virtualinherited |
Returns the current stretch object.
Reimplemented in Isis::LinearStretchType.
Definition at line 183 of file StretchType.cpp.
References Isis::StretchType::p_stretch.
Referenced by Isis::StretchType::savePairs(), and Isis::StretchType::updateTable().
|
virtualinherited |
This should be called when the visible area changes.
It updates the graph and calls setStretch() so that the children have a chance to update their GUI elements too.
hist |
Definition at line 91 of file StretchType.cpp.
References Isis::StretchType::p_cubeHist, Isis::StretchType::p_graph, Isis::StretchType::p_stretch, Isis::HistogramWidget::setHistogram(), and Isis::StretchType::setStretch().
Referenced by Isis::AdvancedStretch::setHistogram().
|
virtual |
Given an arbitrary stretch, this will re-interpret it, as best as possible, into a manual stretch.
It is required that a stretch that represents a manual stretch always translate into itself and does not cause a stretchChanged().
It is necessary to always update slider positions in this method even if the stretch did not change.
Good thing this is a manual stretch so no interpretation is really needed.
newStretch | Stretch to interpret |
Implements Isis::StretchType.
Definition at line 84 of file ManualStretchType.cpp.
References Isis::Stretch::CopyPairs(), Isis::StretchType::p_stretch, Isis::StretchType::stretchChanged(), Isis::Stretch::Text(), and Isis::StretchType::updateTable().
Referenced by ManualStretchType().
|
signalinherited |
Emitted when a new Stretch object is available.
Referenced by Isis::BinaryStretchType::endEditChanged(), Isis::LinearStretchType::endEditChanged(), ManualStretchType(), Isis::SawtoothStretchType::offsetEditChanged(), Isis::LinearStretchType::setStretch(), Isis::BinaryStretchType::setStretch(), setStretch(), Isis::SawtoothStretchType::setStretch(), Isis::BinaryStretchType::startEditChanged(), Isis::LinearStretchType::startEditChanged(), Isis::StretchType::StretchType(), and Isis::SawtoothStretchType::widthEditChanged().
|
protectedslotinherited |
This updates the graph with the current stretch object.
Definition at line 122 of file StretchType.cpp.
References Isis::StretchType::p_graph, Isis::StretchType::p_stretch, and Isis::HistogramWidget::setStretch().
Referenced by Isis::StretchType::StretchType().
|
protectedslotinherited |
This updates the table with the current stretch pairs.
Definition at line 130 of file StretchType.cpp.
References Isis::StretchType::getStretch(), Isis::Stretch::Input(), Isis::Stretch::Output(), Isis::StretchType::p_table, and Isis::Stretch::Pairs().
Referenced by ManualStretchType(), setStretch(), and Isis::StretchType::StretchType().
|
protectedinherited |
Visible area histogram.
Definition at line 67 of file StretchType.h.
Referenced by Isis::BinaryStretchType::BinaryStretchType(), Isis::BinaryStretchType::calculateNewStretch(), Isis::SawtoothStretchType::calculateNewStretch(), Isis::BinaryStretchType::endEditChanged(), Isis::LinearStretchType::endEditChanged(), Isis::BinaryStretchType::endSliderMoved(), Isis::LinearStretchType::endSliderMoved(), Isis::SawtoothStretchType::offsetEditChanged(), Isis::SawtoothStretchType::offsetSliderMoved(), Isis::SawtoothStretchType::SawtoothStretchType(), Isis::StretchType::setHistogram(), Isis::LinearStretchType::setStretch(), Isis::BinaryStretchType::setStretch(), Isis::SawtoothStretchType::setStretch(), Isis::BinaryStretchType::startEditChanged(), Isis::LinearStretchType::startEditChanged(), Isis::BinaryStretchType::startSliderMoved(), Isis::LinearStretchType::startSliderMoved(), Isis::StretchType::StretchType(), Isis::SawtoothStretchType::widthEditChanged(), Isis::SawtoothStretchType::widthSliderMoved(), and Isis::StretchType::~StretchType().
|
protectedinherited |
Histogram graph.
Definition at line 69 of file StretchType.h.
Referenced by Isis::StretchType::setHistogram(), Isis::StretchType::StretchType(), and Isis::StretchType::updateGraph().
|
protectedinherited |
Main layout.
Definition at line 66 of file StretchType.h.
Referenced by Isis::BinaryStretchType::BinaryStretchType(), Isis::LinearStretchType::LinearStretchType(), ManualStretchType(), Isis::SawtoothStretchType::SawtoothStretchType(), and Isis::StretchType::StretchType().
|
protectedinherited |
Current stretch pairs stored here.
Definition at line 70 of file StretchType.h.
Referenced by Isis::BinaryStretchType::endEditChanged(), Isis::LinearStretchType::endEditChanged(), Isis::LinearStretchType::getStretch(), Isis::StretchType::getStretch(), Isis::SawtoothStretchType::offsetEditChanged(), Isis::StretchType::setHistogram(), Isis::LinearStretchType::setStretch(), Isis::BinaryStretchType::setStretch(), setStretch(), Isis::SawtoothStretchType::setStretch(), Isis::BinaryStretchType::startEditChanged(), Isis::LinearStretchType::startEditChanged(), Isis::StretchType::StretchType(), Isis::StretchType::updateGraph(), Isis::SawtoothStretchType::widthEditChanged(), and Isis::StretchType::~StretchType().
|
protectedinherited |
Pairs table.
Definition at line 68 of file StretchType.h.
Referenced by addButtonPressed(), deleteButtonPressed(), ManualStretchType(), Isis::StretchType::StretchType(), and Isis::StretchType::updateTable().