Isis Developer Reference
|
#include <SpectralPlotWindow.h>
Public Types | |
enum | MenuOptions { ShowHideMarkersMenuOption = 1 , ShowHideCurvesMenuOption = 2 , ShowTableMenuOption = 4 , SaveMenuOption = 8 , PrintMenuOption = 16 , TrackMenuOption = 32 , BackgroundSwitchMenuOption = 64 , ShowHideGridMenuOption = 128 , RenameLabelsMenuOption = 256 , SetDisplayRangeMenuOption = 512 , ResetScaleMenuOption = 1024 , ClearPlotMenuOption = 2048 , DefaultHelpMenuOption = 4096 , LineFitMenuOption = 8192 , ConfigurePlotMenuOption = 16384 , AllMenuOptions } |
There is a menu option for everything in the plot window's menu. More... | |
Public Slots | |
void | setBandMarkersVisible (bool visible) |
void | clearPlot () |
This method completely clears the plot of all plot items. | |
void | configurePlotCurves () |
This method creates a CubePlotCurveConfigureDialog object. | |
void | createBestFitLine () |
This method prompts the user to select the best fit line criterea. | |
void | printPlot () |
Provides printing support of the plot image. | |
void | changePlotLabels () |
This method creates the dialog box which allows the user to relabel the plot window. | |
void | savePlot () |
This method allows the user to save the plot as a png, jpg, or tif image file. | |
void | setDefaultRange () |
Resets the x/y min/max to the defaults. | |
void | setLabels () |
Makes the user specified changes to the plot labels. | |
void | setUserValues () |
This method sets the scale for the axis according to the user specified numbers. | |
void | showHideAllMarkers () |
Shows/Hides all the markers(symbols) | |
void | showHideAllCurves () |
This method shows or hides all of the curves in the plotWindow. | |
void | resetScale () |
Sets plot scale back to the defaults. | |
void | showHideGrid () |
This method hides/shows the grid on the plotWindow and changes the text for the action. | |
void | showHelp () |
This method creates and shows the help dialog box for the plot window. | |
void | showTable () |
This method is called from the showTable action on the tool bar There are some checks done to make sure there are data to fill the table. | |
void | switchBackground () |
This method toggles the plot background color between black and white. | |
void | trackerEnabled () |
Enables the plot mouse tracker. | |
void | scheduleFillTable () |
Fills in the table with the data from the current curves in the plotWindow once all current actions/activations are done. | |
void | fillTable () |
Fills in the table with the data from the current curves in the plotWindow immediately. | |
Signals | |
void | closed () |
Emitted when there is a close event on this window that will be accepted. | |
void | plotChanged () |
Emitted every time there is a change to the plot window. | |
void | requestFillTable () |
Public Member Functions | |
SpectralPlotWindow (PlotCurve::Units xUnits, QWidget *parent) | |
This constructs a spectral plot window. | |
~SpectralPlotWindow () | |
bool | bandMarkersVisible () const |
void | setViewport (MdiCubeViewport *cvp) |
This class needs to know which viewport the user is looking at so it can appropriately draw in the band lines. | |
void | update (MdiCubeViewport *activeViewport) |
This window can show markers for the currently visible bands. | |
virtual void | add (CubePlotCurve *pc) |
This method adds the curves to the plot. | |
virtual void | clearPlotCurves () |
This method also clears the plot of all plot items, but does not call the table delete stuff This method is called from plotTool each time the changePlot() method is called. | |
bool | canAdd (CubePlotCurve *curveToTest) const |
This method tests whethere or not a CubePlotCurve can be successfully added to this window. | |
QColor | plotBackgroundColor () const |
Returns the plot's background color. | |
QList< CubePlotCurve * > | plotCurves () |
Get a comprehensive list of the plot curves inside of this plot window, excluding plot curves that are in the process of being removed. | |
QList< const CubePlotCurve * > | plotCurves () const |
Get a comprehensive const list of the plot curves inside of this plot window, excluding plot curves that are in the process of being removed. | |
QList< QwtPlotSpectrogram * > | plotSpectrograms () |
Get a comprehensive list of the scatter plots (spectrograms) inside of this plot window. | |
QList< const QwtPlotSpectrogram * > | plotSpectrograms () const |
Get a comprehensive const list of the scatter plots (spectrograms) inside of this plot window. | |
QString | plotTitle () const |
Returns the plot title. | |
bool | userCanAddCurves () const |
Ask if a user action can add this curve to this window in general. | |
PlotCurve::Units | xAxisUnits () const |
This is the data-type of the curves' x data in this plot window. | |
PlotCurve::Units | yAxisUnits () const |
This is the data-type of the curves' y data in this plot window. | |
virtual void | paint (MdiCubeViewport *vp, QPainter *painter) |
Paint plot curve information onto the viewport. | |
void | replot () |
Reset the scale of the plot, replot it and emit plot changed. | |
void | setAxisLabel (int axisId, QString title) |
Sets the plots given axis title to the given string. | |
void | setPlotBackground (QColor c) |
Sets the plot background color to the given color. | |
void | setPlotTitle (QString pt) |
Sets the plot title to the given string. | |
void | setUserCanAddCurves (bool) |
Allow or disallow users from manually putting curves into this plot window through either copy-and-paste or drag-and-drop. | |
void | showWindow () |
Shows the plot window, and raises it to the front of any overlapping sibling widgets. | |
Static Public Member Functions | |
static QString | defaultWindowTitle () |
This is the typical suffix for plot windows, it's here in case we want to update all plot windows to have a different ending than just 'Plot' on them (for example, 'Plot Window'). | |
static QString | settingsFileName (QString objectTitle) |
Protected Member Functions | |
void | createWidgets (MenuOptions optionsToProvide) |
This method is called by the constructor to create the plot, legend. | |
void | disableAxisAutoScale () |
This turns off scaling the x/y axes automatically. | |
virtual void | dragEnterEvent (QDragEnterEvent *event) |
When a user drags data into our plot window, we need to indicate whether or not this data is compatible with this window. | |
virtual void | dropEvent (QDropEvent *event) |
This is called when a user drops data into our window. | |
virtual bool | eventFilter (QObject *o, QEvent *e) |
This method filters the events of the objects it is connected to. | |
void | mousePressEvent (QObject *object, QMouseEvent *e) |
This is a helper method for the eventFilter() method. | |
QwtPlot * | plot () |
Get the plot encapsulated by this PlotWindow. | |
void | setMenus (QList< QMenu * > menus, QList< QAction * > actions) |
Sets up the menus added from a parent object. | |
QwtPlotZoomer * | zoomer () |
Get this window's plot's zoomer. | |
QString | settingsFileName () const |
virtual void | closeEvent (QCloseEvent *event) |
This method is overridden so that we can be sure to write the current settings of the Main window. | |
virtual void | readSettings (QSize defaultSize=QSize()) |
This method ensure that the settings get written even if the Main window was only hidden, not closed. | |
|
inherited |
There is a menu option for everything in the plot window's menu.
This is provided so that you can enable/disable any given option.
Isis::SpectralPlotWindow::SpectralPlotWindow | ( | PlotCurve::Units | xUnits, |
QWidget * | parent ) |
This constructs a spectral plot window.
The spectral plot window graphs a spectral curve sent to it via the addPlotCurve() method.
xUnits | The units to use for the x-axis: usually wavelength/band # |
parent | The Qt-parent relationship parent for this window |
References setBandMarkersVisible().
Isis::SpectralPlotWindow::~SpectralPlotWindow | ( | ) |
|
virtualinherited |
This method adds the curves to the plot.
pc |
Reimplemented in Isis::HistogramPlotWindow.
References Isis::PlotWindow::canAdd(), Isis::PlotWindow::fillTable(), Isis::PlotWindow::plot(), Isis::PlotWindow::plotChanged(), Isis::PlotWindow::replot(), and Isis::PlotWindow::resetScale().
Referenced by Isis::PlotWindow::dropEvent().
bool Isis::SpectralPlotWindow::bandMarkersVisible | ( | ) | const |
|
inherited |
This method tests whethere or not a CubePlotCurve can be successfully added to this window.
Plot curves with mismatched X/Y data from the plot's x/y axis types can not be added to the window. This does not test whether or not a user is allowed to add the curve manually, just if the curve can be added programatically.
curveToTest | The plot curve to test for compatibility with this window |
Referenced by Isis::PlotWindow::add().
|
slotinherited |
This method creates the dialog box which allows the user to relabel the plot window.
References Isis::PlotWindow::plot(), and Isis::PlotWindow::setLabels().
|
slotinherited |
This method completely clears the plot of all plot items.
i.e. curves and markers, which also deletes the legend also calls the necessary method to delete the table stuff
References Isis::PlotWindow::clearPlotCurves(), and Isis::TableMainWindow::table().
|
virtualinherited |
This method also clears the plot of all plot items, but does not call the table delete stuff This method is called from plotTool each time the changePlot() method is called.
References Isis::PlotWindow::replot().
Referenced by Isis::PlotWindow::clearPlot().
|
signalinherited |
Emitted when there is a close event on this window that will be accepted.
Referenced by Isis::PlotWindow::eventFilter().
|
protectedvirtualinherited |
This method is overridden so that we can be sure to write the current settings of the Main window.
event |
Reimplemented in Isis::TableMainWindow, and Isis::ViewportMainWindow.
Referenced by Isis::TableMainWindow::closeEvent(), and Isis::ViewportMainWindow::closeEvent().
|
slotinherited |
This method creates a CubePlotCurveConfigureDialog object.
When there are no curves in this PlotWindow, the dialog will not be created.
References Isis::PlotWindow::plotChanged(), and Isis::PlotWindow::plotCurves().
|
slotinherited |
This method prompts the user to select the best fit line criterea.
The PlotWindowBestFitDialog will create the best fit line automatically when the user asks for one, so we don't need to worry about doing any more than showing a dialog here.
References Isis::PlotWindow::plot().
|
protectedinherited |
This method is called by the constructor to create the plot, legend.
zoomer, and main window.
optionsToProvide | This is a bit-flag containing information on which menu options to give the user/put in the GUI. |
Referenced by Isis::PlotWindow::PlotWindow().
|
staticinherited |
This is the typical suffix for plot windows, it's here in case we want to update all plot windows to have a different ending than just 'Plot' on them (for example, 'Plot Window').
Referenced by Isis::HistogramTool::createWindow(), Isis::SpatialPlotTool::createWindow(), and Isis::SpectralPlotTool::createWindow().
|
protectedinherited |
This turns off scaling the x/y axes automatically.
Use this if you have a very specific axis range you want to use, but keep in mind that users (potentially) have an option to re-enable axis auto scaling if they want to.
Referenced by Isis::ScatterPlotWindow::ScatterPlotWindow().
|
protectedvirtualinherited |
When a user drags data into our plot window, we need to indicate whether or not this data is compatible with this window.
This checks userCanAddCurve() on the drag & drop data and allows or disallowed the event accordingly.
event | The drag event to test |
|
protectedvirtualinherited |
This is called when a user drops data into our window.
The dragEnterEvent() must have said that this curve is compatible with this window. This provides all of the available options to the user (if any) set by the creator of the drag & drop event (i.e. whether or not we can move or just copy). If there are options, we create a context menu - otherwise the default action is taken.
event | The drop event containing the curve to put into the current window. |
References Isis::PlotWindow::add(), and Isis::PlotWindow::plotChanged().
|
protectedvirtualinherited |
This method filters the events of the objects it is connected to.
In this case, the eventFilter has been installed on the m_plot and m_legend.
o | |
e |
Reimplemented in Isis::ScatterPlotWindow.
References Isis::PlotWindow::closed(), Isis::PlotWindow::mousePressEvent(), and Isis::PlotWindow::plot().
Referenced by Isis::ScatterPlotWindow::eventFilter().
|
slotinherited |
Fills in the table with the data from the current curves in the plotWindow immediately.
References Isis::TableMainWindow::addToTable(), Isis::IsSpecial(), Isis::TableMainWindow::listWidget(), Isis::Null, Isis::PlotWindow::plotCurves(), Isis::TableMainWindow::table(), Isis::toDouble(), and Isis::toString().
Referenced by Isis::PlotWindow::add(), Isis::PlotWindow::PlotWindow(), and Isis::PlotWindow::showTable().
|
protectedinherited |
This is a helper method for the eventFilter() method.
When a mouse press event is seen, this handles it. For example, if the user right clicks and the clipboard contains compatible data then this will give a paste option.
object | The object which was pressed |
event | The mouse event which contains button information |
Referenced by Isis::PlotWindow::eventFilter().
|
virtualinherited |
Paint plot curve information onto the viewport.
vp | The cube viewport to paint onto |
painter | The painter to use for painting |
Reimplemented in Isis::ScatterPlotWindow.
References Isis::PlotWindow::plotCurves().
Referenced by Isis::ScatterPlotWindow::paint(), and Isis::AbstractPlotTool::paintViewport().
|
protectedinherited |
Get the plot encapsulated by this PlotWindow.
Referenced by Isis::PlotWindow::add(), Isis::HistogramPlotWindow::add(), Isis::PlotWindow::changePlotLabels(), Isis::ScatterPlotWindow::colorPlot(), Isis::PlotWindow::createBestFitLine(), Isis::PlotWindow::eventFilter(), Isis::ScatterPlotWindow::eventFilter(), Isis::HistogramPlotWindow::HistogramPlotWindow(), Isis::PlotWindow::PlotWindow(), Isis::ScatterPlotWindow::ScatterPlotWindow(), Isis::PlotWindow::setDefaultRange(), and Isis::ScatterPlotWindow::setMousePosition().
|
inherited |
Returns the plot's background color.
|
signalinherited |
Emitted every time there is a change to the plot window.
Referenced by Isis::PlotWindow::add(), Isis::PlotWindow::configurePlotCurves(), Isis::PlotWindow::dropEvent(), Isis::PlotWindow::PlotWindow(), and Isis::PlotWindow::replot().
|
inherited |
Get a comprehensive list of the plot curves inside of this plot window, excluding plot curves that are in the process of being removed.
Referenced by Isis::PlotWindow::configurePlotCurves(), Isis::PlotWindow::fillTable(), Isis::PlotWindow::paint(), Isis::PlotWindow::showTable(), and Isis::PlotWindow::~PlotWindow().
|
inherited |
Get a comprehensive const list of the plot curves inside of this plot window, excluding plot curves that are in the process of being removed.
|
inherited |
Get a comprehensive list of the scatter plots (spectrograms) inside of this plot window.
|
inherited |
Get a comprehensive const list of the scatter plots (spectrograms) inside of this plot window.
|
inherited |
Returns the plot title.
|
slotinherited |
Provides printing support of the plot image.
|
protectedvirtualinherited |
This method ensure that the settings get written even if the Main window was only hidden, not closed.
event | This method is called from the constructor so that when the Main window is created, it know's it's size and location. |
References Isis::MainWindow::settingsFileName().
Referenced by Isis::PlotWindow::PlotWindow(), Isis::TableMainWindow::TableMainWindow(), and Isis::ViewportMainWindow::ViewportMainWindow().
|
inherited |
Reset the scale of the plot, replot it and emit plot changed.
References Isis::PlotWindow::plotChanged(), and Isis::PlotWindow::resetScale().
Referenced by Isis::PlotWindow::add(), Isis::PlotWindow::clearPlotCurves(), Isis::ScatterPlotWindow::colorPlot(), Isis::ScatterPlotWindow::ScatterPlotWindow(), setBandMarkersVisible(), Isis::PlotWindow::setUserValues(), and Isis::ScatterPlotWindow::showHideContour().
|
signalinherited |
Referenced by Isis::PlotWindow::PlotWindow(), and Isis::PlotWindow::scheduleFillTable().
|
slotinherited |
Sets plot scale back to the defaults.
References Isis::PlotCurve::Band.
Referenced by Isis::PlotWindow::add(), and Isis::PlotWindow::replot().
|
slotinherited |
This method allows the user to save the plot as a png, jpg, or tif image file.
|
slotinherited |
Fills in the table with the data from the current curves in the plotWindow once all current actions/activations are done.
This is provided for performance reasons - re-plotting 4 curves only requires one fillTable at the end, instead of after each curve change.
References Isis::PlotWindow::requestFillTable().
Referenced by Isis::PlotWindow::PlotWindow().
|
inherited |
Sets the plots given axis title to the given string.
axisId | |
title |
|
slot |
|
slotinherited |
Resets the x/y min/max to the defaults.
References Isis::PlotWindow::plot(), and Isis::PlotWindow::setUserValues().
|
slotinherited |
Makes the user specified changes to the plot labels.
Referenced by Isis::PlotWindow::changePlotLabels().
|
protectedinherited |
Sets up the menus added from a parent object.
menu | |
actions |
|
inherited |
Sets the plot background color to the given color.
c |
Referenced by Isis::HistogramPlotWindow::HistogramPlotWindow(), and Isis::PlotWindow::PlotWindow().
|
inherited |
Sets the plot title to the given string.
This does not update the window title.
pt | The plot title to use |
Referenced by Isis::PlotWindow::PlotWindow().
|
protectedinherited |
References _FILEINFO_, and Isis::IException::Programmer.
Referenced by Isis::TableMainWindow::readColumnSettings(), Isis::TableMainWindow::readItemSettings(), Isis::BlinkTool::readSettings(), Isis::MainWindow::readSettings(), Isis::BlinkTool::writeSettings(), and Isis::TableMainWindow::writeSettings().
|
staticinherited |
References _FILEINFO_, and Isis::IException::Programmer.
|
inherited |
Allow or disallow users from manually putting curves into this plot window through either copy-and-paste or drag-and-drop.
userHasControl | True if users can add curves manually, false otherwise |
|
slotinherited |
This method sets the scale for the axis according to the user specified numbers.
References Isis::PlotWindow::replot().
Referenced by Isis::PlotWindow::setDefaultRange().
void Isis::SpectralPlotWindow::setViewport | ( | MdiCubeViewport * | cvp | ) |
This class needs to know which viewport the user is looking at so it can appropriately draw in the band lines.
cvp |
Referenced by update().
|
slotinherited |
This method creates and shows the help dialog box for the plot window.
this is called from the Help-->Basic Help menu.
|
slotinherited |
This method shows or hides all of the curves in the plotWindow.
|
slotinherited |
Shows/Hides all the markers(symbols)
|
slotinherited |
This method hides/shows the grid on the plotWindow and changes the text for the action.
|
slotinherited |
This method is called from the showTable action on the tool bar There are some checks done to make sure there are data to fill the table.
References Isis::PlotWindow::fillTable(), Isis::PlotWindow::plotCurves(), Isis::TableMainWindow::setTrackListItems(), and Isis::TableMainWindow::syncColumns().
|
inherited |
Shows the plot window, and raises it to the front of any overlapping sibling widgets.
Referenced by Isis::AbstractPlotTool::showPlotWindow().
|
slotinherited |
This method toggles the plot background color between black and white.
|
slotinherited |
Enables the plot mouse tracker.
|
virtual |
This window can show markers for the currently visible bands.
This will synchronize the markers with the given viewport.
activeViewport | The viewport to synchronize this plot window with |
Reimplemented from Isis::PlotWindow.
References setViewport().
|
inherited |
Ask if a user action can add this curve to this window in general.
This verifies that the user is allowed to add curves to this window but not that a particular curve is compatible with this window.
|
inherited |
This is the data-type of the curves' x data in this plot window.
All of the cube plot curves must have the same units for x axis data or the display will not make sense.
Referenced by Isis::PlotWindow::PlotWindow().
|
inherited |
This is the data-type of the curves' y data in this plot window.
All of the cube plot curves must have the same units for y-left axis data (y-right sometimes has different units) or the display will not make sense.
Referenced by Isis::PlotWindow::PlotWindow().
|
protectedinherited |
Get this window's plot's zoomer.
Referenced by Isis::ScatterPlotWindow::ScatterPlotWindow().