00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef PLOT_GROUP_INFO_HH_
00020 #define PLOT_GROUP_INFO_HH_
00021
00022 #include <vector>
00023 #include <boost/shared_ptr.hpp>
00024 #include <boost/python.hpp>
00025 #include "plot_info_base.hh"
00026
00027 namespace ost{namespace gui{
00028
00029 class DLLEXPORT_OST_GUI PlotGroupInfo: public PlotInfoBase
00030 {
00031 typedef std::vector<PlotInfoBasePtr> PlotInfoBasePtrVector;
00032 public:
00033 PlotGroupInfo(PlotViewerPanel * viewer=0);
00034 virtual ~PlotGroupInfo();
00035 virtual PlotGroupInfo& SetSymbol(unsigned int val);
00036 virtual PlotGroupInfo& SetSymbolSize(unsigned int val);
00037 virtual PlotGroupInfo& SetErrorMode(unsigned int val);
00038 virtual PlotGroupInfo& SetQuality(bool val);
00039 virtual PlotGroupInfo& SetCallback(const boost::python::object & callback_);
00040
00041 virtual PlotGroupInfo& SetMode(unsigned int val);
00042 virtual PlotGroupInfo& SetColor(const QColor& color);
00043 virtual PlotGroupInfo& SetColor(int r, int g, int b);
00044 virtual PlotGroupInfo& SetLineColor(int r, int g, int b);
00045 virtual PlotGroupInfo& SetFillColor(int r, int g, int b);
00046 virtual PlotGroupInfo& SetLineColor(const QColor& color);
00047 virtual PlotGroupInfo& SetFillColor(const QColor& color);
00048 void Add(PlotInfoBasePtr info);
00049 unsigned int GetSize();
00050 PlotInfoBasePtr GetChild(unsigned int i);
00051 protected:
00052 PlotInfoBasePtrVector children_;
00053 };
00054
00055 typedef boost::shared_ptr<PlotGroupInfo> PlotGroupInfoPtr;
00056
00057
00058 }}
00059
00060
00061 #endif