MAK RTIspy API Documentation for HLA 1.3
List of all members | Public Types | Public Slots | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions

Shows detailed statistics, presented as both trees and running graphs which can be populated from the tree data. More...

+ Inheritance diagram for DtTreesAndGraphWidget:
+ Collaboration diagram for DtTreesAndGraphWidget:

Public Types

enum  DtRowNameLoc { DtRowNameIsHeader, DtRowNameIsFirstColumn, DtNoRowNames }
typedef std::pair< unsigned,
QModelIndex > 
DtTreeAndModelIndex
 Type which pairs the tree index and QModelIndex to uniquely identify an index across all trees in the widget.

Public Slots

void deleteDialog (QWidget *graphDialog)
 Handles deletion of a graph dialog.
void processItemSelection (const QModelIndex &index)
 Processes item selection by enabling/disabling buttons and menu actions for the newly selected item.
void showContextMenu (const QPoint &point)
 Shows the context menu.
void graphSelectedItem ()
 Creates a graph for the selected item.
void graphSelectedItemRate ()
 Creates a graph for the rate of change for the selected item.
void updateSortingEnable ()
 Checks whether the trees should have sorting enabled or disabled.
void saveTreesToFile ()
 Saves the trees to a file.
void hideToolbar ()

Public Member Functions

 DtTreesAndGraphWidget (QWidget *parent=0, Qt::WindowFlags f=0)
 Constructor.
virtual ~DtTreesAndGraphWidget ()
 Destructor.
virtual QSize sizeHint () const
 Returns the recommended size for the widget.
unsigned addTree (const QString &name, const QString &description, QAbstractItemModel *model, DtRowNameLoc rowNameLoc, bool hideHeaders=false)
 Adds a new tree, must be called prior to initComplete.
void initComplete ()
 Initializes the widget, adding trees with each of the given names.
void enableValueGraphing (unsigned treeIndex, unsigned column, const QString &units)
 Enables the option to graph the value for the given column of the given tree.
void enableRateGraphing (unsigned treeIndex, unsigned column, const QString &units)
 Enables the option to graph the rate for the given column of the given tree.
void addSet (DtTreeAndModelIndex modelIndex)
 Adds a set to the graph for the given model index.
void deleteSet (DtTreeAndModelIndex modelIndex)
 Deletes the set matching the given model index from the graph.
void updateGraphs (double currentTime)
 Must be called periodically to update the graph.
void updateGraphsForTree (unsigned treeIndex, double currentTime)
 Updates the graphs for the specified tree.
void saveGuiConfiguration (QFile &configFile)
 Saves the GUI configuration to the given file.
void loadGuiConfiguration (QFile &configFile)
 Loads the GUI configuration from the given file.
void setFederateId (const QString &federateId)
 Sets the federate identification text.
void setFederateDescription (const QString &federateDescr)
 Sets the federate description text.

Protected Types

enum  TableFileFormat { TextTableFormat, CsvTableFormat }

Protected Member Functions

void initTrees ()
 Initializes all added trees.
void connectSignals ()
 Connects our signals and slots.
void getRowAndColNames (DtTreeAndModelIndex modelIndex, QString &rowName, QString &colName)
 Retrieves the names of the row and column for a given model index.
void enableDisableGraphOptions ()
 Enables and disables the graph actions for the selected item.
void writeTreeToStream (const QTreeView *tree, QTextStream &fileStrm, TableFileFormat format)
 Writes the given tree's data as a table to the given file stream.

Protected Attributes

QSplitter * mySplitter
 Main layout.
std::vector< QVBoxLayout * > myTreeLayouts
 Layouts for each tree.
std::vector< QLabel * > myTreeLabels
 Labels for each tree.
std::vector< QHBoxLayout * > myTreeLabelLayouts
 Layouts for each tree label.
std::vector< QTreeView * > myTreeViews
 The tree view for each tree.
std::vector< DtRowNameLocmyTreeRowNameLocs
 The row name location for the tree.
std::vector< std::map
< unsigned, QString > > 
myTreeValGraphableCols
 The columns for which the value can be graphed and the units to be displayed on the y axis.
std::vector< std::map
< unsigned, QString > > 
myTreeRateGraphableCols
 The columns for which the rate can be graphed and the units to be displayed on the y axis.
