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.
137 lines
3.4 KiB
C++
137 lines
3.4 KiB
C++
// XTPChartAxis.cpp
|
|
//
|
|
// 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
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "Common/XTPPropExchange.h"
|
|
|
|
#include "../../XTPChartDefines.h"
|
|
#include "../../Types/XTPChartTypes.h"
|
|
#include "../../XTPChartElement.h"
|
|
#include <Chart/XTPChartLegendItem.h>
|
|
#include "../../XTPChartElementView.h"
|
|
#include "../../XTPChartSeries.h"
|
|
#include <Chart/XTPChartSeriesPointView.h>
|
|
#include "../../XTPChartSeriesView.h"
|
|
#include "../../XTPChartPanel.h"
|
|
#include "../../XTPChartDiagram.h"
|
|
#include "../../Appearance/XTPChartAppearance.h"
|
|
#include "../../Appearance/XTPChartFillStyle.h"
|
|
|
|
#include "../RadarDiagram/XTPChartRadarDiagram.h"
|
|
|
|
#include "XTPChartAxis.h"
|
|
#include "XTPChartAxisView.h"
|
|
#include "XTPChartAxisRange.h"
|
|
#include "XTPChartRadarAxis.h"
|
|
#include "XTPChartRadarAxisView.h"
|
|
#include "XTPChartRadarAxisXView.h"
|
|
#include "XTPChartRadarAxisYView.h"
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// CXTPChartRadarAxisX
|
|
|
|
CXTPChartRadarAxisX::CXTPChartRadarAxisX(CXTPChartRadarDiagram* pDiagram)
|
|
: CXTPChartAxis(pDiagram)
|
|
{
|
|
m_nMinorCount = 4;
|
|
|
|
m_bInterlaced = TRUE;
|
|
|
|
m_pRange->SetSideMargins(FALSE);
|
|
m_pRange->SetShowZeroLevel(FALSE);
|
|
}
|
|
|
|
|
|
BOOL CXTPChartRadarAxisX::IsVertical() const
|
|
{
|
|
return FALSE;
|
|
}
|
|
|
|
BOOL CXTPChartRadarAxisX::IsValuesAxis() const
|
|
{
|
|
return FALSE;
|
|
}
|
|
|
|
double CXTPChartRadarAxisX::CalcSideMarginsValue(double nMinValue, double nMaxValue) const
|
|
{
|
|
if (m_nScaleType == xtpChartScaleNumerical)
|
|
return (nMaxValue - nMinValue) / 15.0;
|
|
return 0.5;
|
|
}
|
|
|
|
|
|
CXTPChartAxisView* CXTPChartRadarAxisX::CreateView(CXTPChartDeviceContext* pDC, CXTPChartElementView* pParentView)
|
|
{
|
|
UNREFERENCED_PARAMETER(pDC);
|
|
|
|
CXTPChartRadarAxisXView* pView = new CXTPChartRadarAxisXView(this, pParentView);
|
|
|
|
return pView;
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// CXTPChartRadarAxisY
|
|
|
|
CXTPChartRadarAxisY::CXTPChartRadarAxisY(CXTPChartRadarDiagram* pDiagram)
|
|
: CXTPChartAxis(pDiagram)
|
|
{
|
|
m_nMinorCount = 2;
|
|
|
|
m_pRange->SetShowZeroLevel(TRUE);
|
|
}
|
|
|
|
|
|
BOOL CXTPChartRadarAxisY::IsVertical() const
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
BOOL CXTPChartRadarAxisY::IsValuesAxis() const
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
double CXTPChartRadarAxisY::CalcSideMarginsValue(double nMinValue, double nMaxValue) const
|
|
{
|
|
if (m_nScaleType != xtpChartScaleNumerical)
|
|
return 0.5;
|
|
|
|
double delta;
|
|
if (nMinValue > 0 && nMaxValue > 0)
|
|
delta = nMaxValue;
|
|
else if (nMinValue < 0 && nMaxValue < 0)
|
|
delta = -nMinValue;
|
|
else
|
|
delta = nMaxValue - nMinValue;
|
|
|
|
return delta / 10.0;
|
|
}
|
|
|
|
CXTPChartAxisView* CXTPChartRadarAxisY::CreateView(CXTPChartDeviceContext* pDC, CXTPChartElementView* pParentView)
|
|
{
|
|
UNREFERENCED_PARAMETER(pDC);
|
|
|
|
CXTPChartRadarAxisYView* pView = new CXTPChartRadarAxisYView(this, pParentView);
|
|
|
|
return pView;
|
|
}
|