Mobile API Reference  MicroStrategy 2019
ValuePiePlot.h
Go to the documentation of this file.
1 //
2 // ValuePiePlot.h
3 // IPhoneChart
4 //
5 // Created by dong shi on 3/26/12.
6 // Copyright (c) 2012 __MyCompanyName__. All rights reserved.
7 //
8 
9 #ifndef IPhoneChart_ValuePiePlot_h
10 #define IPhoneChart_ValuePiePlot_h
11 
12 #include "ValueAxis.h"
13 #include "ValueBasePlot.h"
14 #include "PiePlotRenderer.h"
15 
16 using namespace MsiChart;
17 
18 namespace MsiChart
19 {
20  class ValuePiePlot : public ValueBasePlot
21  {
22  public:
24 
25  ValuePiePlot(const TripleId& irTripleId, GraphObjectManager* ipManager, const Rect2D& irDataArea);
26  virtual ~ValuePiePlot();
27 
28  //pure virtual functions from GraphObjectManager
29  virtual void GenerateMapAndList();
30  virtual void GetOptions(Int32 iSeriesId, Int32 iPropertyId, CComVariant* opValue) const;
31 
32  //override functions
33  virtual void Draw();
34  virtual GraphObject::Ptr OnPointDetection(const Point2D& irCursor) const;
35  virtual void OnRectangleSelection(const Rect2D& irRect, std::vector<GraphObject::Ptr>& iorSelectedObjects) const;
36  virtual void GenerateImageMap(ImageMap& iorImageMap);
37  //virtual void DrawTrendLinesAndEquations();
38 
39 
40  virtual bool GetGMPiePositon(Point2D& orCood, double iXInput, double iYInput, Int32 iXSubIndex = 0, Int32 iYSubIndex = 0, Int32 iXSectionCount = 1, Int32 iYSectionCount = 1, Int32 iRadius = 2);
41 
42 
43  //override from GraphObjectManager
44  virtual GraphObject::Ptr OnPointDetectionEx(const Point2D& irCursor,
45  const std::vector<Int32>& irObjectIds, Int32& iorDistance, Int32 iRadius,
46  std::vector<GraphObject::Ptr>& iorGraphObjectsAround, EnumGraphObjectUsage iUsage = GOU_NORMAL_HIGHLIGHT);
47 
48  //assign the input ValueAxis pointer to proper data memebers
53  virtual void AssignValueAxis(ValueAxis::Ptr iValueAxisPtr, Int32 iIndex);
54 
55  //Populate the series information for the hosting ValuePlot object, called by ValuePlot manager
60  virtual void AssignSeriesInfo(const std::vector<Int32>& irSeriesIndex,
61  const std::vector<Int32>& irVecSeriesVAIndex);
62 
63  virtual void AssignGroupsInfo(const std::vector<Int32>& irGroupIndex,
64  const std::vector<Int32>& irVecGroupVAIndex);
65 
66 
67  //Graph Matrix Padding Required.
68  virtual Int32 GetMaxElementRadius();
69 
70  //Get the radius/offset that is clipped by chart boundary
76  //virtual bool GetMaxElementOffsetClippedByBoundary(bool iIsOnXAxis, double& orLowOffset, double& orHighOffset);
77 
78 
79  private:
80  PiePlotRenderer::Ptr mPiePlotRenderer;
81  ValueAxis::Ptr mXAxisPtr;
82  ValueAxis::Ptr mY1AxisPtr;
83  ValueAxis::Ptr mY2AxisPtr;
84  ValueAxis::Ptr mZAxisPtr;
85  std::vector<std::pair<Int32, Int32> > mVecSeriesInfo;
86 
87 
88  };
89 }
90 
91 
92 
93 
94 #endif
virtual void GenerateMapAndList()
Definition: ValueBasePlot.h:16
virtual bool GetGMPiePositon(Point2D &orCood, double iXInput, double iYInput, Int32 iXSubIndex=0, Int32 iYSubIndex=0, Int32 iXSectionCount=1, Int32 iYSectionCount=1, Int32 iRadius=2)
virtual void AssignValueAxis(ValueAxis::Ptr iValueAxisPtr, Int32 iIndex)
virtual void AssignGroupsInfo(const std::vector< Int32 > &irGroupIndex, const std::vector< Int32 > &irVecGroupVAIndex)
Definition: ValuePiePlot.h:20
virtual void GetOptions(Int32 iSeriesId, Int32 iPropertyId, CComVariant *opValue) const
virtual void AssignSeriesInfo(const std::vector< Int32 > &irSeriesIndex, const std::vector< Int32 > &irVecSeriesVAIndex)
EnumGraphObjectUsage
Definition: GraphObject.h:28
virtual Int32 GetMaxElementRadius()
#define Int32
Definition: BasicTypes.h:20
virtual void Draw()
virtual GraphObject::Ptr OnPointDetection(const Point2D &irCursor) const
virtual void OnRectangleSelection(const Rect2D &irRect, std::vector< GraphObject::Ptr > &iorSelectedObjects) const
Definition: SmartPtr.h:38
virtual GraphObject::Ptr OnPointDetectionEx(const Point2D &irCursor, const std::vector< Int32 > &irObjectIds, Int32 &iorDistance, Int32 iRadius, std::vector< GraphObject::Ptr > &iorGraphObjectsAround, EnumGraphObjectUsage iUsage=GOU_NORMAL_HIGHLIGHT)
Definition: ABLPlot.h:21
std::vector< AreaRec * > ImageMap
Definition: ImageMap.h:99
MSynch::SmartPtr< ValuePiePlot > Ptr
Definition: ValuePiePlot.h:23
virtual void GenerateImageMap(ImageMap &iorImageMap)
Definition: Msi_ccomvariant.h:24
ValuePiePlot(const TripleId &irTripleId, GraphObjectManager *ipManager, const Rect2D &irDataArea)
Definition: GraphObjectManager.h:37
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
Definition: GraphObject.h:30
Definition: Common.h:397