Describes minimum required functionality from ForexChart control.
You can find more information in comments below. Overrided methods can be found in corresponding base interface.
class IForexChart :public virtual IControl
{
public:
class IForexChartData // Describes forex data
{
public:
virtual int getCount() = 0; // Return count of points
virtual const CDateTime &getDateTime(const int index) const = 0; // Return datetime of specified point
virtual float getOpen(const int index) = 0; // Return open value of specified point
virtual float getClose(const int index) = 0; // Return close value of specified point
virtual float getMin(const int index) = 0; // Return minimim value of specified point
virtual float getMax(const int index) = 0; // Return maximum value of specified point
virtual String getXLabel(const double x, const String &default_label) = 0; // Return X-axis label for specified point or default one
virtual String getYLabel(const double y, const String &default_label) = 0; // Return Y-axis label for specified point or default one
virtual bool setDateTime(const int index, const CDateTime &value) = 0; // Set datetime of specified point
virtual bool setOpen(const int index, const float value) = 0; // Set open value of specified point
virtual bool setClose(const int index, const float value) = 0; // Set close value of specified point
virtual bool setMin(const int index, const float value) = 0; // Set minimum value of specified point
virtual bool setMax(const int index, const float value) = 0; // Set maximum value of specified point
virtual void Release() = 0; // Destroy
virtual IForexChartData *Clone() = 0; // Create a copy
virtual bool Add(const CDateTime &datetime, const float open, const float close, const float min, const float max) = 0; // Add point
virtual bool Delete(const int index) = 0; // Delete specified point
virtual bool Clear() = 0; // Delete all points
};
public:
void(*OnHoverPoint)(IForexChart *sender, const int index); // Event called when point appears under mouse pointer
void(*OnLeavePoint)(IForexChart *sender); // Event called when there were point below mouse point and now no new point is below mouse pointer. Do not called when one point becomes unhovered and another becomes hovered. In the last case only OnHoverPoint will be called
virtual PointD getXRange() = 0; // Return range in X-direction in global coordinate space represented on client area of control
virtual PointD getYRange() = 0; // Return range in Y-direction in global coordinate space represented on client area of control
virtual PointB getAutoRange() = 0; // Return whether ranges in X and Y directions should be calculated automatically to represent entire data of the dataset assigned to a widget
virtual IForexChartData *getData() = 0; // Return assigned data
virtual bool setXRange(const PointD &value) = 0; // Set range in X-direction in global coordinate space represented on client area of control. It also cancels automatical range calculation in X direction
virtual bool setYRange(const PointD &value) = 0; // Set range in Y-direction in global coordinate space represented on client area of control. It also cancels automatical range calculation in Y direction
virtual bool setAutoRange(const PointB &value) = 0; // Set whether ranges in X and Y directions should be calculated automatically(to represent entire data of the dataset assigned to a widget)
virtual bool setData(IForexChartData *value, const bool release_old) = 0; // Assign new data. If release_old is set to true then existing data will be destroyed first
virtual void Update() = 0; // Update widget. Should be called after updating data to refresh a widget
};
Namespace: | nitisa::charts |
Include: | Charts/Controls/IForexChart.h |