Tabs.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. // This may look like C code, but it's really -*- C++ -*-
  2. /*
  3. * Copyright (C) 2013 Emweb bvba, Leuven, Belgium.
  4. *
  5. * See the LICENSE file for terms of use.
  6. */
  7. #ifndef TABS_H
  8. #define TABS_H
  9. #include <Wt/WContainerWidget>
  10. #include <Wt/WTextArea>
  11. #include <Wt/WLabel>
  12. #include <Wt/WString>
  13. #include <Wt/WLineEdit>
  14. #include <Wt/WCheckBox>
  15. #include <Wt/WComboBox>
  16. #include <Wt/Chart/WCartesian3DChart>
  17. #include <Wt/Chart/WChart3DImplementation>
  18. #include <Wt/Chart/WAbstractDataSeries3D>
  19. #include <Wt/Chart/WGridData>
  20. #include <Wt/Chart/WScatterData>
  21. #include <Wt/WTemplate>
  22. #include <Wt/WStackedWidget>
  23. #include "DataSettings.h"
  24. using namespace Wt;
  25. using namespace Wt::Chart;
  26. class ChartSettings : public WContainerWidget
  27. {
  28. public:
  29. ChartSettings(WCartesian3DChart *chart,
  30. WContainerWidget *parent = 0);
  31. };
  32. class DataSelection : public WContainerWidget
  33. {
  34. public:
  35. DataSelection(WCartesian3DChart *chart);
  36. void addDataToCollection(WString name, WAbstractDataSeries3D* data);
  37. Signal<WAbstractDataSeries3D*>& selectionChanged() { return selectionChange_; }
  38. private:
  39. typedef std::pair<WString, WAbstractDataSeries3D*> DataSelectionItem;
  40. std::vector<DataSelectionItem> dataCollection_;
  41. Signal<WAbstractDataSeries3D*> selectionChange_;
  42. WSelectionBox *notShown;
  43. WSelectionBox *shown;
  44. };
  45. // This class provides all kinds of data-configuration and always shows only one
  46. class DataConfig : public WContainerWidget {
  47. public:
  48. DataConfig(WCartesian3DChart* chart);
  49. void addDataToCollection(WString name, WAbstractDataSeries3D *data);
  50. private:
  51. DataSelection* dataselection_;
  52. NumGridDataSettings *numgriddatasettings_;
  53. CatGridDataSettings *catgriddatasettings_;
  54. ScatterDataSettings *scatterdatasettings_;
  55. };
  56. #endif