00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef PLOT_INFO_BASE_HH_
00020 #define PLOT_INFO_BASE_HH_
00021
00022
00023
00024
00025
00026 #include <boost/shared_ptr.hpp>
00027 #include <QObject>
00028 #include <QColor>
00029 #include <QPen>
00030 #include <QBrush>
00031
00032 #include <ost/gui/module_config.hh>
00033
00034 namespace ost{namespace gui{
00035
00036
00037 class PlotViewerPanel;
00038
00039 class DLLEXPORT_OST_GUI PlotInfoBase: public QObject
00040 {
00041 Q_OBJECT
00042 public:
00043 enum modes{
00044 POINTS,
00045 LINES,
00046 POINTSANDLINES,
00047 AREA,
00048 POINTSANDAREA
00049 };
00050 enum shapes{
00051 CIRCLE,
00052 RECTANGLE,
00053 CROSS,
00054 DIAGONALCROSS
00055 };
00056 enum errormodes{
00057 NONE,
00058 LINE,
00059 BOX,
00060 VECTOR
00061 };
00062 PlotInfoBase(PlotViewerPanel * viewer=0);
00063 PlotInfoBase(const PlotInfoBase&);
00064 virtual ~PlotInfoBase();
00065
00066 virtual PlotInfoBase& SetName(const QString& n);
00067 virtual PlotInfoBase& SetMode(unsigned int val);
00068 virtual PlotInfoBase& SetVisible(bool val);
00069 virtual PlotInfoBase& SetColor(const QColor& color);
00070 virtual PlotInfoBase& SetColor(int r, int g, int b);
00071 virtual PlotInfoBase& SetLineColor(int r, int g, int b);
00072 virtual PlotInfoBase& SetFillColor(int r, int g, int b);
00073 virtual PlotInfoBase& SetLineColor(const QColor& color);
00074 virtual PlotInfoBase& SetFillColor(const QColor& color);
00075 QString name;
00076 QPen pen;
00077 QBrush brush;
00078 unsigned int mode;
00079 bool visible;
00080
00081 signals:
00082 void appearanceChanged();
00083 void visibilityChanged();
00084 void nameChanged();
00085 };
00086 typedef boost::shared_ptr<PlotInfoBase> PlotInfoBasePtr;
00087
00088 }}
00089
00090 #endif