You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
188 lines
6.6 KiB
C++
188 lines
6.6 KiB
C++
// XTPChartSeriesStyle.h
|
|
//
|
|
// This file is a part of the XTREME TOOLKIT PRO MFC class library.
|
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
|
//
|
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
|
// CONSENT OF CODEJOCK SOFTWARE.
|
|
//
|
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
|
// SINGLE COMPUTER.
|
|
//
|
|
// CONTACT INFORMATION:
|
|
// support@codejock.com
|
|
// http://www.codejock.com
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
#if !defined(__XTPCHARTSERIESSTYLE_H__)
|
|
#define __XTPCHARTSERIESSTYLE_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
|
|
class CXTPChartDiagram;
|
|
class CXTPChartSeriesLabel;
|
|
class CXTPChartSeriesView;
|
|
class CXTPChartSeries;
|
|
class CXTPChartDiagramView;
|
|
class CXTPChartAxis;
|
|
class CXTPChartSeriesStyleAppearance;
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// CXTPChartSeriesStyle is CXTPChartElement derived class, represents base class for all Styles for the Chart.
|
|
// Remarks:
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPChartSeriesStyle : public CXTPChartElement
|
|
{
|
|
DECLARE_DYNAMIC(CXTPChartSeriesStyle)
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Constructs a CXTPChartSeriesStyle object.
|
|
// Remarks:
|
|
//-----------------------------------------------------------------------
|
|
CXTPChartSeriesStyle();
|
|
|
|
//-------------------------------------------------------------------------
|
|
// Summary:
|
|
// Destroys a CXTPChartSeriesStyle object, handle cleanup.
|
|
//-------------------------------------------------------------------------
|
|
virtual ~CXTPChartSeriesStyle();
|
|
|
|
public:
|
|
//-------------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to get properties for series label.
|
|
// Returns:
|
|
// Pointer to CXTPChartSeriesLabel that contains properties for label
|
|
//-------------------------------------------------------------------------
|
|
CXTPChartSeriesLabel* GetLabel() const;
|
|
|
|
CXTPChartSeriesLabel* SetLabel(CXTPChartSeriesLabel* pLabel);
|
|
|
|
public:
|
|
//-------------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is called to allow style create diagram object
|
|
// Returns:
|
|
// New diagram object that will contain series.
|
|
//-------------------------------------------------------------------------
|
|
virtual CXTPChartDiagram* CreateDiagram();
|
|
|
|
//-------------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is called to ask style if series can be inserted in existing diagram
|
|
// Parameters:
|
|
// pDiagram - Diagram to check
|
|
// Returns:
|
|
// TRUE if Series can be inserted to Diagram
|
|
//-------------------------------------------------------------------------
|
|
virtual BOOL IsStyleDiagram(CXTPChartDiagram* pDiagram) const;
|
|
|
|
//-------------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to get color assigned to this series
|
|
// Returns:
|
|
// Color that was assigned to this style of CXTPChartColor::Empty if appearance color should be used
|
|
//-------------------------------------------------------------------------
|
|
CXTPChartColor GetColor() const;
|
|
|
|
//-------------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to set color of the series
|
|
// Parameters:
|
|
// clr - New Color to be set. It can be CXTPChartColor::Empty to use default appearance color.
|
|
//-------------------------------------------------------------------------
|
|
void SetColor(CXTPChartColor clr);
|
|
|
|
//-------------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to set individual color for each point of series
|
|
// Parameters:
|
|
// bColorEach - TRUE if individual color should be used for each point of series
|
|
//-------------------------------------------------------------------------
|
|
void SetColorEach(BOOL bColorEach);
|
|
|
|
//-------------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is called to determine if individual color should be used for each point of series
|
|
//-------------------------------------------------------------------------
|
|
BOOL IsColorEach() const;
|
|
|
|
virtual void CorrectAxisSideMargins(CXTPChartAxis* pAxis, double nMinValue, double nMaxValue, double& nCorrection);
|
|
|
|
|
|
virtual CXTPChartSeriesStyleAppearance* GetStyleAppearance() const;
|
|
|
|
public:
|
|
virtual int GetSeriesPointValueIndex() const;
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Reads or writes this object from or to an archive.
|
|
// Parameters:
|
|
// pPX - A CXTPPropExchange object to serialize to or from.
|
|
//----------------------------------------------------------------------
|
|
virtual void DoPropExchange(CXTPPropExchange* pPX);
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This virtual method is called to create new view associated with current style.
|
|
// Parameters:
|
|
// pSeries - Series associated with style
|
|
// pDiagramView - Parent diagram view
|
|
// Returns:
|
|
// Pointer to new CXTPChartSeriesView object.
|
|
//----------------------------------------------------------------------
|
|
virtual CXTPChartSeriesView* CreateView(CXTPChartSeries* pSeries, CXTPChartDiagramView* pDiagramView) = 0;
|
|
|
|
protected:
|
|
|
|
|
|
protected:
|
|
friend class CXTPChartSeries;
|
|
|
|
CXTPChartSeriesLabel* m_pLabel; // Label object
|
|
|
|
CXTPChartColor m_clrColor; // Custom color of series
|
|
|
|
BOOL m_bColorEach; // TRUE to color each point.
|
|
};
|
|
|
|
AFX_INLINE CXTPChartDiagram* CXTPChartSeriesStyle::CreateDiagram() {
|
|
return NULL;
|
|
}
|
|
AFX_INLINE CXTPChartSeriesLabel* CXTPChartSeriesStyle::GetLabel() const {
|
|
return m_pLabel;
|
|
}
|
|
AFX_INLINE CXTPChartColor CXTPChartSeriesStyle::GetColor() const {
|
|
return m_clrColor;
|
|
}
|
|
AFX_INLINE void CXTPChartSeriesStyle::SetColor(CXTPChartColor clr) {
|
|
m_clrColor = clr;
|
|
OnChartChanged();
|
|
}
|
|
AFX_INLINE BOOL CXTPChartSeriesStyle::IsColorEach() const {
|
|
return m_bColorEach;
|
|
}
|
|
AFX_INLINE void CXTPChartSeriesStyle::SetColorEach(BOOL bColorEach) {
|
|
m_bColorEach = bColorEach;
|
|
OnChartChanged();
|
|
}
|
|
AFX_INLINE int CXTPChartSeriesStyle::GetSeriesPointValueIndex() const {
|
|
return 0;
|
|
}
|
|
|
|
#endif //#if !defined(__XTPCHARTSERIESSTYLE_H__)
|