#include <DisplayController.h>
Collaboration diagram for DisplayController:

It frequently implements the application logic which should neither be in the GUI nor in the display objects.
Sanket B. Malde <sanket@slac.stanford.edu>
Matan Shacham <matan@slac.stanford.edu>
Oded Wurman <owurman@stanford.edu>
Definition at line 63 of file DisplayController.h.
Public Member Functions | |
| DataRep * | activeDataRep (const PlotterBase *plotter) const |
| Returns the active DataRep object for the DataRep objects contained in the plotter. | |
| int | activeDataRepIndex (const PlotterBase *plotter) const |
| Returns the active DataRep index for the DataRep objects contained in the plotter. | |
| DataRep * | addDataRep (PlotterBase *plotter, const std::string &name, const DataSource *ntuple, const std::vector< std::string > &bindings) const |
| Creates a new DataRep object with class name name and adds it to the existing plotter. | |
| void | addDataRep (PlotterBase *, DataRep *) const |
| Adds the DataRep to the PlotterBase object by including it. | |
| DataRep * | addDataRepStacked (PlotterBase *plotter, const std::string &name, const DataSource *ntuple, const std::vector< std::string > &bindings) const |
| Creates a new DataRep object with class name name and adds it to the existing plotter by stacking it. | |
| LineDataRep * | addLineRep (PlotterBase *, hippodraw::Axes::Type, double value) |
| Adds a LineRep to the Plotter object. | |
| LineDataRep * | addLineRep (PlotterBase *, const std::string &axis, double value) |
| Adds a LineDataRep to the Plotter object. | |
| void | addTextViewToList (std::vector< const ViewBase * > &dest, const std::vector< const ViewBase * > &src) |
| Adds views from src to dest if they contain TextRep whose target is contained in dest. | |
| bool | areDataSourcesSaved (const PlotterBase *) |
Returns true if all the NTuple Objects used by the plotter are save to or read from a file. | |
| const std::vector< std::string > & | axisBindings (const PlotterBase *plotter, int index) const |
| Returns the axis bindings for the indexed projector, if any, otherwise returns an empty vector. | |
| const std::vector< std::string > & | axisBindings (const PlotterBase *plotter) const |
| Returns the axis bindings, if any, otherwise returns an empty vector. | |
| const std::vector< std::string > & | bindingOptions (const PlotterBase *plottter, int index) |
| Returns the axis bindings options for the DataRep contained by the plotter at index index. | |
| const std::vector< std::string > & | bindingOptions (const std::string &type) |
| Returns the axis binding options for a DataRep of type type. | |
| PlotterBase * | createDisplay (const std::string &name, const DataSource &tuple, const std::vector< std::string > &bindings) const |
| Creates a display object. | |
| PlotterBase * | createDisplay (const std::string &name) |
| Creates a display object. | |
| void | createNTuple (const PlotterBase *plotter) |
| Creates a NTuple from the plotter. | |
| DataRep * | createTextDataRep (const std::string &type, const std::string &text=std::string()) |
| Creates an object of a class derived from DataRep which is textual data representation of type type. | |
| PlotterBase * | createTextPlotter (DataRep *datarep, const std::string &name, const std::string &text=std::string()) |
| Creates a plotter object for the DataRep with text representation of type name. | |
| ViewBase * | createTextView (const ViewFactory *factory, PlotterBase *plotter, const std::string &name, const std::string &text=0) |
| Creates an object which is a derived class of ViewBase. | |
| ViewBase * | createTextView (const ViewFactory *factory, DataRep *rep, const std::string &name, const std::string &text=std::string()) |
| Creates an object which is a derived class of ViewBase. | |
| double | getAverage (const PlotterBase *plotter, hippodraw::Axes::Type axis, int index=0) const |
| Returns the average value. | |
| double | getAverage (const PlotterBase *plotter, const std::string &axis, int index=0) const |
| Returns the average value. | |
| const std::vector< std::string > & | getDataSourceLabels (const PlotterBase *plotter, int index) |
| Returns the labels of the DataSource columns for the DataRep contained in the plotter at index index. | |
| const std::string & | getDataSourceName (const PlotterBase *plotter, int index) |
| Returns the name of the DataSource for the DataRep contained in the plotter at index index. | |
| const std::vector< std::string > & | getDisplayTypes () const |
| Returns the types of displays available. | |
| bool | getLog (const PlotterBase *plotter, hippodraw::Axes::Type axis) const |
Returns true if the designated axis is on a logarithm scale. | |
| bool | getLog (const PlotterBase *plotter, const std::string &axis) const |
Returns true if the designated axis is on a logarithmic scale. | |
| DataSource * | getNTuple (const PlotterBase *, int index) |
| Returns the DataSource for the DataRep indexed by index. | |
| const DataSource * | getNTuple (const PlotterBase *) const |
| Returns the DataSource used by the selected DataRep, if any, otherwise return null pointer. | |
| int | getNumberOfEntries (const PlotterBase *plotter, int index=0) const |
| Returns the number of entries. | |
| unsigned int | getRepStyle (const PlotterBase *plotter) const |
| Returns the style of the point representation. | |
| double | getRMS (const PlotterBase *plotter, hippodraw::Axes::Type axis, int index=0) const |
| Returns the root mean square along the specified axis for DataRep indexed by index. | |
| double | getRMS (const PlotterBase *plotter, const std::string &axis, int index=0) const |
| Returns the root mean square along the specified axis for DataRep indexed by index. | |
| const std::vector< std::string > & | getTextTypes () const |
| Returns the types of text displays. | |
| const std::string & | getType (const PlotterBase *plotter, int index) const |
| Returns the type of DataRep contained in the plotter at index index. | |
| const std::vector< double > & | getValueBrkPt (PlotterBase *plotter) |
| Fetch slider values from the BinToColor model. | |
| int | getValueTransformIndex (PlotterBase *plotter) |
| Returns the index to list of value to color transform names of the plotter. | |
| const std::vector< std::string > & | getValueTransformTypes () const |
| Returns the types of value to color transforms available. | |
| bool | hasControlPoints (const PlotterBase *plotter) const |
Returns true if value to color transform has control points. | |
| bool | hasLineRep (const PlotterBase *plotter) const |
Returns true if active DataRep uses LinePointRep, otherwise returns false. | |
| bool | hasNTupleBindings (const PlotterBase *plotter, int index) |
Returns true if the DataRep contained by the plotter at index index has NTuple bindings. | |
| bool | hasSymbolRep (const PlotterBase *plotter) const |
Returns true if active DataRep uses SymbolPointRep, otherwise returns false. | |
| bool | isAxisBinned (PlotterBase *display, const std::string &axis) |
| Tests if specified axis is binned. | |
| bool | isDataValid (const DataRep *) const |
Returns true only if all the data in a bound DataSource are valid. | |
| bool | isDataValid (const PlotterBase *) const |
Returns true only if all the data in a bound DataSource are valid. | |
| float | pointSize (const PlotterBase *) const |
| Returns the size of the representation. | |
| void | remove (PlotterBase *) |
| Deletes a PlotterBase object. | |
| void | removeTextObservers (const std::vector< const ViewBase * > &views) |
| Removes TextRep Observer objects, if any, from its target. | |
| void | setActiveDataRepIndex (PlotterBase *plotter, int index) |
| Sets the active DataRep index. | |
| void | setAllIntervalEnabled (const PlotterBase *plotter, bool yes) |
| Sets the interval counting to yes of all the NTuple used by the plotter. | |
| void | setAxisBinding (PlotterBase *, const std::string &axis, const std::string &label) |
| Sets the axis binding, if any, otherwise does nothing. | |
| void | setAxisBindings (PlotterBase *plotter, const std::vector< std::string > &labels) const |
| Sets all the axis bindings, if any, otherwise does nothing. | |
| void | setBinWidth (PlotterBase *plotter, const std::string &axis, int parm, bool dragging) |
| Sets the bin width Sets the bin width parameter from dragging slider. | |
| void | setBinWidth (DataRep *datarep, hippodraw::Axes::Type axis, double width) |
| Sets the bin width of the DataRep object. | |
| void | setBinWidth (PlotterBase *plotter, hippodraw::Axes::Type axis, double width) |
| Sets the bin width parameter. | |
| void | setBinWidth (PlotterBase *plotter, const std::string &axis, double width) |
| Sets the bin width parameter. | |
| void | setErrorDisplayed (const PlotterBase *, hippodraw::Axes::Type axis, bool state) const |
| Set the error display. | |
| void | setIntervalCount (const PlotterBase *plotter, unsigned int count) |
| Sets the interval count on the the NTuple of the active DataRep of the plotter. | |
| void | setIntervalEnabled (const PlotterBase *plotter, bool yes) |
| Sets the interval counting to yes on the NTuple of the active DataRep of the plotter. | |
| void | setLog (PlotterBase *plotter, hippodraw::Axes::Type axis, bool flag, XYTransform *transform) |
| Sets a log scale on or off for the specified axis in special case that the transform object is a XYTransform. | |
| void | setLog (PlotterBase *plotter, hippodraw::Axes::Type axis, bool flag) |
| Sets the log scale on or off for the specified axis for the plotter. | |
| void | setLog (PlotterBase *plotter, const std::string &axis, bool flag) |
| Sets a log scale on or off for the specified axis for the plotter. | |
| void | setNTuple (PlotterBase *, const NTuple *) const |
| Sets the ntuple on the selected DataRep, if it has ntuple bindings, otherwise does nothing. | |
| void | setOffset (PlotterBase *plotter, hippodraw::Axes::Type axis, double offset) |
| Sets the offset parameter. | |
| void | setOffset (PlotterBase *plotter, const std::string &axis, int parm, bool dragging) |
| Sets the offset from dragging slider. | |
| void | setRange (PlotterBase *plotter, hippodraw::Axes::Type axis, const Range &range) |
| Sets the Range on specified axis. | |
| void | setRepresentation (PlotterBase *plotter, const std::string &point_rep) |
| Sets the type of RepBase object to be used by the selected DataRep. | |
| void | setRepSize (PlotterBase *plotter, float size) |
| Sets the size of the representation. | |
| void | setTransform (PlotterBase *plotter, const std::string &x, const std::string &y, const std::string &z) |
| Creates and sets the new XYZ transform for the display. | |
| void | setTransform (PlotterBase *plotter, const std::string &x, const std::string &y) |
| Creates and sets the new XY transform for the display. | |
| void | setTransform (PlotterBase *plotter, const std::string &name) |
| Creates and sets a new transform for the display. | |
| void | setValueBrkPt (PlotterBase *plotter, const std::vector< double > &sv) |
| Send slider values back to BinToColor model. | |
| void | setValueTransform (PlotterBase *plotter, int index, const std::vector< std::string > &usr_models, const std::vector< double > &brk_points, const std::vector< double > &flat_widths, const std::vector< double > &color_scales) |
| Sets a new value transform for the plotter with optional adding of model. | |
| void | setValueTransform (PlotterBase *plotter, int index) |
| Sets a new value transform for the plotter. | |
| void | stackDataRep (PlotterBase *, DataRep *) const |
| Adds the DataRep to the PlotterBase object by stacking it. | |
| ~DisplayController () | |
| The destructor. | |
Static Public Member Functions | |
| static DisplayController * | instance () |
| Returns the pointer to the singleton instance. | |
Private Member Functions | |
| PlotterBase * | createPlotter (const DataRep *rep) const |
| Returns a newly created PlotterBase object. | |
| DisplayController () | |
| A default constructor for avoiding creation except by itself or with derived classes. | |
| DisplayController (const DisplayController &) | |
| A private copy constructor in order to avoid copying. | |
| void | fixLogIfBinned (const PlotterBase *, DataRep *rep) const |
| Fixes the rep so it displays well on plotter. | |
| NTupleProjector * | getBindingProjector (const PlotterBase *) const |
| Returns projector that supports binding, if display has one, otherwise returns null pointer. | |
| ProjectorBase * | getProjector (const PlotterBase *display) const |
| Returns the currently selected projector in the plot. | |
| DataRep * | getUniqueWithNTupleBindings (const PlotterBase *plotter) |
| Returns the unique DataRep. | |
| bool | isCompatible (const PlotterBase *plotter, const std::string &reptype) const |
Returns true if adding a DataRep of type reptype to the PlotterBase @ plotter is compatible, otherwise returns false. | |
| void | setAxisModel (PlotterBase *plotter, hippodraw::Axes::Type axis, const std::string &type) |
| Sets the axis model to type. | |
| void | setBinner (PlotterBase *plotter, hippodraw::Axes::Type axis, AxisModelBase *model) |
| Sets the binner of of any Binning projectors to agree with AxisModel. | |
| void | setBinner (const PlotterBase *plotter, DataRep *rep, hippodraw::Axes::Type axis) const |
| Sets the binner on the DataRep. | |
Private Attributes | |
| std::string | m_null_string |
| A null string that is returned when reference to a valid string can not be found. | |
| std::vector< std::string > | m_null_vector |
| A empty vector of strings. | |
Static Private Attributes | |
| static DisplayController * | s_instance = 0 |
| The pointer to the singleton object. | |
|
|
A private copy constructor in order to avoid copying.
|
|
|
A default constructor for avoiding creation except by itself or with derived classes.
Definition at line 88 of file DisplayController.cxx. Referenced by instance(). |
|
|
The destructor.
Definition at line 92 of file DisplayController.cxx. |
|
|
Returns the active DataRep object for the DataRep objects contained in the plotter. If multiple DataRep objects are active, then returns an object that is not a FunctionRep if there is only one, otherwise returns null pointer. Definition at line 557 of file DisplayController.cxx. References activeDataRepIndex(). |
|
|
Returns the active DataRep index for the DataRep objects contained in the plotter. If multiple DataRep are active, then returns the index of non FunctionRep if there is only one, otherwise returns -1. Definition at line 545 of file DisplayController.cxx. References PlotterBase::activePlotIndex(), FunctionController::getUniqueNonFunctionIndex(), and FunctionController::instance(). Referenced by activeDataRep(), Inspector::contourLevelsTextBox_returnPressed(), Inspector::contourSlider_valueChanged(), Inspector::contourTextBox_returnPressed(), createTextView(), Inspector::cutNew(), Inspector::getDataCutList(), setErrorDisplayed(), setIntervalCount(), setIntervalEnabled(), setRepresentation(), Inspector::summaryNew(), Inspector::updateAxisTab(), and Inspector::updateDataCutsTab(). |
|
||||||||||||||||||||
|
Creates a new DataRep object with class name name and adds it to the existing plotter. Connects the newly created DataRep to ntuple and sets the bindings to bindings. Returns DataRep if successful, otherwise returns a null pointer if the class name could not be found.
Definition at line 292 of file DisplayController.cxx. References addDataRep(), DataRepController::createDataRep(), DataRepController::instance(), and isCompatible(). |
|
||||||||||||
|
Adds the DataRep to the PlotterBase object by including it.
Definition at line 367 of file DisplayController.cxx. References PlotterBase::addDataRep(), PlotterBase::checkAxisScaling(), fixLogIfBinned(), and DataRep::hasZeroRows(). Referenced by QtDisplay::addDataRep(), addDataRep(), QtDisplay::addFunction(), addLineRep(), and createDisplay(). |
|
||||||||||||||||||||
|
Creates a new DataRep object with class name name and adds it to the existing plotter by stacking it. Connects the newly created DataRep to ntuple and sets the bindings to bindings. Returns DataRep if successful, otherwise returns a null pointer if the class name could not be found.
Definition at line 319 of file DisplayController.cxx. References DataRepController::createDataRep(), DataRepController::instance(), isCompatible(), and stackDataRep(). Referenced by QtDisplay::addDataRepStacked(), and stackDataRep(). |
|
||||||||||||||||
|
Adds a LineRep to the Plotter object.
Definition at line 337 of file DisplayController.cxx. References addDataRep(). |
|
||||||||||||||||
|
Adds a LineDataRep to the Plotter object.
Definition at line 347 of file DisplayController.cxx. References hippodraw::Axes::convert(), and num_util::type(). |
|
||||||||||||
|
Adds views from src to dest if they contain TextRep whose target is contained in dest.
Definition at line 432 of file DisplayController.cxx. References std::find(), PlotterBase::getDataRep(), PlotterBase::getNumDataReps(), TextPlotter::getParentDataRep(), and ViewBase::getPlotter(). Referenced by CanvasView::fillSelectedWithObservers(). |
|
|
Returns
Definition at line 807 of file DisplayController.cxx. References getDataSourceName(), PlotterBase::getNumDataReps(), DataSourceController::instance(), and DataSourceController::isSaved(). Referenced by PlotterBaseXML::areDataSourcesSaved(). |
|
||||||||||||
|
Returns the axis bindings for the indexed projector, if any, otherwise returns an empty vector.
Definition at line 611 of file DisplayController.cxx. References NTupleProjector::getAxisBindings(), PlotterBase::getProjector(), and m_null_vector. |
|
|
Returns the axis bindings, if any, otherwise returns an empty vector.
Definition at line 577 of file DisplayController.cxx. References PlotterBase::activeProjector(), NTupleProjector::getAxisBindings(), and m_null_vector. |
|
||||||||||||
|
Returns the axis bindings options for the DataRep contained by the plotter at index index.
Definition at line 589 of file DisplayController.cxx. References DataRepController::bindingOptions(), PlotterBase::getDataRep(), and DataRepController::instance(). |
|
|
Returns the axis binding options for a DataRep of type type.
Definition at line 600 of file DisplayController.cxx. References DataRepController::instance(), and DataRepFactory::instance(). |
|
||||||||||||||||
|
Creates a display object. A DataRep of class name is created. The data rep is bound to NTuple tuple and the binding set by bindings. Returns a derived class of PlotterBase appropriate for the newly created data rep. If the class name could not be found, an exception is thrown. Definition at line 250 of file DisplayController.cxx. References addDataRep(), createPlotter(), FitsController::instance(), DataRepFactory::instance(), and Factory< Type >::prototype(). |
|
|
Creates a display object. A Display of class name is created. It should be a class that is not bound to an NTuple. Returns a derived class of PlotterBase appropriate for the newly created data rep. If the class name could not be found, an exception is thrown. Definition at line 227 of file DisplayController.cxx. References addDataRep(), createPlotter(), hasNTupleBindings(), and DataRepController::instance(). Referenced by QtDisplay::createDisplay(), and main(). |
|
|
Creates a NTuple from the plotter. Creates a NTuple from the contents of DataRep in the plotter. The plotter must have a single active DataRep, otherwise nothing is created. The created NTuple is registered with the NTupleController. Definition at line 1450 of file DisplayController.cxx. References DataSourceController::instance(). |
|
|
Returns a newly created PlotterBase object. The DataRep prototype, rep, is used to selected the kind of plotter required by the rep. Definition at line 272 of file DisplayController.cxx. References PlotterFactory::instance(), and hippodraw::Axes::Z. Referenced by createDisplay(). |
|
||||||||||||
|
Creates an object of a class derived from DataRep which is textual data representation of type type.
Definition at line 508 of file DisplayController.cxx. References Factory< Type >::create(), TextRepFactory::instance(), and RepBase::setText(). Referenced by createTextPlotter(). |
|
||||||||||||||||
|
Creates a plotter object for the DataRep with text representation of type name. Uses the optional text if needed by the text representation. Definition at line 522 of file DisplayController.cxx. References TextPlotter::addDataRep(), createTextDataRep(), and TextPlotter::setParentDataRep(). Referenced by createTextView(). |
|
||||||||||||||||||||
|
Creates an object which is a derived class of ViewBase. The ViewFactory factory is used for its creation. A TextRepBase object corresponding to name is created for use by the view. The view is made an observer of plotter. The text is displayed if not null. Definition at line 486 of file DisplayController.cxx. References activeDataRepIndex(), createTextView(), and PlotterBase::getDataRep(). |
|
||||||||||||||||||||
|
Creates an object which is a derived class of ViewBase. The ViewFactory factory is used for its creation. A TextRepBase object corresponding to name is created for use by the view. The target of the TextRepBase object is rep. The text is displayed if not null. Definition at line 534 of file DisplayController.cxx. References createTextPlotter(), and ViewFactory::createView(). Referenced by CanvasView::addTextDisplay(), CanvasView::addTextDisplayAt(), FunctionController::createFuncView(), and createTextView(). |
|
||||||||||||
|
Fixes the rep so it displays well on plotter. If the Plotter has an axis on the log scale, and if the corresponding axis of the DataRep is binned, then fix the DataRep so that binning is on a log scale. Definition at line 356 of file DisplayController.cxx. References setBinner(), hippodraw::Axes::X, and hippodraw::Axes::Y. Referenced by addDataRep(). |
|
||||||||||||||||
|
Returns the average value. Returns the average value for the DataRep indexed by index contained in the plotter. The average is taken along the axis axis. If index is out of range, raises an assertion. Definition at line 648 of file DisplayController.cxx. References getAverage(), and getProjector(). |
|
||||||||||||||||
|
Returns the average value. Returns the average value for the DataRep indexed by index contained in the plotter. The average is taken along the axis axis. If index is out of range, raises an assertion. Definition at line 638 of file DisplayController.cxx. References hippodraw::Axes::convert(). Referenced by getAverage(). |
|
|
Returns projector that supports binding, if display has one, otherwise returns null pointer.
Definition at line 704 of file DisplayController.cxx. References PlotterBase::getDataRep(), PlotterBase::getNumDataReps(), DataRep::getProjector(), and getProjector(). Referenced by getNTuple(), setAxisBindings(), and setNTuple(). |
|
||||||||||||
|
Returns the labels of the DataSource columns for the DataRep contained in the plotter at index index.
Definition at line 846 of file DisplayController.cxx. References PlotterBase::getDataRep(), DataSource::getLabels(), NTupleProjector::getNTuple(), DataRep::getProjector(), and m_null_vector. |
|
||||||||||||
|
Returns the name of the DataSource for the DataRep contained in the plotter at index index.
Definition at line 834 of file DisplayController.cxx. References PlotterBase::getDataRep(), NTupleProjector::getNTupleName(), DataRep::getProjector(), and m_null_string. Referenced by areDataSourcesSaved(). |
|
|
Returns the types of displays available.
Definition at line 218 of file DisplayController.cxx. References DataRepFactory::instance(). |
|
||||||||||||
|
Returns
Definition at line 960 of file DisplayController.cxx. References PlotterBase::getTransform(), TransformBase::name(), hippodraw::Axes::X, XYTransform::xTransform(), hippodraw::Axes::Y, XYTransform::yTransform(), hippodraw::Axes::Z, and BinaryTransform::zTransform(). |
|
||||||||||||
|
Returns
Definition at line 950 of file DisplayController.cxx. References hippodraw::Axes::convert(). Referenced by QtDisplay::getLog(), and QtDisplay::resize(). |
|
||||||||||||
|
Returns the DataSource for the DataRep indexed by index. Returns null pointer if DataRep does not having DataSource bindings. Definition at line 761 of file DisplayController.cxx. References PlotterBase::getDataRep(), getNTuple(), DataRep::getProjector(), and DataRep::hasNTupleBindings(). |
|
|