LibEngsas
Public Slots | Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | Properties | Private Member Functions | Private Attributes | List of all members
EChartBase Class Referenceabstract

Base class for ECharts.To add values, call addDataSet(). How the values are treated or how many data sets you can add, depensd on the specific implementation. More...

#include <echartbase.h>

+ Inheritance diagram for EChartBase:
+ Collaboration diagram for EChartBase:

Public Slots

void exportChart ()
 
void exportChart (QPainter *painter, QRect boundingRect)
 
void clear ()
 
- Public Slots inherited from EWidget
virtual EngSaS::AvailableActions enableActions ()
 Will be called by EMainWindow::setCentralWidget() to enable and disable standard actions. More...
 
virtual QString fileFilters (EngSaS::FileFilter reason)
 
virtual bool load (QFile *file, QString &error)
 
virtual bool save (QFile *file, QString &error)
 
virtual bool fileNew (QString &error)
 
virtual bool print (QString &error)
 
virtual bool undo (QString &error)
 
virtual bool redo (QString &error)
 
virtual bool cut (QString &error)
 
virtual bool copy (QString &error)
 
virtual bool paste (QString &error)
 
virtual bool reload (QString &error)
 
virtual void reloadSettings ()
 Used to reload settings the settings. More...
 

Public Member Functions

 EChartBase (QWidget *parent=NULL)
 
void setChartTitle (QString chartTitle)
 
QString chartTitle () const
 
void setNumberPrecision (int precision)
 
int numberPrecision () const
 
void setNumberFormat (char format)
 
char numberFormat () const
 
void addDataSet (EChartValues dataSet, const QString label, QColor color=QColor())
 Adds a new line to the graph. More...
 
bool removeDataSet (const QString label)
 
void setTitleFont (QFont font)
 
QFont titleFont () const
 
void setLabelFont (QFont font)
 
QFont labelFont () const
 
EActionexportAction () const
 
- Public Member Functions inherited from EWidget
 EWidget (QWidget *parent=0, Qt::WindowFlags flags=0)
 
virtual ~EWidget ()
 
void setWindowTitle (const QString &title)
 
void connectByPass (QObject *object)
 Connects all standard signals. More...
 

Protected Slots

virtual void contextMenu (QPoint pos) const
 This slot is called, if the context menu of this chart should be shown. More...
 
- Protected Slots inherited from EWidget
virtual void errorByPass (const QString &message)
 
virtual void warningByPass (const QString &message)
 
virtual void informationByPass (const QString &message)
 
virtual void reloadEnableActionsByPass ()
 
virtual void addMenuByPass (QMenu *newMenu, const QString &parent, QString before=QString())
 
virtual void addActionByPass (QAction *newAction, const QString &parent, QString before=QString())
 
virtual void addToolBarByPass (QToolBar *newToolBar, Qt::ToolBarArea area=Qt::TopToolBarArea)
 
virtual void addNewDockWidgetByPass (QDockWidget *widget, const Qt::DockWidgetArea &area)
 
virtual void setCentralWidgetByPass (QWidget *centralWidget)
 
virtual void showSettingsByPass ()
 
virtual void showHelpByPass (const QString &page)
 
virtual void showStatusWidgetByPass (QWidget *widget)
 
virtual void reloadSettingsRequestByPass ()
 

Protected Member Functions

void paintEvent (QPaintEvent *event)
 
virtual void drawChart (QPainter *painter, QRect viewPort)=0
 Function to draw the chart. More...
 
- Protected Member Functions inherited from EWidget
void addManagedDockWidget (QDockWidget *widget, const Qt::DockWidgetArea &area, QString actionLabel=QString(), QString actionParent=QString())
 Adds an dock widget via addNewDockWidget() and adds widget to the list of managed dock widgets. More...
 

Protected Attributes

int marginHorizontal
 
int marginVertical
 
QRect viewPort
 
QStringList colorNames
 
QList< void(*)(QPainter *, QPoint)> markers
 
QMap< QString, EChartValuesdataSets
 
QMap< QString, QColor > dataSetsColors
 
QMap< QString, void(*)(QPainter
*, QPoint)> 
dataSetsMarkers
 

Properties

QString chartTitle
 
int numberPrecision
 
char numberFormat
 
QFont titleFont
 
QFont labelFont
 

Private Member Functions

void legend (QPointF origin, QPainter *painter)
 Draws the default legend on the right side of the chart. More...
 
QRect createViewPort (QPainter *painter, QRect boundingRect)
 Calculates the view port, paints it and returns it's size. More...
 

Private Attributes

char myNumberFormat
 
int myNumberPrecision
 
QString myChartTitle
 
QFont myTitleFont
 
QFont myLabelFont
 
int legendMarkersMargin
 

Additional Inherited Members

- Signals inherited from EWidget
void error (const QString &message)
 
void warning (const QString &message)
 
void information (const QString &message)
 
void reloadEnableActions ()
 Request reloading of enabled actions in EMainWindow. More...
 
