Mobile API Reference  MicroStrategy 2019
HistogramPlotManager.h
Go to the documentation of this file.
1 //====================================================================
2 // Filename: Kernel/SourceCode/ChartEngine/PrivateSource/HistogramPlotManager.h
3 // AUTHOR : Xin Liu
4 // CREATION : 2/13/09
5 // Copyright (C) MicroStrategy, Inc. 2009
6 //==============================================================================================
7 
8 #ifndef MSICHART_HISTOGRAMPLOTMANAGER_H
9 #define MSICHART_HISTOGRAMPLOTMANAGER_H
10 
11 #include "PlotManager.h"
12 #include "HistogramPlot.h"
13 
14 namespace MsiChart
15 {
16 
21  {
22  public:
24 
25  HistogramPlotManager(const TripleId& irTripleId, GraphObjectManager* ipManager, const Rect2D& irPlotArea);
26  virtual ~HistogramPlotManager();
27 
28  //Re-implemention the virtual functions inherited from GraphObjectManager
29  virtual GraphObject::Ptr OnPointDetection(const Point2D& irCursor) const;
30  virtual void OnRectangleSelection(const Rect2D& irRect, std::vector<GraphObject::Ptr>& iorSelectedObjects) const;
31  virtual void Draw();
32  virtual void GenerateView();
33  virtual void GenerateImageMap(ImageMap& iorImageMap);
34  virtual void GenerateMapAndList();
35 
36  //From PlotManager
37  virtual bool GetToolTipData(Int32 iSeriesID, Int32 iGroupID, double& orValue, double& orPercentValue, Int32 iOffset = 0);
38 
39  protected:
43  virtual void LoadProperties();
44 
45  private:
46 
50  bool hIsMutipleY1ValueAxis() const;
51 
57  void hSetDataAreaValueAxis(const Rect2D& irChartArea, ValueAxis::Ptr iValueAxisPtr);
58 
65  void hReserveAreaValueAxis(const std::vector<ValueAxis::Ptr> irVecAxis, const Rect2D& irDataArea, Rect2D& orDataArea, bool iIsVertical);
66 
67  void hGenerateAxisLines();
68 
69  void hGenerateInterlacedGrids(const std::vector<Rect2D>& irChartAreas);
70 
71  void hGenerateGridLines(const std::vector<Rect2D>& irChartAreas);
72 
73 
74  //private data members
75  bool mUseDepth;
76  Int32 mDepth;
77  Int32 mDepthDirection;
78  EnumOrientation mOrientation;
79  std::vector<HistogramPlot::Ptr> mHistogramPlots;
80  std::vector<ValueAxis::Ptr> mVecXAxis;
81  std::vector<ValueAxis::Ptr> mVecY1Axis;
82 
83 
84 
85 
86  };
87 
88  inline bool HistogramPlotManager::hIsMutipleY1ValueAxis() const
89  {
90  return (mOrientation == mChartAreaOptions.mOrientation);
91  }
92 }
93 
94 #endif
virtual void GenerateImageMap(ImageMap &iorImageMap)
MSynch::SmartPtr< HistogramPlotManager > Ptr
Definition: HistogramPlotManager.h:23
EnumOrientation mOrientation
Chart areas orientation.
Definition: PlotManager.h:32
#define Int32
Definition: BasicTypes.h:20
virtual bool GetToolTipData(Int32 iSeriesID, Int32 iGroupID, double &orValue, double &orPercentValue, Int32 iOffset=0)
Definition: SmartPtr.h:38
HistogramPlotManager(const TripleId &irTripleId, GraphObjectManager *ipManager, const Rect2D &irPlotArea)
EnumOrientation
Definition: CategoryPlot.h:21
Definition: ABLPlot.h:21
std::vector< AreaRec * > ImageMap
Definition: ImageMap.h:99
virtual void OnRectangleSelection(const Rect2D &irRect, std::vector< GraphObject::Ptr > &iorSelectedObjects) const
virtual GraphObject::Ptr OnPointDetection(const Point2D &irCursor) const
ChartAreaOptions mChartAreaOptions
The chart areas option.
Definition: PlotManager.h:133
Definition: GraphObjectManager.h:37
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
Definition: PlotManager.h:43
Definition: HistogramPlotManager.h:20
Definition: Common.h:397