QSignalMapper * myCloseGraphSignalMapper
 Maps signals from graph dialog close events.
DtTreeAndModelIndex myCurrentModelIndex
 The model index for which to display the context menu.
QString myFederateId
 Identifying text for the current federate.
QString myFederateDescription
 Detailed description of this federate.
std::map< DtTreeAndModelIndex,
DtGraphDialog * > 
myGraphByModelIndex
 Maps between a graphed model index and the graph dialog that is displaying it.
std::map< DtGraphDialog
*, DtTreeAndModelIndex
myModelIndexByGraph
 Maps between a graphed model index and the graph dialog that is displaying it.
std::map< DtTreeAndModelIndex,
DtGraphDialog * > 
myRateGraphByModelIndex
 Maps between a graphed model index and the graph dialog that is displaying its rate.
std::map< DtGraphDialog
*, DtTreeAndModelIndex
myModelIndexByRateGraph
 Maps between a graphed model index and the graph dialog that is displaying its rate.
QMenu * myContextMenu
 The context menu and toolbar and their actions.
QToolBar * myToolBar
 The context menu and toolbar and their actions.
QAction * myGraphItemAction
 The context menu and toolbar and their actions.
QAction * myGraphRateAction
 The context menu and toolbar and their actions.
QAction * mySaveToFileAction
 The context menu and toolbar and their actions.

Static Protected Attributes

static const QString theTreeBreakText = "------------\n"
 Indicates the end of one tree's configuration data and the start of the next in a GUI config file.

Private Member Functions

 DtTreesAndGraphWidget (const DtTreesAndGraphWidget &)
 Copy Constructor not implemented.
DtTreesAndGraphWidgetoperator= (const DtTreesAndGraphWidget &)
 Assignment Operator not implemented.

Detailed Description

Shows detailed statistics, presented as both trees and running graphs which can be populated from the tree data.

Member Typedef Documentation

typedef std::pair<unsigned, QModelIndex> DtTreesAndGraphWidget::DtTreeAndModelIndex

Type which pairs the tree index and QModelIndex to uniquely identify an index across all trees in the widget.

Member Enumeration Documentation

Enumerator:
DtRowNameIsHeader 
DtRowNameIsFirstColumn 
DtNoRowNames 
Enumerator:
TextTableFormat 
CsvTableFormat 

Constructor & Destructor Documentation

DtTreesAndGraphWidget::DtTreesAndGraphWidget ( QWidget parent = 0,
Qt::WindowFlags  f = 0 
)
DtTreesAndGraphWidget::~DtTreesAndGraphWidget ( )
virtual

Destructor.

DtTreesAndGraphWidget::DtTreesAndGraphWidget ( const DtTreesAndGraphWidget )
private

Copy Constructor not implemented.

Member Function Documentation

void DtTreesAndGraphWidget::addSet ( DtTreeAndModelIndex  modelIndex)

Adds a set to the graph for the given model index.

unsigned DtTreesAndGraphWidget::addTree ( const QString &  name,
const QString &  description,
QAbstractItemModel *  model,
DtRowNameLoc  rowNameLoc,
bool  hideHeaders = false 
)
void DtTreesAndGraphWidget::connectSignals ( )
protected
void DtTreesAndGraphWidget::deleteDialog ( QWidget graphDialog)
slot

Handles deletion of a graph dialog.

References myGraphByModelIndex, myModelIndexByGraph, myModelIndexByRateGraph, and myRateGraphByModelIndex.

Referenced by connectSignals().

void DtTreesAndGraphWidget::deleteSet ( DtTreeAndModelIndex  modelIndex)

Deletes the set matching the given model index from the graph.

void DtTreesAndGraphWidget::enableDisableGraphOptions ( )
protected

Enables and disables the graph actions for the selected item.

References myContextMenu, myCurrentModelIndex, myGraphItemAction, myGraphRateAction, myTreeRateGraphableCols, and myTreeValGraphableCols.

Referenced by processItemSelection(), and showContextMenu().

void DtTreesAndGraphWidget::enableRateGraphing ( unsigned  treeIndex,
unsigned  column,
const QString &  units 
)
void DtTreesAndGraphWidget::enableValueGraphing ( unsigned  treeIndex,
unsigned  column,
const QString &  units 
)
void DtTreesAndGraphWidget::getRowAndColNames ( DtTreeAndModelIndex  modelIndex,
QString &  rowName,
QString &  colName 
)
protected