void addMenu (QMenu *newMenu, const QString &parent, QString before=QString())
 
void addAction (QAction *newAction, const QString &parent, QString before=QString())
 
void addToolBar (QToolBar *newToolBar, Qt::ToolBarArea area=Qt::TopToolBarArea)
 
void addNewDockWidget (QDockWidget *widget, const Qt::DockWidgetArea &area)
 To add managed dock widgets, use addManagedDockWidget() instead. More...
 
void setCentralWidget (QWidget *centralWidget)
 
void showSettings ()
 
void showHelp (const QString &page)
 
void showStatusWidget (QWidget *widget)
 
void reloadSettingsRequest ()
 Indicates, that a reload of the settings is needed. More...
 
void doReloadSettings ()
 Emitted to bring the reload request back to the farest child. More...
 

Detailed Description

Base class for ECharts.

To add values, call addDataSet(). How the values are treated or how many data sets you can add, depensd on the specific implementation.

Your chart should be drawn in your implementation of drawChart(). This function is called by paintEvent() and also by exportChart() to paint the chart on an image. Therefore, you should only use the given view port size within this function.

To add an export action to your context menu or something else, just call exportAction() to create the action.

If you must draw text within your subclass, use labelFont or may be titleFont.

Constructor & Destructor Documentation

EChartBase::EChartBase ( QWidget *  parent = NULL)

+ Here is the call graph for this function:

Member Function Documentation

void EChartBase::addDataSet ( EChartValues  dataSet,
const QString  label,
QColor  color = QColor() 
)

Adds a new line to the graph.

If x-ticks and y-ticks are not numeric, x- and y-values can only contain values from x-ticks and y-ticks.

If color is empty, a default order is used.

+ Here is the caller graph for this function:

QString EChartBase::chartTitle ( ) const
inline

+ Here is the caller graph for this function:

void EChartBase::clear ( )
slot

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EChartBase::contextMenu ( QPoint  pos) const
protectedvirtualslot

This slot is called, if the context menu of this chart should be shown.

You may reimplement this function, if you need another menu than the default one.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

QRect EChartBase::createViewPort ( QPainter *  painter,
QRect  boundingRect 
)
private

Calculates the view port, paints it and returns it's size.

Is called by paintEvent() before drawChart().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void EChartBase::drawChart ( QPainter *  painter,
QRect  viewPort 
)
protectedpure virtual

Function to draw the chart.

It is called by the overladed paintEvent() function and also used to export the chart into an image.

Note
Make sure to restore the painter afterwards!

Implemented in EChartLine, and EChartPie.

+ Here is the caller graph for this function:

EAction * EChartBase::exportAction ( ) const

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EChartBase::exportChart ( )
slot

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EChartBase::exportChart ( QPainter *  painter,
QRect  boundingRect 
)
slot

+ Here is the call graph for this function:

QFont EChartBase::labelFont ( ) const

+ Here is the caller graph for this function:

void EChartBase::legend ( QPointF  origin,
QPainter *  painter 
)
private

Draws the default legend on the right side of the chart.

Is called by paintEvent() after drawChart().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

char EChartBase::numberFormat ( ) const
inline

+ Here is the caller graph for this function:

int EChartBase::numberPrecision ( ) const
inline

+ Here is the caller graph for this function:

void EChartBase::paintEvent ( QPaintEvent *  event)
protected

+ Here is the call graph for this function:

bool EChartBase::removeDataSet ( const QString  label)

+ Here is the caller graph for this function:

void EChartBase::setChartTitle ( QString  chartTitle)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EChartBase::setLabelFont ( QFont  font)

+ Here is the caller graph for this function:

void EChartBase::setNumberFormat ( char  format)

+ Here is the caller graph for this function:

void EChartBase::setNumberPrecision ( int  precision)

+ Here is the caller graph for this function:

void EChartBase::setTitleFont ( QFont  font)

+ Here is the caller graph for this function:

QFont EChartBase::titleFont ( ) const

+ Here is the caller graph for this function:

Member Data Documentation

QStringList EChartBase::colorNames
protected
QMap<QString, EChartValues> EChartBase::dataSets
protected
QMap<QString, QColor> EChartBase::dataSetsColors
protected
QMap<QString, void (*)(QPainter *, QPoint)> EChartBase::dataSetsMarkers
protected
int EChartBase::legendMarkersMargin
private
int EChartBase::marginHorizontal
protected
int EChartBase::marginVertical
protected
QList<void (*)(QPainter*, QPoint)> EChartBase::markers
protected
QString EChartBase::myChartTitle
private
QFont EChartBase::myLabelFont
private
char EChartBase::myNumberFormat
private
int EChartBase::myNumberPrecision
private
QFont EChartBase::myTitleFont
private
QRect EChartBase::viewPort
protected

Property Documentation

QString EChartBase::chartTitle
readwrite
QFont EChartBase::labelFont
readwrite
char EChartBase::numberFormat
readwrite
int EChartBase::numberPrecision
readwrite
QFont EChartBase::titleFont
readwrite

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