9 #ifndef MSICHART_CHART_H 10 #define MSICHART_CHART_H 12 #include "PrivateSource/FormatManager.h" 14 #include "CoreGraphics/CoreGraphics.h" 16 #include "VisualizationEngine/ChartEngine/JSON/JSONCanvas.h" 17 #include "VisualizationEngine/ChartEngine/CEOutput/CECanvas.h" 19 #include "PrivateSource/ImageMap.h" 21 #include "PrivateSource/Point2D.h" 58 const char* ipDataString,
59 const char* ipCategoryName,
60 const char* ipSeriesName,
61 const char* ipExDataString1,
62 const char* ipExDataString2,
63 const char* ipConcatenatedString)
155 struct AxisLabelInfoMap;
164 virtual void Delete() = 0;
344 bool iSmartSelection,
TripleId*& orpSelectionList,
Int32 &oNum) = 0;
396 char*& oprMemory,
unsigned Int32& oSize) = 0;
407 Int32 iFormat,
const char* ipFilename) = 0;
414 virtual bool SaveImageToString(
Int32 iWidth,
Int32 iHeight, std::string& orGraphDesc,
415 bool ibRowsHaveControls,
bool ibColumnsHaveControls,
bool ibHasMetricSelector,
416 std::vector<std::pair<Int32, Int32> >& iSelectedSeriesAndColumns,
417 bool ibSkipRendering =
true) = 0;
418 virtual bool SaveImageToVEObjects(
Int32 iWidth,
Int32 iHeight,
419 std::vector<MVE::VEFormatList>& ioFormatList, std::vector<MVE::VEUnitList>& ioUnitList,
420 bool ibRowsHaveControls,
bool ibColumnsHaveControls,
bool ibHasMetricSelector,
421 std::vector<std::pair<Int32, Int32> >& iSelectedSeriesAndColumns,
422 bool ibSkipRendering =
true) = 0;
614 virtual Int32 CreateTooltipByObject(
const std::vector<TripleId>& irSelectionList, std::vector<Tooltip*>& orTooltips,
bool iPersistent =
false) = 0;
659 virtual void GetAllGraphObjectInfo(std::vector<CGRect> &iAllGraphObjectsBorder, std::vector<MsiChart::TripleId > &iAllGraphObjectsTripleId) = 0;
662 virtual void SetGMZoomScale(
float iHeightScale,
float iWidthScale) = 0;
829 virtual void GetUniformAxisMargins(
short& orLeftMargin,
short& orRightMargin,
short& orTopMargin,
short& orBottomMargin,
bool iIsForSecondaryAxis =
false) = 0;
834 virtual void SetUniformAxisMargins(
short iLeftMargin,
short iRightMargin,
short iTopMargin,
short iBottomMargin,
bool iIsForSecondaryAxis =
false) = 0;
848 virtual bool GetRowAndColumnIndexByCoords(
int iX,
int iY,
int& orRowIndex,
int& orColumnIndex,
bool iIsDataCellOnly,
int iDistance=-1) = 0;
867 virtual void GetHighlightObjects(std::vector<std::pair<Int32, Int32> >& orHighlightObjects)
const = 0;
868 virtual void GetHighlightObjects(std::vector<MsiChart::TripleId>& orHighlightObjects)
const = 0;
1000 virtual bool GetGroupSpace(std::vector<Int32>& orVect,
Int32 iGroupIndex,
bool iIsLegned =
false) = 0;
virtual bool GetPieSliceTooltipDataString(Int32 iSeriesID, Int32 iGroupID, Int32 iAngleID, Int32 iSliceID, Int32 iColumnOffset, MBase::String &orDataString)=0
virtual Int32 GetDataAreaSplitX() const =0
virtual void GetGroupLabel(Int32 iGroupId, MBase::String &orGroupLabel, const wchar_t iSeparator, bool iIsAbbreviated)=0
virtual bool SetOptions(Int32 iObjectId, Int32 iSeriesId, Int32 iGroupId, Int32 iPropertyId, CComVariant *ipValue)=0
Definition: DSSRWTemplateNode.h:19
virtual bool IsVerticalChart() const =0
virtual void HighlightOrHideObjects(const std::vector< TripleId > &irTripleIds, bool iIsHide)=0
CHARTENGINE_API Chart * CreateChart(Dataset::Ptr iDatasetPtr, const char *ipGDFFileName=NULL)
virtual void OnZoomRestore()=0
virtual double GetGroupIntervalInPixel()=0
virtual bool GetOptions(Int32 iObjectId, Int32 iSeriesId, Int32 iGroupId, Int32 iPropertyId, CComVariant *opValue)=0
virtual bool RefreshChart(const RefreshPack &irRefreshPack)=0
virtual void GetSeriesLabel(Int32 iSeriesID, MBase::String &orSeriesLabel, bool iSubstitute=true, Int32 iColumnOffset=0, bool iIsForSlice=true)=0
virtual bool IsInitialized() const =0
SelectedInfo(TripleId iId, Int32 iShape, bool iIsIsolatedDot)
Definition: Chart.h:133
virtual void SetGMZoomScale(float iHeightScale, float iWidthScale)=0
virtual bool GetInterlacedBandingPosition(bool iIsXAxis, std::vector< double > &orPostions, bool iIsFromUniformAxis=true)=0
virtual Int32 GetUniformXAxisHeight(Int32 iXAxisLength, Int32 iMetricIndex=-1, bool iIsForSecondaryAxis=false)=0
Int32 mShapeType
Definition: Chart.h:146
virtual void SetEntireness(bool iIsEntireChart)=0
virtual bool ShouldAdjustValueAxis(Int32 iWidth, Int32 iHeight, double &irAdjustedValue, bool iIsForPefectPadding=false)=0
virtual void GetStaggerLabelEndLevel(Int32 &orLabelEndLevel)=0
virtual void OnSwipingInZoom(Int32 iX, Int32 iY)=0
virtual Int32 GetDataGroup(bool &orIgnoreForNoSeriesOrGroup) const =0
virtual void OnZooming(Int32 iOldStart, Int32 iOldEnd, Int32 iNewStart, Int32 iNewEnd, bool iIsVertical)=0
virtual void HighlightOrHideOneObject(const TripleId irTripleId, bool iIsHide)=0
virtual void EnterDuplicateMode()=0
virtual void ExitGrayoutMode()=0
Exit gray out mode.
virtual int GetNumOfSelectedObjects()=0
Hierachical one, we will use it to populate row/column tree in dataset LATER.
Definition: Chart.h:32
virtual Dataset::Ptr GetData()=0
virtual void SetStaggerLabelStartLevel(Int32 irLabelStartLevel)=0
virtual void SetFontScale(double iRatio=1.0)=0
virtual Int32 GetUniformYAxisWidth(Int32 iYAxisLength, Int32 iMetricIndex=-1, bool iIsForSecondaryAxis=false)=0
virtual bool GetRowAndColumnIndexByCoords(int iX, int iY, int &orRowIndex, int &orColumnIndex, bool iIsDataCellOnly, int iDistance=-1)=0
virtual Tooltip * CreateToolTipBySeriesAndGroup(Int32 iSeriesID, Int32 iGroupID, bool iPersistent=false)=0
std::map< Int32, std::pair< double, double > > mValueAxisScaleSet
Definition: Chart.h:38
virtual bool AddToSelectionList(const TripleId &iObject)=0
virtual void GetAllGraphObjectInfo(std::vector< CGRect > &iAllGraphObjectsBorder, std::vector< MsiChart::TripleId > &iAllGraphObjectsTripleId)=0
virtual bool IsZeroBaseLineQualified(bool iIsXAxis, bool isSecondaryAxis)=0
virtual void GetSOByLassoSelection(std::vector< std::pair< int, int > > &iObjects)=0
Get Selected Objects by Lasso Selections.
virtual bool RemoveFromSelectionList(const TripleId &iObject)=0
virtual bool GetDataAreaPadding(std::vector< double > &orPaddings)=0
virtual void HideAxisElements(bool iHide)=0
virtual void EnableTimeSeriesChart(bool iIsTimeSeriesChart)=0
virtual void EnterGrayoutMode()=0
Enter gray out mode.
#define CHARTENGINE_API
Definition: Dataset.h:22
virtual bool GetPositionById(Int32 iSeriesId, Int32 iGroupId, Int32 &orX, Int32 &orY)=0
virtual void ResetAnimationState()=0
virtual Int32 CreateTooltipByObject(TripleId *ipSelectionList, Int32 iNum, std::vector< Tooltip *> &orTooltips, bool iPersistent=false)=0
CHARTENGINE_API FormatManager::Ptr CreateFormatManager(DSSRWGridIterator *ipIterator)
virtual void EnableAnimation(bool iUseAnimation)=0
virtual bool IsDrillableLabelAtCoords(int iX, int iY, std::string &orLinkURL)=0
virtual void SetCategoryAxisLabelInterval(Int32 irLabelInterval)=0
old style supported by CE
Definition: Chart.h:30
virtual bool CanShowTooltipById(TripleId &irId) const =0
virtual void EnableUniformAxis(GraphMatrixMinMaxInfo yMinMaxInfo, GraphMatrixMinMaxInfo xMinMaxInfo, GraphMatrixMinMaxInfo zMinMaxInfo, Int32 iGraphHeight, GraphMatrixMinMaxInfo y2MinMaxInfo=std::make_pair(-1, std::make_pair(0.0, 0.0)), GraphMatrixMinMaxInfo x2MinMaxInfo=std::make_pair(-1, std::make_pair(0.0, 0.0)))=0
TripleId mSelectedId
Definition: Chart.h:145
GenericInputType
Definition: Chart.h:28
virtual Int32 GetLastGroupId()=0
virtual Int32 GetCategoryAxisLabelInterval()=0
Definition: Dataset.h:198
virtual void HighlightSelectedInInit(std::vector< std::pair< Int32, Int32 > > &iSelectedSeriesAndColumns)=0
Highlight selected object when the graph document is opened.
virtual void DeviceToVirtualPoint(Int32 &iorX, Int32 &iorY) const =0
virtual void SetTemplateNodeKey(const std::string &irKey)=0
virtual Int32 GetSeriesColorFromPalette(Int32 iIndex)=0
virtual void DisableAnimationForZoom(bool iDisableAnimation)=0
virtual Int32 GetAxisLabelRotaion(bool iIsXAxis)=0
virtual bool IsIsolatedDotInLine(const TripleId &irId)=0
virtual bool GetHoveredLineObject(TripleId &orHoveredLineObject, Int32 iIndex=0)=0
virtual void HighlightSelectedObject(bool iHighlight, bool iIsForLassoSelction=false)=0
Highlight selected object.
virtual Int32 GetDataAreaSplitY() const =0
virtual unsigned Int32 GetToolTipByCoords(Int32 iX, Int32 iY, std::vector< Tooltip *> &orTooltips, bool iPersistent=false)=0
virtual bool GetToolTipDataString(Int32 iSeriesID, Int32 iGroupID, MBase::String &orDataString, Int32 iOffset=0)=0
virtual bool GetToolTipData(Int32 iSeriesID, Int32 iGroupID, double &orValue, double &orPercentValue, Int32 iOffset=0)=0
virtual bool OnRectangleSelection(Int32 iLeft, Int32 iTop, Int32 iWidth, Int32 iHeight, bool iSmartSelection, TripleId *&orpSelectionList, Int32 &oNum)=0
virtual void SetXAxisLogicalRange(double iXLogicalStart, double iXLogicalEnd)=0
CHARTENGINE_API Chart * CreateChartFromRawDataAndGDF(const char *ipDataFileName, const char *ipGDFFileName, GenericInputType iType=PLAIN_LABEL_SEPERATION_FORMAT)
virtual Int32 GetIntervalSpace(bool iIsXAxis)=0
virtual Int32 GetGraphHeight() const =0
#define Int32
Definition: BasicTypes.h:20
std::pair< int, std::pair< double, double > > GraphMatrixMinMaxInfo
Definition: Chart.h:48
virtual void RefreshGraphMatrixContext()=0
virtual bool GetGroupSpace(std::vector< Int32 > &orVect, Int32 iGroupIndex, bool iIsLegned=false)=0
virtual double GetPositionAtTick(double iTickValue, bool iIsForXAxis, Int32 iGraphDimentionLength)=0
EnumGraphTooltipStyle
Definition: Chart.h:41
virtual void SetCurrentGraphFrame(Int32 iX, Int32 iY, Int32 iWidth, Int32 iHeight)=0
virtual void SetChartComponent(Int32 iChartComponent)=0
virtual void SetUniformAxisMargins(short iLeftMargin, short iRightMargin, short iTopMargin, short iBottomMargin, bool iIsForSecondaryAxis=false)=0
virtual void ExitDuplicateMode()=0
virtual void GetAxisNumberFormat(CComVariant *opValue) const =0
virtual void ClearSelectionList()=0
virtual bool GetPrimaryDataString(Int32 iSeriesID, Int32 iGroupID, MBase::String &orDataString, bool iIsForColor, Int32 iSizebyIndex=0)=0
virtual bool GetNearestObject(Int32 iX, Int32 iY, const std::vector< Int32 > &irObjectIds, Int32 iRadius, TripleId &orNearestTripleId, int *opNearestDistance=NULL)=0
virtual void GetHighlightObjects(std::vector< std::pair< Int32, Int32 > > &orHighlightObjects) const =0
virtual Int32 GetMaxElementRadius(Int32 iWidth, Int32 iHeight, bool iIsPerfectPadding=false)=0
virtual Int32 GetGraphWidth() const =0
virtual void SetGMCEContext(void *iGMCEContext)=0
virtual bool ShouldRotateDataLabel(Int32 iWidth, Int32 iHeight, bool iIsForPefectPadding=false)=0
CHARTENGINE_API Chart * CreateChartFromFormatManager(Dataset::Ptr iDatasetPtr, FormatManager::Ptr iFormatManagerPtr, const char *ipGDFFileName=NULL, bool iForceGraph=false)
virtual void SetGraphType(short iGraphType)=0
virtual int ApplySelectedObjects(Int32 iX, Int32 iY, std::vector< Point2D > &iPoints, Point2D &ioPoint)=0
virtual void DrawDataAreaForUniformAxis(CGContext *ipCGContext, Int32 iWidth, Int32 iHeight)=0
virtual void DrawUniformYAxis(CGContext *ipCGContext, Int32 iWidth, Int32 iHeight, bool iIsForSecondaryAxis=false)=0
virtual void GetGraphType(short &orGraphType)=0
virtual bool SaveImageToFile(Int32 iWidth, Int32 iHeight, Int32 iFormat, const char *ipFilename)=0
General image usage.
Definition: Common.h:325
virtual bool ClearOneHighlightObject(MsiChart::TripleId iTripleId)=0
MBase::StrongPtr< Chart, MBase::DeleteOperatorGeneric< Chart > > ChartPtr
Definition: Chart.h:1032
virtual bool IsGrayoutMode() const =0
is gray out mode
virtual void DrawUniformXAxis(CGContext *ipCGContext, Int32 iWidth, Int32 iHeight, bool iIsForSecondaryAxis=false)=0
Definition: StrongPtr.h:50
std::basic_string< WCHAR, std::char_traits< WCHAR >, Allocator< WCHAR > > String
Definition: BaseString.h:26
virtual bool OnPointDetection(Int32 iX, Int32 iY, bool iSmartSelection, TripleId &orSelectedObject)=0
AE style.
Definition: Chart.h:31
virtual void SetShowNumbericTicks(std::set< double > &irTicksSet, bool iIsForXAxis)=0
virtual Int32 GetChartAreaId(const TripleId &iObject)=0
virtual int GetDataPointForUIMenu(Int32 iX, Int32 iY, Tooltip &ioTooltip, bool iLSMode=false)=0
SelectedInfo()
Definition: Chart.h:141
virtual bool IsInSelectionList(const TripleId &iObject)=0
std::vector< AreaRec * > ImageMap
Definition: ImageMap.h:99
virtual void RefreshOnDataChange()=0
virtual bool IsDataEnough()=0
Check whether the data is enough for selected graph type.
virtual bool OnHover(Int32 iX, Int32 iY)=0
virtual void SetTextAsShape(bool iFlag)=0
virtual void cleanDataSet()=0
virtual float GetMemoryUsageEstimation()=0
Get memory usage estimation before drawing.
virtual void DisposeSelectionList(TripleId *ipSelectionList)=0
virtual void SetGridGraphViewer(void *ipGridGraphViewer)=0
virtual void SetTimeSeriesIntegrity(Int32 iIntegrity)=0
virtual void EnableMicroChart(bool iIsMicroChart)=0
virtual void SetData(Dataset::Ptr iDatasetPtr)=0
virtual bool GetAllObjectsWithInDistance(Int32 iX, Int32 iY, const std::vector< Int32 > &irObjectIds, Int32 iRadius, std::vector< SelectedInfo > &orNearObjects, std::vector< Int32 > &orDistance)=0
virtual bool SaveImageToMemory(Int32 iWidth, Int32 iHeight, Int32 iFormat, char *&oprMemory, unsigned Int32 &oSize)=0
Dataset::Ptr mDatasetPtr
Definition: Chart.h:37
virtual bool GetNearestObjectForGMCombo(Int32 iX, Int32 iY, const std::vector< Int32 > &irObjectIds, Int32 iRadius, TripleId &orNearestTripleId, int *opNearestDistance)=0
virtual void GetShownNumericTicks(std::set< double > &orTicksSet, bool iIsForXAxis)=0
virtual bool GetPrimaryDataStringForPie(Int32 iSeriesId, Int32 iGroupID, MBase::String &orDataString, bool iIsForColor, Int32 iColumnOffset=0, bool isPercentValue=false, Int32 iAngleIndex=-3, Int32 iSlcieIndex=-3)=0
virtual void SetTemplateNode(DSSRWTemplateNode *ipTemplateNode)=0
virtual void OnSwipingOutOfZoom(Int32 iOffset)=0
virtual void SetIsCategoryXAxisForPartialRendering(bool isForPartialRendering)=0
Definition: Msi_ccomvariant.h:24
virtual bool SaveImageToCGContext(CGContext *ipCGContext, Int32 iWidth, Int32 iHeight, bool iShowValueAxis=true, Int32 iImageUsage=IU_GENERAL)=0
virtual void SetDataAreaSplitX(Int32 iXCoord)=0
Definition: ChartCanvas.h:39
virtual void AllocSelectionList(TripleId *&orpSelectionList, Int32 &oNum)=0
virtual bool GetHoveredObject(TripleId &orHoveredObject, Int32 iIndex=0)=0
virtual Int32 LayoutAxis(bool iIsXAxis, bool iIsRotated, Int32 &orMaxLabelSpace)=0
virtual void OnZoomingByGroupRange(double iStartGroup, double iEndGroup)=0
virtual bool GetSpaceAt(std::vector< Int32 > &orVect, const TripleId &irObjectId)=0
virtual bool IsDuplicateMode() const =0
virtual void SetChartOffset(Int32 iXOffset, Int32 iYOffset)=0
virtual void SetAnimationDuration(double iSeconds)=0
virtual bool IsIsolatedDot(const TripleId &irId)=0
virtual Int32 GetCachedMaxElementSize()=0
Definition: ChartContext.h:313
#define NULL
Definition: Null.h:10
std::vector< std::pair< std::string, std::string > > GraphTooltipDataProvider
Definition: Chart.h:47
virtual void VirtualToDevicePoint(Int32 &iorX, Int32 &iorY) const =0
virtual void EnableGraphMatrix(bool iIsGraphMatrix)=0
virtual void EnableVoiceOver(bool iIsVoiceOverMode)=0
virtual void SetFormatManager(FormatManager::Ptr iFormatManagerPtr)=0
Set a new FormatManager to current chart.
virtual void EnableVIDocument(bool iIsVIDocument)=0
virtual void GetUniformAxisMargins(short &orLeftMargin, short &orRightMargin, short &orTopMargin, short &orBottomMargin, bool iIsForSecondaryAxis=false)=0
virtual bool PlainDraw(Int32 iWidth, Int32 iHeight)=0
virtual void SetCGContext(CGContext *ipCGContext)=0
virtual bool GenerateImageMap(Int32 iWidth, Int32 iHeight, ImageMap &oImageMap)=0
bool mIsIsolatedDot
Definition: Chart.h:147
virtual void SetAdvancedChartTypeSupport(bool iAdvancedChartTypeSupport)=0
virtual void ResetGroupRangeAndAxesState(Int32 iBeginGroup, Int32 iEndGroup)=0