Isis 3.0 Object Programmers' Reference |
Home |
This handles the advanced linear stretch. More...
#include <LinearStretchType.h>
Signals | |
void | stretchChanged () |
Emitted when a new Stretch object is available. | |
Public Member Functions | |
LinearStretchType (const Histogram &, const Stretch &, const QString &name, const QColor &color) | |
This constructs a linear stretch type. | |
~LinearStretchType () | |
Destructor. | |
virtual Stretch | getStretch () |
Returns the current stretch object. | |
virtual void | setStretch (Stretch) |
Given an arbitrary stretch, this will re-interpret it, as best as possible, into a linear stretch. | |
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 | startSliderMoved (int) |
This is called when the start point slider moves. | |
void | startEditChanged (const QString &) |
A new start point was typed in. | |
void | endSliderMoved (int) |
This is called when the end point slider moves. | |
void | endEditChanged (const QString &) |
A new end point was typed in. | |
Private Attributes | |
QSlider * | p_startSlider |
Line start pt slider. | |
QLineEdit * | p_startEdit |
Line start pt edit. | |
QSlider * | p_endSlider |
Line end pt slider. | |
QLineEdit * | p_endEdit |
Line end pt edit. | |
bool | p_sliderOverride |
This is used to let the edits be changed to where sliders cant go. | |
bool | p_editOverride |
This is used to let the edits be changed without updating the stretch. | |
This handles the advanced linear stretch.
The linear stretch is what happens without the advanced stretch tool. This is useful for visualizing and making adjustments of the linear stretch with a histogram of the data.
Definition at line 28 of file LinearStretchType.h.
Isis::LinearStretchType::LinearStretchType | ( | const Histogram & | hist, |
const Stretch & | stretch, | ||
const QString & | name, | ||
const QColor & | color | ||
) |
This constructs a linear stretch type.
hist | |
stretch | |
name | |
color |
Definition at line 23 of file LinearStretchType.cpp.
References endEditChanged(), endSliderMoved(), p_editOverride, p_endEdit, p_endSlider, Isis::StretchType::p_mainLayout, p_sliderOverride, p_startEdit, p_startSlider, setStretch(), startEditChanged(), and startSliderMoved().
Isis::LinearStretchType::~LinearStretchType | ( | ) |
Destructor.
Definition at line 83 of file LinearStretchType.cpp.
|
protectedinherited |
This creates the stretch pairs table.
Definition at line 103 of file StretchType.cpp.
Referenced by Isis::StretchType::StretchType().
|
privateslot |
A new end point was typed in.
Update the slider and calculate a new stretch.
Definition at line 224 of file LinearStretchType.cpp.
References Isis::Stretch::AddPair(), Isis::Stretch::CopyPairs(), Isis::Stretch::Input(), Isis::Statistics::Maximum(), Isis::Statistics::Minimum(), Isis::StretchType::p_cubeHist, p_editOverride, p_endEdit, p_endSlider, p_sliderOverride, Isis::StretchType::p_stretch, Isis::StretchType::stretchChanged(), Isis::Stretch::Text(), and Isis::toDouble().
Referenced by LinearStretchType(), and setStretch().
|
privateslot |
This is called when the end point slider moves.
It ensures a valid state and updates the stretch pairs.
Definition at line 204 of file LinearStretchType.cpp.
References Isis::Statistics::Maximum(), Isis::Statistics::Minimum(), Isis::StretchType::p_cubeHist, p_endEdit, p_endSlider, p_sliderOverride, and p_startSlider.
Referenced by LinearStretchType().
|
virtual |
Returns the current stretch object.
Reimplemented from Isis::StretchType.
Definition at line 252 of file LinearStretchType.cpp.
References Isis::StretchType::p_stretch.
|
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 linear stretch.
It is required that a stretch that represents a linear 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.
newStretch | Stretch to interpret |
Implements Isis::StretchType.
Definition at line 98 of file LinearStretchType.cpp.
References Isis::Stretch::AddPair(), Isis::Statistics::BestMaximum(), Isis::Statistics::BestMinimum(), Isis::Histogram::BinSize(), Isis::Stretch::CopyPairs(), endEditChanged(), Isis::Stretch::Input(), Isis::StretchType::p_cubeHist, p_editOverride, p_endEdit, p_startEdit, Isis::StretchType::p_stretch, Isis::Stretch::Pairs(), startEditChanged(), Isis::StretchType::stretchChanged(), and Isis::Stretch::Text().
Referenced by LinearStretchType().
|
privateslot |
A new start point was typed in.
Update the slider and calculate a new stretch.
Definition at line 172 of file LinearStretchType.cpp.
References Isis::Stretch::AddPair(), Isis::Stretch::CopyPairs(), Isis::Stretch::Input(), Isis::Statistics::Maximum(), Isis::Statistics::Minimum(), Isis::StretchType::p_cubeHist, p_editOverride, p_endEdit, p_sliderOverride, p_startEdit, p_startSlider, Isis::StretchType::p_stretch, Isis::StretchType::stretchChanged(), and Isis::Stretch::Text().
Referenced by LinearStretchType(), and setStretch().
|
privateslot |
This is called when the start point slider moves.
It ensures a valid state and updates the stretch pairs.
Definition at line 152 of file LinearStretchType.cpp.
References Isis::Statistics::Maximum(), Isis::Statistics::Minimum(), Isis::StretchType::p_cubeHist, p_endSlider, p_sliderOverride, p_startEdit, and p_startSlider.
Referenced by LinearStretchType().
|
signalinherited |
Emitted when a new Stretch object is available.
Referenced by Isis::BinaryStretchType::endEditChanged(), endEditChanged(), Isis::ManualStretchType::ManualStretchType(), Isis::SawtoothStretchType::offsetEditChanged(), setStretch(), Isis::BinaryStretchType::setStretch(), Isis::ManualStretchType::setStretch(), Isis::SawtoothStretchType::setStretch(), Isis::BinaryStretchType::startEditChanged(), 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 Isis::ManualStretchType::ManualStretchType(), Isis::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(), endEditChanged(), Isis::BinaryStretchType::endSliderMoved(), endSliderMoved(), Isis::SawtoothStretchType::offsetEditChanged(), Isis::SawtoothStretchType::offsetSliderMoved(), Isis::SawtoothStretchType::SawtoothStretchType(), Isis::StretchType::setHistogram(), setStretch(), Isis::BinaryStretchType::setStretch(), Isis::SawtoothStretchType::setStretch(), Isis::BinaryStretchType::startEditChanged(), startEditChanged(), Isis::BinaryStretchType::startSliderMoved(), startSliderMoved(), Isis::StretchType::StretchType(), Isis::SawtoothStretchType::widthEditChanged(), Isis::SawtoothStretchType::widthSliderMoved(), and Isis::StretchType::~StretchType().
|
private |
This is used to let the edits be changed without updating the stretch.
Definition at line 56 of file LinearStretchType.h.
Referenced by endEditChanged(), LinearStretchType(), setStretch(), and startEditChanged().
|
private |
Line end pt edit.
Definition at line 50 of file LinearStretchType.h.
Referenced by endEditChanged(), endSliderMoved(), LinearStretchType(), setStretch(), and startEditChanged().
|
private |
Line end pt slider.
Definition at line 49 of file LinearStretchType.h.
Referenced by endEditChanged(), endSliderMoved(), LinearStretchType(), and startSliderMoved().
|
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(), LinearStretchType(), Isis::ManualStretchType::ManualStretchType(), Isis::SawtoothStretchType::SawtoothStretchType(), and Isis::StretchType::StretchType().
|
private |
This is used to let the edits be changed to where sliders cant go.
Definition at line 53 of file LinearStretchType.h.
Referenced by endEditChanged(), endSliderMoved(), LinearStretchType(), startEditChanged(), and startSliderMoved().
|
private |
Line start pt edit.
Definition at line 48 of file LinearStretchType.h.
Referenced by LinearStretchType(), setStretch(), startEditChanged(), and startSliderMoved().
|
private |
Line start pt slider.
Definition at line 47 of file LinearStretchType.h.
Referenced by endSliderMoved(), LinearStretchType(), startEditChanged(), and startSliderMoved().
|
protectedinherited |
Current stretch pairs stored here.
Definition at line 70 of file StretchType.h.
Referenced by Isis::BinaryStretchType::endEditChanged(), endEditChanged(), getStretch(), Isis::StretchType::getStretch(), Isis::SawtoothStretchType::offsetEditChanged(), Isis::StretchType::setHistogram(), Isis::BinaryStretchType::setStretch(), setStretch(), Isis::ManualStretchType::setStretch(), Isis::SawtoothStretchType::setStretch(), Isis::BinaryStretchType::startEditChanged(), 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 Isis::ManualStretchType::addButtonPressed(), Isis::ManualStretchType::deleteButtonPressed(), Isis::ManualStretchType::ManualStretchType(), Isis::StretchType::StretchType(), and Isis::StretchType::updateTable().