GoogleChart.
Dependents: GoogleChart_TestProgram
GoogleChart.h@0:ded8a44ff71f, 2010-08-17 (annotated)
- Committer:
- shintamainjp
- Date:
- Tue Aug 17 09:21:55 2010 +0000
- Revision:
- 0:ded8a44ff71f
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shintamainjp | 0:ded8a44ff71f | 1 | /** |
shintamainjp | 0:ded8a44ff71f | 2 | * GoogleChart API interface driver. (Version 0.0.1) |
shintamainjp | 0:ded8a44ff71f | 3 | * |
shintamainjp | 0:ded8a44ff71f | 4 | * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems) |
shintamainjp | 0:ded8a44ff71f | 5 | * http://shinta.main.jp/ |
shintamainjp | 0:ded8a44ff71f | 6 | */ |
shintamainjp | 0:ded8a44ff71f | 7 | |
shintamainjp | 0:ded8a44ff71f | 8 | #ifndef _GOOGLE_CHART_H_ |
shintamainjp | 0:ded8a44ff71f | 9 | #define _GOOGLE_CHART_H_ |
shintamainjp | 0:ded8a44ff71f | 10 | |
shintamainjp | 0:ded8a44ff71f | 11 | #include <string.h> |
shintamainjp | 0:ded8a44ff71f | 12 | #include <string> |
shintamainjp | 0:ded8a44ff71f | 13 | #include <ctype.h> |
shintamainjp | 0:ded8a44ff71f | 14 | |
shintamainjp | 0:ded8a44ff71f | 15 | #include <mbed.h> |
shintamainjp | 0:ded8a44ff71f | 16 | |
shintamainjp | 0:ded8a44ff71f | 17 | #include "Axis.h" |
shintamainjp | 0:ded8a44ff71f | 18 | #include "DataSet.h" |
shintamainjp | 0:ded8a44ff71f | 19 | |
shintamainjp | 0:ded8a44ff71f | 20 | class GoogleChart { |
shintamainjp | 0:ded8a44ff71f | 21 | public: |
shintamainjp | 0:ded8a44ff71f | 22 | |
shintamainjp | 0:ded8a44ff71f | 23 | GoogleChart(); |
shintamainjp | 0:ded8a44ff71f | 24 | virtual ~GoogleChart(); |
shintamainjp | 0:ded8a44ff71f | 25 | |
shintamainjp | 0:ded8a44ff71f | 26 | virtual std::string toString() = 0; |
shintamainjp | 0:ded8a44ff71f | 27 | |
shintamainjp | 0:ded8a44ff71f | 28 | int addNewAxis(Axis::Type type = Axis::Bottom); |
shintamainjp | 0:ded8a44ff71f | 29 | int setAxisType(const int number, Axis::Type type); |
shintamainjp | 0:ded8a44ff71f | 30 | int setAxisRange(const int number, int rangeStart, int rangeEnd); |
shintamainjp | 0:ded8a44ff71f | 31 | int removeAxis(const int number); |
shintamainjp | 0:ded8a44ff71f | 32 | |
shintamainjp | 0:ded8a44ff71f | 33 | int addNewDataSet(std::string label, const int size); |
shintamainjp | 0:ded8a44ff71f | 34 | int removeDataSet(const int number); |
shintamainjp | 0:ded8a44ff71f | 35 | int addData(const int number, double data); |
shintamainjp | 0:ded8a44ff71f | 36 | int clearAllData(const int number); |
shintamainjp | 0:ded8a44ff71f | 37 | int setDataScale(const int number, int min, int max); |
shintamainjp | 0:ded8a44ff71f | 38 | |
shintamainjp | 0:ded8a44ff71f | 39 | void setTitle(std::string title); |
shintamainjp | 0:ded8a44ff71f | 40 | std::string getTitle() const; |
shintamainjp | 0:ded8a44ff71f | 41 | void setWidth(int width); |
shintamainjp | 0:ded8a44ff71f | 42 | int getWidth() const; |
shintamainjp | 0:ded8a44ff71f | 43 | void setHeight(int height); |
shintamainjp | 0:ded8a44ff71f | 44 | int getHeight() const; |
shintamainjp | 0:ded8a44ff71f | 45 | |
shintamainjp | 0:ded8a44ff71f | 46 | protected: |
shintamainjp | 0:ded8a44ff71f | 47 | static const std::string baseURL; |
shintamainjp | 0:ded8a44ff71f | 48 | std::string title; |
shintamainjp | 0:ded8a44ff71f | 49 | int width; |
shintamainjp | 0:ded8a44ff71f | 50 | int height; |
shintamainjp | 0:ded8a44ff71f | 51 | |
shintamainjp | 0:ded8a44ff71f | 52 | static const int MAX_AXIS = 16; |
shintamainjp | 0:ded8a44ff71f | 53 | Axis *axislist[MAX_AXIS]; |
shintamainjp | 0:ded8a44ff71f | 54 | |
shintamainjp | 0:ded8a44ff71f | 55 | static const int MAX_DATA = 16; |
shintamainjp | 0:ded8a44ff71f | 56 | DataSet *datalist[MAX_DATA]; |
shintamainjp | 0:ded8a44ff71f | 57 | |
shintamainjp | 0:ded8a44ff71f | 58 | typedef enum { |
shintamainjp | 0:ded8a44ff71f | 59 | LineChart |
shintamainjp | 0:ded8a44ff71f | 60 | } ChartType; |
shintamainjp | 0:ded8a44ff71f | 61 | |
shintamainjp | 0:ded8a44ff71f | 62 | static std::string toURL(std::string text); |
shintamainjp | 0:ded8a44ff71f | 63 | |
shintamainjp | 0:ded8a44ff71f | 64 | static std::string paramChartType(ChartType chartType); |
shintamainjp | 0:ded8a44ff71f | 65 | static std::string paramAxis(Axis **list, int size); |
shintamainjp | 0:ded8a44ff71f | 66 | static std::string paramDataSet(DataSet **list, int size); |
shintamainjp | 0:ded8a44ff71f | 67 | static std::string paramTitle(std::string title, int color, double fontSize); |
shintamainjp | 0:ded8a44ff71f | 68 | static std::string paramSize(int width, int height); |
shintamainjp | 0:ded8a44ff71f | 69 | }; |
shintamainjp | 0:ded8a44ff71f | 70 | |
shintamainjp | 0:ded8a44ff71f | 71 | #endif |