Retrieves the names of the row and column for a given model index.

References DtRowNameIsFirstColumn, DtRowNameIsHeader, and myTreeRowNameLocs.

Referenced by graphSelectedItem(), and graphSelectedItemRate().

void DtTreesAndGraphWidget::graphSelectedItem ( )
slot
void DtTreesAndGraphWidget::graphSelectedItemRate ( )
slot
void DtTreesAndGraphWidget::hideToolbar ( )
slot

References myToolBar.

void DtTreesAndGraphWidget::initComplete ( )
void DtTreesAndGraphWidget::initTrees ( )
protected

Initializes all added trees.

References mySplitter, myToolBar, myTreeLabelLayouts, myTreeLayouts, and myTreeViews.

Referenced by initComplete().

void DtTreesAndGraphWidget::loadGuiConfiguration ( QFile &  configFile)

Loads the GUI configuration from the given file.

It's expected that the file will be open and ready to read the configuration.

References myTreeViews, and theTreeBreakText.

DtTreesAndGraphWidget& DtTreesAndGraphWidget::operator= ( const DtTreesAndGraphWidget )
private

Assignment Operator not implemented.

void DtTreesAndGraphWidget::processItemSelection ( const QModelIndex &  index)
slot

Processes item selection by enabling/disabling buttons and menu actions for the newly selected item.

References enableDisableGraphOptions(), myCurrentModelIndex, and myTreeViews.

Referenced by connectSignals().

void DtTreesAndGraphWidget::saveGuiConfiguration ( QFile &  configFile)

Saves the GUI configuration to the given file.

It's expected that the file will be open and ready to write to.

References myTreeViews, and theTreeBreakText.

void DtTreesAndGraphWidget::saveTreesToFile ( )
slot
void DtTreesAndGraphWidget::setFederateDescription ( const QString &  federateDescr)
inline

Sets the federate description text.

Referenced by DtFederateStatisticsDialog::updateFederateDescription().

void DtTreesAndGraphWidget::setFederateId ( const QString &  federateId)
inline

Sets the federate identification text.

Referenced by DtFederateStatisticsDialog::updateFederateId().

void DtTreesAndGraphWidget::showContextMenu ( const QPoint &  point)
slot

Shows the context menu.

References enableDisableGraphOptions(), myContextMenu, myCurrentModelIndex, and myTreeViews.

Referenced by connectSignals().

QSize DtTreesAndGraphWidget::sizeHint ( ) const
virtual

Returns the recommended size for the widget.

void DtTreesAndGraphWidget::updateGraphs ( double  currentTime)

Must be called periodically to update the graph.

References myModelIndexByGraph, and myModelIndexByRateGraph.

void DtTreesAndGraphWidget::updateGraphsForTree ( unsigned  treeIndex,
double  currentTime 
)

Updates the graphs for the specified tree.

References myModelIndexByGraph, and myModelIndexByRateGraph.

void DtTreesAndGraphWidget::updateSortingEnable ( )
slot

Checks whether the trees should have sorting enabled or disabled.

References myTreeViews.

Referenced by connectSignals().

void DtTreesAndGraphWidget::writeTreeToStream ( const QTreeView *  tree,
QTextStream &  fileStrm,
TableFileFormat  format 
)
protected

Writes the given tree's data as a table to the given file stream.

Must specify the format that should be used.

References CsvTableFormat.

Referenced by saveTreesToFile().

Member Data Documentation

QSignalMapper* DtTreesAndGraphWidget::myCloseGraphSignalMapper
protected

Maps signals from graph dialog close events.

Referenced by connectSignals(), graphSelectedItem(), and graphSelectedItemRate().

QMenu* DtTreesAndGraphWidget::myContextMenu
protected

The context menu and toolbar and their actions.

Referenced by DtTreesAndGraphWidget(), enableDisableGraphOptions(), and showContextMenu().

DtTreeAndModelIndex DtTreesAndGraphWidget::myCurrentModelIndex
protected

The model index for which to display the context menu.

