10 #ifndef MsiChart_PiePlot_h 11 #define MsiChart_PiePlot_h 13 #include "PDCHeader/PDCvector" 121 bool iLabelOnSlice,
bool iValueOnSlice,
Int32 iSeriesIndex)
247 void hGetDrawingOrder(std::vector<float>& irAngles, std::vector<Int32>& orDrawingOrderIndex,
Int32& orDividedIndex,
Int32& orDividedAngle)
const;
262 virtual void hGenerateMapAndListForGroup(
Int32 iGroupId, std::vector<GraphCollectionObject::Ptr>& iorSliceCollection, std::vector<GraphCollectionObject::Ptr>& iorTextLabelCollection,
263 std::vector<GraphCollectionObject::Ptr>& iorTextValueCollection);
382 std::vector<std::vector<PieSliceObject::Ptr> >
mSlices;
426 std::vector<std::vector<TextLabelAndValue::Ptr> >
mLeftTexts;
451 return mSeriesOptions[iSeriesIndex]->mDataLabels.mDataValuesPosition;
456 return mSeriesOptions[iSeriesIndex]->mDataLabels.mDataLabelsPosition;
void hSmartAdjustYForLR(Int32 iGroupId, bool iIsLeft)
EnumGMPieLayout mGMPieLayout
Definition: PiePlot.h:109
Int32 mDetachSlice
Definition: PiePlot.h:73
virtual void hGetInitRadius()
TextLabelAndValue(const PieSliceObject *ipSlice, TextObject::Ptr iLabelPtr, TextObject::Ptr iValuePtr, bool iLabelOnSlice, bool iValueOnSlice, Int32 iSeriesIndex)
Definition: PiePlot.h:120
virtual void OnRectangleSelection(const Rect2D &irRect, std::vector< GraphObject::Ptr > &iorSelectedObjects) const
bool hAdjustBigFontOutSideForGroup(Int32 iGroupId)
std::vector< Point< Int32 > > mPieCenters
Definition: PiePlot.h:405
const PieSliceObject * mpSlice
Definition: PiePlot.h:130
void hGetAngleInfoForGroup(Int32 iGroupId, Int32 &orValidSeriesNumber, Int32 &orValidSeriesIndex, std::vector< float > &orAngles)
TextObject::Ptr mValueLabelPtr[2]
Definition: PiePlot.h:131
std::vector< GraphSeriesPie::Ptr > mSeriesOptions
Definition: PiePlot.h:379
void hGetRectForLabelAndValue(TextLabelAndValue::Ptr iTextPtr, bool iIsInside, bool iIsRotateRect, bool iIsVerticalAligned, Rect2D &orRect)
bool mSmartLabelPlacement
Definition: PiePlot.h:101
void hSetLabelPosition(Int32 iSeriesIndex, EnumDSSGraphDataTextPosition iPosition)
EnumPieDataLabelsPosition
Definition: PiePlot.h:36
void hSmartAndSide(Int32 iGroupId)
void hLabelsOnSideForLR(Int32 iGroupId, bool iIsLeft)
bool hIsRectInEllipse(const Rect2D &irRect, const Point2D &irCenter, double &irRadiusA, double &irRadiusB)
Int32 mPieDepth
Definition: PiePlot.h:91
Int32 GetPiesPerRow() const
Definition: PiePlot.h:439
Definition: PiePlot.h:153
EnumPieDataLabelsPosition mDataLabelsPosition
Definition: PiePlot.h:107
void hLabelsOnSliceSideForLR(Int32 iGroupId, bool iIsLeft)
std::vector< double > mGroupTotals
Definition: PiePlot.h:371
Definition: PieSliceObject.h:74
virtual void GenerateView()
std::vector< std::vector< PieSliceObject::Ptr > > mSlices
Definition: PiePlot.h:382
void hAdjustToOutside(Int32 iGroupId, TextLabelAndValue::Ptr iTextPtr)
ChartAdvFormat mGraphNumberFormat
Definition: PiePlot.h:108
EnumDSSGraphDataTextPosition hGetValuePosition(Int32 iSeriesIndex) const
Definition: GraphCollectionObject.h:19
Int32 mRingPieFactor
Definition: PiePlot.h:94
void hAdjustAllLabelsPosition()
bool mShowDataValues
Definition: PiePlot.h:104
std::vector< std::vector< TextLabelAndValue::Ptr > > mRightTexts
Definition: PiePlot.h:427
bool mValueLabelOnSlice[2]
Definition: PiePlot.h:132
void hSmartLabelsOnSliceLR(Int32 iGroupId, bool iIsLeft, double iRadiusA, double iRadiusB)
double GetSmartLabelRadius(Int32 iGroupId) const
Definition: PiePlot.h:459
std::vector< Int32 > mRadius
Definition: PiePlot.h:406
void hSetHeightLimit(Int32 iGroupId, TextLabelAndValue::Ptr iTextValueAndLabelPtr)
void hSetValuePosition(Int32 iSeriesIndex, EnumDSSGraphDataTextPosition iPosition)
double mScale
Definition: PiePlot.h:398
Int32 mPieRotation
Definition: PiePlot.h:92
TextObject::Ptr hCreateValue(Int32 iSeriesIndex, Int32 iGroupId, double &irValue, GraphCollectionObject::Ptr ioTextValueCollectionPtr)
void hCreateLabelsAndValues(Int32 iSeriesIndex, Int32 iGroupId, const PieSliceObject *ipSlice, GraphCollectionObject::Ptr iLabelCollectionPtr, GraphCollectionObject::Ptr iValueCollectionPtr)
Int32 mMaxGroupLabelsHeight
Definition: PiePlot.h:410
void hSmartLabelsOutsideSlice(Int32 iGroupId)
EnumDSSGraphDataTextPosition
Definition: DSSIPhoneEnums.h:1836
void hGetRectsAndIndexLR(Int32 iGroupId, bool iIsLeft, std::vector< Rect2D > &orRect, std::vector< Int32 > &orIndex, Int32 &orHeightTotal)
Int32 mLineCount
Definition: PiePlot.h:147
virtual bool GetToolTipData(Int32 iSeriesID, Int32 iGroupID, double &orValue, double &orPercentValue, Int32 iOffset=0)
bool hGetDisplayValue(Int32 iSeriesIndex, Int32 iGroupId, double &orValue)
EnumPieDataLabelsPosition mDataValuesPosition
Definition: PiePlot.h:106
Definition: PiePlot.h:116
virtual void GenerateMapAndList()
virtual void SetGraphType(EnumDSSGraphType iType)
bool mShowRingPieTotal
Definition: PiePlot.h:100
TextObject::Ptr mTextPtr
Definition: PiePlot.h:148
Int32 GetNumberOfRows() const
Definition: PiePlot.h:444
void hSideOutsideSlice(Int32 iGroupId)
EnumPieDataLabelsPosition mDataValuesPosition
Definition: PiePlot.h:60
std::vector< std::vector< TextLabelAndValue::Ptr > > mLeftTexts
Definition: PiePlot.h:426
bool hGetLeaderLinePoint(TextLabelAndValue::Ptr iTextValueAndLabelPt, Point2D &orPoint)
Int32 mPiesPerRowInChart
Definition: PiePlot.h:394
void hCreateLeaderLines(GraphCollectionObject::Ptr ioLeaderLineCollectionPtr)
TextObject::Ptr hCreateLabel(Int32 iSeriesIndex, Int32 iGroupId, GraphCollectionObject::Ptr ioTextLabelCollectionPtr)
#define Int32
Definition: BasicTypes.h:20
Definition: PiePlot.h:136
GraphPieDataLabels()
Definition: PiePlot.h:53
virtual void hGenerateMapAndListForGroup(Int32 iGroupId, std::vector< GraphCollectionObject::Ptr > &iorSliceCollection, std::vector< GraphCollectionObject::Ptr > &iorTextLabelCollection, std::vector< GraphCollectionObject::Ptr > &iorTextValueCollection)
bool mShowDataLabels
Definition: PiePlot.h:58
void hMoveLabel(Int32 iGroupId, TextLabelAndValue::Ptr iTextValueAndLabelPtr)
bool mPieRestore
Definition: PiePlot.h:103
MSynch::SmartPtr< TextLabelAndValue > Ptr
Definition: PiePlot.h:118
const EnumPieDataLabelsPosition GetLabelPosition(Int32 iSeriesIndex) const
Definition: PiePlot.h:454
void hSetOnSliceHeightLimitationForGroup(Int32 iGroupId, bool iIsLeft)
TextHeightAndCount(Int32 iTextHeight, Int32 iLineCount, TextObject::Ptr iTextPtr)
Definition: PiePlot.h:140
void hSmartLabels(Int32 iGroupId)
void hLabelsOnSliceSide(Int32 iGroupId)
PiePlot(const TripleId &irTripleId, GraphObjectManager *ipManager, const Rect2D &irDeviceRect)
void hLoadSeriesProperties(Int32 iSeriesIndex)
Int32 mPieTilt
Definition: PiePlot.h:90
GraphOptionsPie()
Definition: PiePlot.h:80
MSynch::SmartPtr< GraphSeriesPie > Ptr
Definition: PiePlot.h:67
bool mShowDataValues
Definition: PiePlot.h:57
EnumPieLayout mLayout
Definition: PiePlot.h:89
Definition: SmartPtr.h:38
bool hRectangleEqual(const Rect2D &irRectA, const Rect2D &irRectB)
ChartAdvFormat mNumberFormat
Definition: PiePlot.h:62
Int32 mSeriesIndex
Definition: PiePlot.h:133
bool mShowPieName
Definition: PiePlot.h:98
std::vector< Rect2D > mGroupRects
Definition: PiePlot.h:401
EnumDSSGraphType
Definition: DSSIPhoneEnums.h:2431
void hGetOffScale(Int32 iGroupId, TextLabelAndValue::Ptr iTextValueAndLabelPtr, Int32 &orHorizontalOffScale, Int32 &orVerticalOffScale)
EnumGMPieLayout
Definition: PiePlot.h:28
bool mPieSizeProportional
Definition: PiePlot.h:96
bool mShowDataLabels
Definition: PiePlot.h:105
bool mShowDataValuesAsPercentage
Definition: PiePlot.h:99
bool hGetOnSliceBound(Int32 iGroupId, TextLabelAndValue::Ptr iTextValueAndLabelPtr, Rect2D &irBoundingRect, bool iIsOuter, bool iIsMoveInEllipse, Point2D &orBound)
GraphPieDataLabels mDataLabels
Definition: PiePlot.h:75
virtual bool GetGroupSpace(std::vector< Int32 > &orVect, Int32 iGroupIndex)
Int32 mInitRadius
Definition: PiePlot.h:374
double mMaxGroupTotal
Definition: PiePlot.h:372
bool hMoveLabelInEllipse(Int32 iGroupId, TextLabelAndValue::Ptr iTextValueAndLabelPtr, Rect2D &irBoundingRect, bool &orIsValidDirection, bool &orUpDirection)
GraphSeriesPie()
Definition: PiePlot.h:69
virtual GraphObject::Ptr OnPointDetection(const Point2D &irCursor) const
bool mIsAllLabelsOnSlice
Definition: PiePlot.h:431
void hSmartLabelsOutsideSliceLR(Int32 iGroupId, bool iIsLeft, double iRadiusA, double iRadiusB, std::vector< Rect2D > &irRect, std::vector< Int32 > &irIndex, Int32 iHeightTotal)
Int32 mNumberRows
Definition: PiePlot.h:395
std::vector< TextObject::Ptr > mGroupLabels
Definition: PiePlot.h:409
bool GetDataPoint(Int32 iSeriesId, Int32 iGroupId, Point2D &orDataPoint)
Provide position information for tooltip display on iPad.
void hCreateRingPieTotal()
GraphOptionsPie mPieOption
Definition: PiePlot.h:376
void hGetDrawingOrder(std::vector< float > &irAngles, std::vector< Int32 > &orDrawingOrderIndex, Int32 &orDividedIndex, Int32 &orDividedAngle) const
bool hIsPointInEllipse(const Point2D &irPoint, const Point2D &irCenter, double &irRadiusA, double &irRadiusB)
virtual bool hDoInitialize()
bool hAdjustRadiusForOutsideLabels()
void hSmartLabelsOnSlice(Int32 iGroupId)
Int32 mDepthInChart
Definition: PiePlot.h:385
bool mPieTiltOn
Definition: PiePlot.h:95
std::vector< Int32 > mGroupLabelY
Definition: PiePlot.h:411
Definition: Msi_ccomvariant.h:24
virtual void GetOptions(Int32 iSeriesId, Int32 iPropertyId, CComVariant *opValue) const
EnumPieDataLabelsPosition mDataLabelsPosition
Definition: PiePlot.h:61
void hSmartAndSideAdjustForGroup(Int32 iGroupId)
void hLabelsOnSide(Int32 iGroupId)
bool mShowLeaderLines
Definition: PiePlot.h:59
void hCreateLeaderLinesForGroupLR(Int32 iGroupId, bool iIsLeft, GraphCollectionObject::Ptr ioLeaderLineCollectionPtr)
bool mShowLabelsOnSide
Definition: PiePlot.h:102
virtual const PieSliceObject * hCreateSlice(Int32 iSeriesIndex, Int32 iGroupId, float iStartAngle, float iEndAngle, bool iIsOneSeries, GraphCollectionObject::Ptr iSliceCollectionPtr)
virtual void hUpdateAllRadius(bool iIsProportional)
void hSmartAdjustY(Int32 iGroupId)
EnumDSSGraphDataTextPosition hGetLabelPosition(Int32 iSeriesIndex) const
const EnumPieDataLabelsPosition GetValuePosition(Int32 iSeriesIndex) const
Definition: PiePlot.h:449
Int32 hGetDeltaXFromEllipseY(Int32 iY, const Point2D &irCenter, double &irRadiusA, double &irRadiusB)
bool mIs2DCircular
Definition: PiePlot.h:97
void hMoveOutsideLabel(Point2D &irPoint, Int32 iXSign, Int32 iYSign, TextObject::Ptr iTextPtr)
Int32 mPiesPerRow
Definition: PiePlot.h:93
MSynch::SmartPtr< PiePlot > Ptr
Definition: PiePlot.h:156
std::vector< Rect2D > mPieRects
Definition: PiePlot.h:402
bool GreaterThan(const TextHeightAndCount &irTextHeightAndCountA, const TextHeightAndCount &irTextHeightAndCountB)
double mMinGroupTotal
Definition: PiePlot.h:373
Definition: GraphObjectManager.h:37
Int32 mMaxExplode
used for the rotation handling
Definition: PiePlot.h:436
void hMoveLabelInAngularBisector(Int32 iGroupId, TextLabelAndValue::Ptr iTextValueAndLabelPtr, Rect2D &irBoundingRect, Int32 iYOffset)
void hSmartDistance(std::vector< Int32 > &iorDistance) const
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
Int32 mTextHeight
Definition: PiePlot.h:146
EnumPieLayout
Definition: PiePlot.h:22
EnumRadiusRatio
Definition: PiePlot.h:42
Int32 mGroupCount
Definition: PiePlot.h:375
bool mDeleteSlice
Definition: PiePlot.h:74