Referenced by enableDisableGraphOptions(), graphSelectedItem(), graphSelectedItemRate(), processItemSelection(), and showContextMenu().

QString DtTreesAndGraphWidget::myFederateDescription
protected

Detailed description of this federate.

Printed to files with tree information to preserve more detailed information about the federate.

Referenced by saveTreesToFile().

QString DtTreesAndGraphWidget::myFederateId
protected

Identifying text for the current federate.

Referenced by saveTreesToFile().

std::map<DtTreeAndModelIndex, DtGraphDialog*> DtTreesAndGraphWidget::myGraphByModelIndex
protected

Maps between a graphed model index and the graph dialog that is displaying it.

Referenced by deleteDialog(), and graphSelectedItem().

QAction* DtTreesAndGraphWidget::myGraphItemAction
protected

The context menu and toolbar and their actions.

Referenced by connectSignals(), DtTreesAndGraphWidget(), and enableDisableGraphOptions().

QAction* DtTreesAndGraphWidget::myGraphRateAction
protected

The context menu and toolbar and their actions.

Referenced by connectSignals(), DtTreesAndGraphWidget(), and enableDisableGraphOptions().

std::map<DtGraphDialog*, DtTreeAndModelIndex> DtTreesAndGraphWidget::myModelIndexByGraph
protected

Maps between a graphed model index and the graph dialog that is displaying it.

Referenced by deleteDialog(), graphSelectedItem(), updateGraphs(), and updateGraphsForTree().

std::map<DtGraphDialog*, DtTreeAndModelIndex> DtTreesAndGraphWidget::myModelIndexByRateGraph
protected

Maps between a graphed model index and the graph dialog that is displaying its rate.

Referenced by deleteDialog(), graphSelectedItemRate(), updateGraphs(), and updateGraphsForTree().

std::map<DtTreeAndModelIndex, DtGraphDialog*> DtTreesAndGraphWidget::myRateGraphByModelIndex
protected

Maps between a graphed model index and the graph dialog that is displaying its rate.

Referenced by deleteDialog(), and graphSelectedItemRate().

QAction* DtTreesAndGraphWidget::mySaveToFileAction
protected

The context menu and toolbar and their actions.

Referenced by connectSignals(), and DtTreesAndGraphWidget().

QSplitter* DtTreesAndGraphWidget::mySplitter
protected

Main layout.

Referenced by DtTreesAndGraphWidget(), and initTrees().

QToolBar* DtTreesAndGraphWidget::myToolBar
protected

The context menu and toolbar and their actions.

Referenced by DtTreesAndGraphWidget(), hideToolbar(), and initTrees().

std::vector<QHBoxLayout*> DtTreesAndGraphWidget::myTreeLabelLayouts
protected

Layouts for each tree label.

Referenced by addTree(), and initTrees().

std::vector<QLabel*> DtTreesAndGraphWidget::myTreeLabels
protected

Labels for each tree.

Referenced by addTree(), and saveTreesToFile().

std::vector<QVBoxLayout*> DtTreesAndGraphWidget::myTreeLayouts
protected

Layouts for each tree.

Referenced by addTree(), and initTrees().

std::vector<std::map<unsigned, QString> > DtTreesAndGraphWidget::myTreeRateGraphableCols
protected

The columns for which the rate can be graphed and the units to be displayed on the y axis.

Referenced by addTree(), enableDisableGraphOptions(), enableRateGraphing(), and graphSelectedItemRate().

std::vector<DtRowNameLoc> DtTreesAndGraphWidget::myTreeRowNameLocs
protected

The row name location for the tree.

Referenced by addTree(), and getRowAndColNames().

std::vector<std::map<unsigned, QString> > DtTreesAndGraphWidget::myTreeValGraphableCols
protected

The columns for which the value can be graphed and the units to be displayed on the y axis.

Referenced by addTree(), enableDisableGraphOptions(), enableValueGraphing(), and graphSelectedItem().

std::vector<QTreeView*> DtTreesAndGraphWidget::myTreeViews
protected
const QString DtTreesAndGraphWidget::theTreeBreakText = "------------\n"
staticprotected

Indicates the end of one tree's configuration data and the start of the next in a GUI config file.

Referenced by loadGuiConfiguration(), and saveGuiConfiguration().


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

Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)